From 93d22cc3c11c84c32d9e8ae19bbe41d9a478c0ee Mon Sep 17 00:00:00 2001
From: jshjelse <jshjelse@stud.ntnu.no>
Date: Tue, 24 Oct 2023 12:04:05 +0200
Subject: [PATCH] Ferdigstille og kommentere

---
 javascript/buffer.js              |  4 ++--
 javascript/dissolve.js            |  5 ++---
 javascript/turfFormatConverter.js | 25 ++++++++++++++++---------
 3 files changed, 20 insertions(+), 14 deletions(-)

diff --git a/javascript/buffer.js b/javascript/buffer.js
index 95dd482..8521b39 100644
--- a/javascript/buffer.js
+++ b/javascript/buffer.js
@@ -36,11 +36,11 @@ 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:
+            
             if (isMultiPolygon(buffer)) { // Kan ikke sende MultiPolygon inn i dissolved
                 buffer = fixMultiPolygons(buffer);
             }
-            // #
+            
             var dissolved = turf.dissolve(buffer);
             var newLayer = L.geoJSON(dissolved, {style: getStyle()});
         } else { // Ellers lager den bare mange ulike buffer-soner
diff --git a/javascript/dissolve.js b/javascript/dissolve.js
index 87273b6..ea1a382 100644
--- a/javascript/dissolve.js
+++ b/javascript/dissolve.js
@@ -22,11 +22,10 @@ function doDissolve() {
     
     // Prøver å kjøre dissolve-funksjonen:
     try {
-        // Dette er nytt:
-        if (isMultiPolygon(layer)) {
+        
+        if (isMultiPolygon(layer)) { // Kan ikke sende MultiPolygon inn i dissolved
             layer = fixMultiPolygons(layer);
         }
-        //#
 
         var dissolved = turf.dissolve(layer); // Kjører dissolve
         var newLayer = L.geoJSON(dissolved, {style: getStyle()});
diff --git a/javascript/turfFormatConverter.js b/javascript/turfFormatConverter.js
index 8d04c5e..85a629f 100644
--- a/javascript/turfFormatConverter.js
+++ b/javascript/turfFormatConverter.js
@@ -55,32 +55,39 @@ function multiPolygonToFeatureCollection(layer) { // Funksjon som gjør om featu
     return turf.featureCollection(features);
 }
 
-function fixMultiPolygons(layer) { // Annen variant som løser MultiPolygon-problemet for buffer-funksjonen
+function fixMultiPolygons(layer) { // Annen variant som løser MultiPolygon-problemet for de ulike GIS-funksjonene
     var features = layer["features"];
     var k = features.length;
     
     for (var i = 0; i < k; i++) {
-        if (features[i]["geometry"]["type"] == "MultiPolygon") {
-            var coord = features[i]["geometry"]["coordinates"];
+        /*
+        Her itererer en gjennom alle features i FeatureCollection,
+        plukker ut alle features som er registrert som MultiPolygon,
+        og gjør dem om til flere Polygons
+        */
+        if (features[i]["geometry"]["type"] == "MultiPolygon") { // Er det MultiPolygon?
+            var coord = features[i]["geometry"]["coordinates"]; // Henter geometrien til alle Polygonene
+            // Oppdaterer første polygon:
             features[i]["geometry"]["type"] = "Polygon";
             features[i]["geometry"]["coordinates"] = coord[0];
             for (var j = 1; j < coord.length; j++) {
+                // Lager så nye features for resten av polygonene i MultiPolygonet:
                 var newFeature = {};
-                for (key in features[i]) {
-                    if (key != "geometry") {
+                for (key in features[i]) { // Vil ha de samme nøklene og deres verdier som originalen
+                    if (key != "geometry") { // ... men ikke lik geometri
                         newFeature[key] = features[i][key];
                     }
                 }
-                newFeature["geometry"] = {
+                newFeature["geometry"] = { // Legger til geometri
                     "type": "Polygon",
-                    "coordinates": coord[j]
+                    "coordinates": coord[j] // Henter koordinat fra original-lista
                 };
-                features.push(newFeature);
+                features.push(newFeature); // Legger til ny feature
             }
         }
     }
 
-    layer["features"] = features;
+    layer["features"] = features; // Oppdaterer features-lista
 
     return layer;
 }
-- 
GitLab