Skip to content
Snippets Groups Projects
Commit f9f1a16f authored by Jakob Severin Steffensen Hjelseth's avatar Jakob Severin Steffensen Hjelseth
Browse files

Merge branch '25-feilhandtering' into 'dev'

Resolve "Feilhåndtering"

See merge request !54
parents 2fc0d819 791b219f
No related branches found
No related tags found
2 merge requests!55Dev,!54Resolve "Feilhåndtering"
......@@ -100,7 +100,7 @@
<p>Choose a name for the new buffer:</p>
<input id="bufferName"><br>
<p>Do you want to dissolve the layers? <input type="checkbox" id="bufferCheck"></p>
<p>Do you want to dissolve the buffers? <input type="checkbox" id="bufferCheck"></p>
<button class="button" style="font-size: 25px;" onclick="makeBuffer()">Make buffer</button>
</div>
......@@ -115,7 +115,7 @@
</svg>
</div>
<p>Which layer do you want to remove features from:</p>
<p>Which layer do you want to remove areas from:</p>
<select id="differenceSelect_1"></select>
<p>Which layer do you want to remove from the first one:</p>
......@@ -160,7 +160,7 @@
<select id="extractSelect"></select>
<p>Which feature will you extract to a new layer:</p>
<select id="propertySelect"></select>
<select id="featureSelect"></select>
<p>Which value will you sort out:</p>
<select id="valueSelect"></select>
......
......@@ -4,6 +4,24 @@ https://turfjs.org/docs/
*/
function makeBuffer() {
// Sjekk av faktisk og gyldig input:
var regex_1 = /^[0-9]+$/;
var regex_2 = /^[a-zA-Z_0-9]+$/;
if (document.getElementById("bufferSelect").value == "- - -") {
return alert("You need to choose a layer!");
} else if (!document.getElementById("bufferDistance").value) {
return alert("You need to set a distance as an integer!");
} else if (!document.getElementById("bufferDistance").value.match(regex_1)) {
return alert("You need to set a distance as an integer!");
} else if (!document.getElementById("bufferName").value) {
return alert("You need to choose a name for the new layer!");
} else if (!document.getElementById("bufferName").value.match(regex_2)) {
return alert("The new name must consist of normal letters!");
}
var input = document.getElementById("bufferSelect").value;
var layer = overlayMaps[input].toGeoJSON();
var distance = parseFloat(document.getElementById("bufferDistance").value);
......
function difference() {
// Sjekk av faktisk og gyldig input:
var regex = /^[a-zA-Z_0-9]+$/;
if (document.getElementById("differenceSelect_1").value == "- - -") {
return alert("You need to choose the first layer!");
} else if (document.getElementById("differenceSelect_2").value == "- - -") {
return alert("You need to choose the second layer!");
} else if (!document.getElementById("differenceName").value) {
return alert("You need to choose a name for the new layer!");
} else if (!document.getElementById("differenceName").value.match(regex)) {
return alert("The new name must consist of normal letters!");
}
var input1 = document.getElementById("differenceSelect_1").value;
var layer1 = overlayMaps[input1].toGeoJSON();
var input2 = document.getElementById("differenceSelect_2").value;
......
function dissolve() {
// Sjekk av faktisk og gyldig input:
var regex = /^[a-zA-Z_0-9]+$/;
if (document.getElementById("dissolveSelect").value == "- - -") {
return alert("You need to choose a layer!");
} else if (!document.getElementById("dissolveName").value) {
return alert("You need to choose a name for the new layer!");
} else if (!document.getElementById("dissolveName").value.match(regex)) {
return alert("The new name must consist of normal letters!");
}
var input = document.getElementById("dissolveSelect").value;
var layer = overlayMaps[input].toGeoJSON();
var name = document.getElementById("dissolveName").value;
......
......@@ -2,7 +2,7 @@ document.getElementById("extractSelect").addEventListener("change", () => {
var input = document.getElementById("extractSelect").value;
if (input == "- - -") {
var select = document.getElementById("propertySelect");
var select = document.getElementById("featureSelect");
select.innerHTML = "";
select.add(new Option(text="- - -"));
} else {
......@@ -18,7 +18,7 @@ document.getElementById("extractSelect").addEventListener("change", () => {
}
}
var select = document.getElementById("propertySelect");
var select = document.getElementById("featureSelect");
select.innerHTML = "";
select.add(new Option(text="- - -"));
......@@ -28,7 +28,7 @@ document.getElementById("extractSelect").addEventListener("change", () => {
}
})
document.getElementById("propertySelect").addEventListener("change", () => {
document.getElementById("featureSelect").addEventListener("change", () => {
var input = document.getElementById("extractSelect").value;
if (input == "- - -") {
......@@ -37,7 +37,7 @@ document.getElementById("propertySelect").addEventListener("change", () => {
select.add(new Option(text="- - -"));
} else {
var layer = overlayMaps[input].toGeoJSON();
var property = document.getElementById("propertySelect").value;
var property = document.getElementById("featureSelect").value;
var values = [];
......@@ -58,9 +58,26 @@ document.getElementById("propertySelect").addEventListener("change", () => {
})
function extract() {
// Sjekk av faktisk og gyldig input:
var regex = /^[a-zA-Z_0-9]+$/;
if (document.getElementById("extractSelect").value == "- - -") {
return alert("You need to choose a layer!");
} else if (document.getElementById("featureSelect").value == "- - -") {
return alert("You need to choose a feature!");
} else if (document.getElementById("valueSelect").value == "- - -") {
return alert("You need to choose a value!");
} else if (!document.getElementById("extractName").value) {
return alert("You need to choose a name for the new layer!");
} else if (!document.getElementById("extractName").value.match(regex)) {
return alert("The new name must consist of normal letters!");
}
var input = document.getElementById("extractSelect").value;
var layer = overlayMaps[input].toGeoJSON();
var property = document.getElementById("propertySelect").value;
var property = document.getElementById("featureSelect").value;
var value = document.getElementById("valueSelect").value;
var name = document.getElementById("extractName").value;
......@@ -90,7 +107,7 @@ function extract() {
function resetInput() {
fillSelect("extractSelect");
var select = document.getElementById("propertySelect");
var select = document.getElementById("featureSelect");
select.innerHTML = "";
var select = document.getElementById("valueSelect");
......
function intersection() {
// Sjekk av faktisk og gyldig input:
var regex = /^[a-zA-Z_0-9]+$/;
if (document.getElementById("intersectionSelect_1").value == "- - -") {
return alert("You need to choose the first layer!");
} else if (document.getElementById("intersectionSelect_2").value == "- - -") {
return alert("You need to choose the secondt layer!");
} else if (!document.getElementById("intersectionName").value) {
return alert("You need to choose a name for the new layer!");
} else if (!document.getElementById("intersectionName").value.match(regex)) {
return alert("The new name must consist of normal letters!");
}
var input1 = document.getElementById("intersectionSelect_1").value;
var layer1 = overlayMaps[input1].toGeoJSON();
var input2 = document.getElementById("intersectionSelect_2").value;
......
function union() {
// Sjekk av faktisk og gyldig input:
var regex = /^[a-zA-Z_0-9]+$/;
if (document.getElementById("unionSelect_1").value == "- - -") {
return alert("You need to choose the first layer!");
} else if (document.getElementById("unionSelect_2").value == "- - -") {
return alert("You need to choose the secondt layer!");
} else if (!document.getElementById("unionName").value) {
return alert("You need to choose a name for the new layer!");
} else if (!document.getElementById("unionName").value.match(regex)) {
return alert("The new name must consist of normal letters!");
}
var input1 = document.getElementById("unionSelect_1").value;
var layer1 = overlayMaps[input1].toGeoJSON();
var input2 = document.getElementById("unionSelect_2").value;
......@@ -6,12 +21,9 @@ function union() {
var name = document.getElementById("unionName").value;
// Må konverteres fra feature collection til multipolygon:
var coords1 = featureCollectionToMultiPolygon(layer1);
var coords2 = featureCollectionToMultiPolygon(layer2);
var multiPolygon1 = featureCollectionToMultiPolygon(layer1);
var multiPolygon2 = featureCollectionToMultiPolygon(layer2);
var multiPolygon1 = turf.multiPolygon(coords1);
var multiPolygon2 = turf.multiPolygon(coords2);
try {
var union = turf.union(multiPolygon1, multiPolygon2);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment