diff --git a/javascript/buffer.js b/javascript/buffer.js index 73aff812628741a913f71651d0bd41730412f0e9..a0c3476088d06c347a2dcdd2efb6aee77786b4f3 100644 --- a/javascript/buffer.js +++ b/javascript/buffer.js @@ -13,6 +13,7 @@ function makeBuffer() { var buffer = turf.buffer(layer.toGeoJSON(), distance, {units: "meters"}); if (document.getElementById("bufferCheck").checked) { + console.log(JSON.stringify(buffer)); var newLayer = L.geoJSON(turf.dissolve(buffer)); } else { var newLayer = L.geoJSON(buffer); diff --git a/javascript/dissolve.js b/javascript/dissolve.js index ffa1a531792b94f816da2d1d2846ba6123ec8ffc..f8a93731829677f67d86eef3bb43d6d8ee489c43 100644 --- a/javascript/dissolve.js +++ b/javascript/dissolve.js @@ -4,6 +4,10 @@ function dissolve() { var name = document.getElementById("dissolveName").value; try { + if (layer["type"] == "MultiPolygon") { + layer = multiPolygonToFeatureCollection(layer); + } + var dissolved = turf.dissolve(layer.toGeoJSON()); var newLayer = L.geoJSON(dissolved); diff --git a/javascript/turfFormatConverter.js b/javascript/turfFormatConverter.js index c3c50951fc83f0ff3bcc6bf10a9f3d6973241595..64fcda1705451f4595d478274a0b2950b4468ffb 100644 --- a/javascript/turfFormatConverter.js +++ b/javascript/turfFormatConverter.js @@ -5,12 +5,26 @@ konvertere mellom feature collections og format godtatt av turf function featureCollectionToMultiPolygon(layer) { // layer er her et GeoJSON-lag if (layer["type"] == "FeatureCollection") { - var liste = []; + var coords = []; var features = layer["features"] for (var i = 0; i < features.length; i++) { - liste.push(features[i]["geometry"]["coordinates"]); + coords.push(features[i]["geometry"]["coordinates"]); } - return liste; + return coords; } -} \ No newline at end of file +} + +function multiPolygonToFeatureCollection(layer) { + if (layer["type"] == "MultiPolygon") { + var features = []; + for (var i = 0; i < layer["coordinates"].length; i++) { + var geometry = { + "type": "Polygon", + "coordinates": layer["geometry"][i] + } + coords.push(geometry); + } + return turf.featureCollection(features); + } +}