diff --git a/index.html b/index.html index 3d7cc584b81445eb9d17f4603c0a88206866b7ad..4c8967ebdc0fe4a513dbe26974a2481d94aaca90 100644 --- a/index.html +++ b/index.html @@ -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> diff --git a/javascript/buffer.js b/javascript/buffer.js index 63abc6734ead358532a95ed4d57c7835d8e1072c..fe267550ab61577388c9311071b7567da84f98ac 100644 --- a/javascript/buffer.js +++ b/javascript/buffer.js @@ -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); diff --git a/javascript/difference.js b/javascript/difference.js index 6b9f6d3774231022efd6460327791c97b30ddd52..d0abe02bddde7812263520fd624c91643b2fc029 100644 --- a/javascript/difference.js +++ b/javascript/difference.js @@ -1,4 +1,19 @@ 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; diff --git a/javascript/dissolve.js b/javascript/dissolve.js index b81f94cdb64fe9549ba76e6059c5a1b1eb702c2d..653845ca11c6400815f843275d177a5ce8cdb17a 100644 --- a/javascript/dissolve.js +++ b/javascript/dissolve.js @@ -1,4 +1,17 @@ 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; diff --git a/javascript/extract.js b/javascript/extract.js index 51fdfe21e169d4d4794aae405d37f720cb6cd756..9ff6b310acfe1343d478fca10306521a7dbb3271 100644 --- a/javascript/extract.js +++ b/javascript/extract.js @@ -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"); diff --git a/javascript/intersect.js b/javascript/intersect.js index d04e02df4c5fdf6d683b0ddcdc23b517ce2bded8..100fb2aff8772e10dd02c6a1bc16b487aa3628a2 100644 --- a/javascript/intersect.js +++ b/javascript/intersect.js @@ -1,4 +1,19 @@ 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; diff --git a/javascript/union.js b/javascript/union.js index 1e38d208fe5b734cc4dc5653875461a6a431067d..3369f8a1c0bcfe3f0cf48962105709a8cf834166 100644 --- a/javascript/union.js +++ b/javascript/union.js @@ -1,4 +1,19 @@ 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);