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

Fått på mer omskriving av layer-objekt

parent c1231dd1
Loading
Pipeline #238945 passed
......@@ -36,8 +36,7 @@ function makeBuffer() {
var buffer = turf.buffer(layer, distance, {units: "meters"}); // Lager buffer
if (document.getElementById("bufferCheck").checked) { // Om en har huket av for at en skal 'dissolve' gjøres det
// Dette er nytt
console.log(JSON.stringify(buffer));
// Dette er nytt:
if (isMultiPolygon(buffer)) { // Kan ikke sende MultiPolygon inn i dissolved
buffer = multiPolygonToFeatureCollection(buffer);
}
......
......@@ -22,6 +22,12 @@ function doDissolve() {
// Prøver å kjøre dissolve-funksjonen:
try {
// Dette er nytt:
if (isMultiPolygon(layer)) {
layer = multiPolygonToFeatureCollection(layer);
}
//#
var dissolved = turf.dissolve(layer); // Kjører dissolve
var newLayer = L.geoJSON(dissolved, {style: getStyle()});
......
......@@ -19,7 +19,7 @@ function featureCollectionToMultiPolygon(layer) { // Funksjon som gjør om featu
function isMultiPolygon(layer) { // Inneholder 'layer' features som er MultiPolygon?
more = false;
try {
try { // Justerer i forhold til hvor mye innhold 'layer' har
if (layer["features"]) {
more = true;
}
......@@ -41,14 +41,37 @@ function isMultiPolygon(layer) { // Inneholder 'layer' features som er MultiPoly
function multiPolygonToFeatureCollection(layer) {// Funksjon som gjør om features i 'layer' til FeatureCollection istedenfor MultiPolygon
// 'layer' er her et GeoJSON-lag
more = false;
try {
if (layer["features"]) {
more = true;
}
} catch {}
var features = [];
for (var i = 0; i < layer["geometry"]["coordinates"].length; i++) {
var geometry = {
"type": "Polygon",
"coordinates": layer["geometry"]["coordinates"][i]
};
features.push(turf.feature(geometry));
if (more) {
for (var i = 0; i < layer["features"]; i++) {
for (var j = 0; j < layer["features"][i]["geometry"]["coordinates"].length; j++) {
var geometry = {
"type": "Polygon",
"coordinates": layer["features"][i]["geometry"]["coordinates"][j]
};
features.push(turf.feature(geometry));
}
}
} else {
for (var i = 0; i < layer["geometry"]["coordinates"].length; i++) {
var geometry = {
"type": "Polygon",
"coordinates": layer["geometry"]["coordinates"][i]
};
features.push(turf.feature(geometry));
}
}
return turf.featureCollection(features);
}
......
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