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 @@ ...@@ -100,7 +100,7 @@
<p>Choose a name for the new buffer:</p> <p>Choose a name for the new buffer:</p>
<input id="bufferName"><br> <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> <button class="button" style="font-size: 25px;" onclick="makeBuffer()">Make buffer</button>
</div> </div>
...@@ -115,7 +115,7 @@ ...@@ -115,7 +115,7 @@
</svg> </svg>
</div> </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> <select id="differenceSelect_1"></select>
<p>Which layer do you want to remove from the first one:</p> <p>Which layer do you want to remove from the first one:</p>
...@@ -160,7 +160,7 @@ ...@@ -160,7 +160,7 @@
<select id="extractSelect"></select> <select id="extractSelect"></select>
<p>Which feature will you extract to a new layer:</p> <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> <p>Which value will you sort out:</p>
<select id="valueSelect"></select> <select id="valueSelect"></select>
......
...@@ -4,6 +4,24 @@ https://turfjs.org/docs/ ...@@ -4,6 +4,24 @@ https://turfjs.org/docs/
*/ */
function makeBuffer() { 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 input = document.getElementById("bufferSelect").value;
var layer = overlayMaps[input].toGeoJSON(); var layer = overlayMaps[input].toGeoJSON();
var distance = parseFloat(document.getElementById("bufferDistance").value); var distance = parseFloat(document.getElementById("bufferDistance").value);
......
function difference() { 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 input1 = document.getElementById("differenceSelect_1").value;
var layer1 = overlayMaps[input1].toGeoJSON(); var layer1 = overlayMaps[input1].toGeoJSON();
var input2 = document.getElementById("differenceSelect_2").value; var input2 = document.getElementById("differenceSelect_2").value;
......
function dissolve() { 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 input = document.getElementById("dissolveSelect").value;
var layer = overlayMaps[input].toGeoJSON(); var layer = overlayMaps[input].toGeoJSON();
var name = document.getElementById("dissolveName").value; var name = document.getElementById("dissolveName").value;
......
...@@ -2,7 +2,7 @@ document.getElementById("extractSelect").addEventListener("change", () => { ...@@ -2,7 +2,7 @@ document.getElementById("extractSelect").addEventListener("change", () => {
var input = document.getElementById("extractSelect").value; var input = document.getElementById("extractSelect").value;
if (input == "- - -") { if (input == "- - -") {
var select = document.getElementById("propertySelect"); var select = document.getElementById("featureSelect");
select.innerHTML = ""; select.innerHTML = "";
select.add(new Option(text="- - -")); select.add(new Option(text="- - -"));
} else { } else {
...@@ -18,7 +18,7 @@ document.getElementById("extractSelect").addEventListener("change", () => { ...@@ -18,7 +18,7 @@ document.getElementById("extractSelect").addEventListener("change", () => {
} }
} }
var select = document.getElementById("propertySelect"); var select = document.getElementById("featureSelect");
select.innerHTML = ""; select.innerHTML = "";
select.add(new Option(text="- - -")); select.add(new Option(text="- - -"));
...@@ -28,7 +28,7 @@ document.getElementById("extractSelect").addEventListener("change", () => { ...@@ -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; var input = document.getElementById("extractSelect").value;
if (input == "- - -") { if (input == "- - -") {
...@@ -37,7 +37,7 @@ document.getElementById("propertySelect").addEventListener("change", () => { ...@@ -37,7 +37,7 @@ document.getElementById("propertySelect").addEventListener("change", () => {
select.add(new Option(text="- - -")); select.add(new Option(text="- - -"));
} else { } else {
var layer = overlayMaps[input].toGeoJSON(); var layer = overlayMaps[input].toGeoJSON();
var property = document.getElementById("propertySelect").value; var property = document.getElementById("featureSelect").value;
var values = []; var values = [];
...@@ -58,9 +58,26 @@ document.getElementById("propertySelect").addEventListener("change", () => { ...@@ -58,9 +58,26 @@ document.getElementById("propertySelect").addEventListener("change", () => {
}) })
function extract() { 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 input = document.getElementById("extractSelect").value;
var layer = overlayMaps[input].toGeoJSON(); var layer = overlayMaps[input].toGeoJSON();
var property = document.getElementById("propertySelect").value; var property = document.getElementById("featureSelect").value;
var value = document.getElementById("valueSelect").value; var value = document.getElementById("valueSelect").value;
var name = document.getElementById("extractName").value; var name = document.getElementById("extractName").value;
...@@ -90,7 +107,7 @@ function extract() { ...@@ -90,7 +107,7 @@ function extract() {
function resetInput() { function resetInput() {
fillSelect("extractSelect"); fillSelect("extractSelect");
var select = document.getElementById("propertySelect"); var select = document.getElementById("featureSelect");
select.innerHTML = ""; select.innerHTML = "";
var select = document.getElementById("valueSelect"); var select = document.getElementById("valueSelect");
......
function intersection() { 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 input1 = document.getElementById("intersectionSelect_1").value;
var layer1 = overlayMaps[input1].toGeoJSON(); var layer1 = overlayMaps[input1].toGeoJSON();
var input2 = document.getElementById("intersectionSelect_2").value; var input2 = document.getElementById("intersectionSelect_2").value;
......
function union() { 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 input1 = document.getElementById("unionSelect_1").value;
var layer1 = overlayMaps[input1].toGeoJSON(); var layer1 = overlayMaps[input1].toGeoJSON();
var input2 = document.getElementById("unionSelect_2").value; var input2 = document.getElementById("unionSelect_2").value;
...@@ -6,12 +21,9 @@ function union() { ...@@ -6,12 +21,9 @@ function union() {
var name = document.getElementById("unionName").value; var name = document.getElementById("unionName").value;
// Må konverteres fra feature collection til multipolygon: // Må konverteres fra feature collection til multipolygon:
var coords1 = featureCollectionToMultiPolygon(layer1); var multiPolygon1 = featureCollectionToMultiPolygon(layer1);
var coords2 = featureCollectionToMultiPolygon(layer2); var multiPolygon2 = featureCollectionToMultiPolygon(layer2);
var multiPolygon1 = turf.multiPolygon(coords1);
var multiPolygon2 = turf.multiPolygon(coords2);
try { try {
var union = turf.union(multiPolygon1, multiPolygon2); 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