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

Starte og nesten i mål

parent b90d07bf
No related branches found
No related tags found
2 merge requests!31From dev into main,!30Resolve "Difference"
......@@ -106,6 +106,17 @@
<path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z"/>
</svg>
</div>
<p>Which layer do you want to remove features from:</p>
<select id="differenceSelect_1"></select>
<p>Which layer do you want to remove from the first one:</p>
<select id="differenceSelect_2"></select>
<p>Choose a name for the new layer:</p>
<input id="differenceName"><br>
<button class="button" style="font-size: 25px;" onclick="difference()">Differ</button>
</div>
<div id="dissolveBox" class="box">
......@@ -209,6 +220,7 @@
<script src="javascript/leafletLayerControl.js"></script>
<script src="javascript/buffer.js"></script>
<script src="javascript/dissolve.js"></script>
<script src="javascript/difference.js"></script>
<!-- Imported js -->
<!-- <script src="https://unpkg.com/shpjs@latest/dist/shp.js"></script> -->
......
......@@ -24,7 +24,8 @@ function makeBuffer() {
handleLayer(name);
document.getElementById("bufferDistance").value = "";
document.getElementById("bufferName").value = "";
fillSelect("bufferSelect");
} catch(failure) {
alert(failure);
}
}
\ No newline at end of file
}
function difference() {
var input1 = document.getElementById("differenceSelect_1").value;
var layer1 = overlayMaps[input1];
var input2 = document.getElementById("differenceSelect_2").value;
var layer2 = overlayMaps[input2];
var name = document.getElementById("differenceName").value;
try {
var difference = turf.difference(layer1.toGeoJSON(), layer2.toGeoJSON());
var newLayer = L.geoJSON(difference);
overlayMaps[name] = newLayer;
updateSidebar();
handleLayer(name);
document.getElementById("differenceName").value = "";
fillDifferenceSelect();
} catch(failure) {
alert(failure)
}
}
......@@ -13,7 +13,8 @@ function dissolve() {
handleLayer(name);
document.getElementById("dissolveSelect").value = "";
document.getElementById("dissolveName").value = "";
fillSelect("dissolveSelect");
} catch(failure) {
alert(failure);
}
}
\ No newline at end of file
}
......@@ -28,6 +28,8 @@ function openBox(id) {
// Fyller aktuell select med alternativ avhengig av hvilken boks en åpner:
if (id == "bufferBox") {
fillSelect("bufferSelect");
} else if (id == "differenceBox") {
fillDifferenceSelect();
} else if (id == "dissolveBox") {
fillSelect("dissolveSelect");
}
......@@ -59,4 +61,17 @@ function fillSelect(id) {
for (key in overlayMaps) {
select.add(new Option(text = key, value = key));
}
}
\ No newline at end of file
}
function fillDifferenceSelect() {
var select1 = document.getElementById("differenceSelect_1");
var select2 = document.getElementById("differenceSelect_2");
select1.innerHTML = "";
select2.innerHTML = "";
for (key in overlayMaps) {
select1.add(new Option(text = key, value = key));
select2.add(new Option(text = key, value = key));
}
}
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