From e4ad0b48701e73a7438024d8d3a0e59e35972a33 Mon Sep 17 00:00:00 2001 From: jshjelse <jshjelse@stud.ntnu.no> Date: Sun, 8 Oct 2023 13:38:41 +0200 Subject: [PATCH 1/2] Fix --- javascript/union.js | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/javascript/union.js b/javascript/union.js index 1e38d20..c3cff44 100644 --- a/javascript/union.js +++ b/javascript/union.js @@ -6,12 +6,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); -- GitLab From 791b219fc966f5016082e37294cc22d8f74fc247 Mon Sep 17 00:00:00 2001 From: jshjelse <jshjelse@stud.ntnu.no> Date: Sun, 8 Oct 2023 18:47:52 +0200 Subject: [PATCH 2/2] =?UTF-8?q?Kontroll=20p=C3=A5=20alle=20operasjoner?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- index.html | 6 +++--- javascript/buffer.js | 18 ++++++++++++++++++ javascript/difference.js | 15 +++++++++++++++ javascript/dissolve.js | 13 +++++++++++++ javascript/extract.js | 29 +++++++++++++++++++++++------ javascript/intersect.js | 15 +++++++++++++++ javascript/union.js | 15 +++++++++++++++ 7 files changed, 102 insertions(+), 9 deletions(-) diff --git a/index.html b/index.html index 3d7cc58..4c8967e 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 63abc67..fe26755 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 6b9f6d3..d0abe02 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 b81f94c..653845c 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 51fdfe2..9ff6b31 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 d04e02d..100fb2a 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 c3cff44..3369f8a 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; -- GitLab