Prechádzať zdrojové kódy

generate metrics json from pretty csv

Bernadette Elena Hammerle 3 rokov pred
rodič
commit
759cb55c17
2 zmenil súbory, kde vykonal 289 pridanie a 294 odobranie
  1. 15 5
      src/evaluation/csvToJson.py
  2. 274 289
      src/evaluation/metrics.json

+ 15 - 5
src/evaluation/csvToJson.py

@@ -2,13 +2,23 @@ import pandas as pd
 import json
 
 df = pd.read_csv("metrics.csv", delimiter=";")
+df = df.dropna(subset=["Metrik"]).reset_index(drop=True)
+
+catLookUp = {
+    "F": "Funktionen",
+    "B": "Benutzerfreundlichkeit",
+    "P": "Performance",
+    "D": "Dokumentation",
+    "I": "Installation"
+    }
+
 metrics = []
 category = ""
 df = df.fillna("")
 
 for i, row in df.iterrows():
-    newCat = row.get("Kategorie")
-    if type(newCat) == str and newCat != "":
+    newCat = catLookUp.get(row.get("Nr")[0])
+    if type(newCat) == str:
         category = newCat
     rating = {
         "pigeon": row.get("Pigeon"),
@@ -21,14 +31,14 @@ for i, row in df.iterrows():
     comments = {
         "pigeon": row.get("Kommentar Pigeon"),
         "leaflet": row.get("Kommentar Leaflet"),
-#        "mapgl": row.get("Kommentar MapGL"),
-#        "mapbox": row.get("Kommentar Mapbox"),
+        "mapgl": row.get("Kommentar MapGL"),
+        "mapbox": row.get("Kommentar Mapbox"),
         "google": row.get("Kommentar Google"),
     }
 
     metrics.append({
         "metric": row.get("Metrik"),
-        "number": row.get("Nummer"),
+        "number": row.get("Nr"),
         "category": category,
         "rating": rating,
         "comments": comments

+ 274 - 289
src/evaluation/metrics.json

@@ -5,15 +5,17 @@
       "number": "F0",
       "category": "Funktionen",
       "rating": {
-        "pigeon": 2.0,
-        "leaflet": 4.0,
-        "mapgl": null,
-        "mapbox": "",
-        "google": 3.0
+        "pigeon": "2",
+        "leaflet": "4",
+        "mapgl": "4",
+        "mapbox": "4",
+        "google": "3"
       },
       "comments": {
-        "pigeon": "m\u00f6glich, aber funktionen und buttons m\u00fcssen selbst implementiert werden",
+        "pigeon": "m\u00f6glich, aber Funktionen und Buttons m\u00fcssen selbst implementiert werden",
         "leaflet": "ZoomControl Component mit Position prop",
+        "mapgl": "",
+        "mapbox": "ZoomControl Component",
         "google": "automatisch, Position/Style nicht ver\u00e4nderbar"
       }
     },
@@ -22,15 +24,17 @@
       "number": "F1",
       "category": "Funktionen",
       "rating": {
-        "pigeon": 3.0,
-        "leaflet": 4.0,
-        "mapgl": null,
-        "mapbox": "",
-        "google": 4.0
+        "pigeon": "3",
+        "leaflet": "4",
+        "mapgl": "4",
+        "mapbox": "4",
+        "google": "4"
       },
       "comments": {
-        "pigeon": "install pigeon-draggable, als componente um marker herum",
+        "pigeon": "install pigeon-draggable, als Component um Marker herum",
         "leaflet": "Marker prop",
+        "mapgl": "draggable props",
+        "mapbox": "draggable props",
         "google": "draggable props"
       }
     },
@@ -39,32 +43,36 @@
       "number": "F2",
       "category": "Funktionen",
       "rating": {
-        "pigeon": 0.0,
-        "leaflet": 0.0,
-        "mapgl": null,
-        "mapbox": "",
-        "google": 3.0
+        "pigeon": "0",
+        "leaflet": "0",
+        "mapgl": "4",
+        "mapbox": "4",
+        "google": "3"
       },
       "comments": {
-        "pigeon": "direkt mit Pigeon nicht m\u00f6glich, andere anbinden",
-        "leaflet": "keine eigene, evtl. externe einbinden",
+        "pigeon": "",
+        "leaflet": "",
+        "mapgl": "Mapbox Directions API",
+        "mapbox": "Mapbox Directions API",
         "google": "eigene API, aber langsam und fehleranf\u00e4llig"
       }
     },
     {
-      "metric": "Compass orientation?",
+      "metric": "Ansicht drehen",
       "number": "F3",
       "category": "Funktionen",
       "rating": {
-        "pigeon": 0.0,
-        "leaflet": 0.0,
-        "mapgl": null,
-        "mapbox": "",
-        "google": 0.0
+        "pigeon": "0",
+        "leaflet": "0",
+        "mapgl": "4",
+        "mapbox": "4",
+        "google": "0"
       },
       "comments": {
         "pigeon": "",
         "leaflet": "",
+        "mapgl": "NavigationControl Component",
+        "mapbox": "RotationControl Component",
         "google": ""
       }
     },
@@ -73,15 +81,17 @@
       "number": "F4",
       "category": "Funktionen",
       "rating": {
-        "pigeon": 2.0,
-        "leaflet": 4.0,
-        "mapgl": null,
-        "mapbox": "",
-        "google": 3.0
+        "pigeon": "2",
+        "leaflet": "4",
+        "mapgl": "3",
+        "mapbox": "3",
+        "google": "3"
       },
       "comments": {
-        "pigeon": "abh\u00e4ngig vom tile provider (zb openstreepMap oder mapbox)",
+        "pigeon": "abh\u00e4ngig vom Tile Provider (zb OpenStreepMap oder Mapbox)",
         "leaflet": "LayersControl Component (Button in Map)",
+        "mapgl": "keine eigene Component",
+        "mapbox": "keine eigene Component",
         "google": "m\u00f6glich, aber Button nicht direkt implementierbar"
       }
     },
@@ -90,15 +100,17 @@
       "number": "F5",
       "category": "Funktionen",
       "rating": {
-        "pigeon": 0.0,
-        "leaflet": 2.0,
-        "mapgl": null,
-        "mapbox": "",
-        "google": 0.0
+        "pigeon": "0",
+        "leaflet": "2",
+        "mapgl": "4",
+        "mapbox": "0",
+        "google": "0"
       },
       "comments": {
         "pigeon": "",
         "leaflet": "keine Component aber implementierbar",
+        "mapgl": "GeolocateControl Component",
+        "mapbox": "",
         "google": ""
       }
     },
@@ -107,15 +119,17 @@
       "number": "F6",
       "category": "Funktionen",
       "rating": {
-        "pigeon": 0.0,
-        "leaflet": 4.0,
-        "mapgl": null,
-        "mapbox": "",
-        "google": 4.0
+        "pigeon": "0",
+        "leaflet": "4",
+        "mapgl": "4",
+        "mapbox": "4",
+        "google": "3"
       },
       "comments": {
         "pigeon": "",
         "leaflet": "Polyline Component",
+        "mapgl": "Source + Line Layer",
+        "mapbox": "Layer + Feature",
         "google": ""
       }
     },
@@ -124,15 +138,17 @@
       "number": "F7",
       "category": "Funktionen",
       "rating": {
-        "pigeon": 2.0,
-        "leaflet": 4.0,
-        "mapgl": null,
-        "mapbox": "",
-        "google": 4.0
+        "pigeon": "2",
+        "leaflet": "4",
+        "mapgl": "4",
+        "mapbox": "4",
+        "google": "4"
       },
       "comments": {
-        "pigeon": "Overlay, m\u00f6glich aber kompliziert, nicht f\u00fcr User zeichnen geeignet",
+        "pigeon": "Overlay, m\u00f6glich aber nicht f\u00fcr User zeichnen geeignet",
         "leaflet": "react-leaflet-draw",
+        "mapgl": "react-map-gl-draw",
+        "mapbox": "react-mapbox-gl-draw",
         "google": "https://developers.google.com/maps/documentation/javascript/examples/polygon-simple"
       }
     },
@@ -141,15 +157,17 @@
       "number": "F8",
       "category": "Funktionen",
       "rating": {
-        "pigeon": 2.0,
-        "leaflet": 4.0,
-        "mapgl": null,
-        "mapbox": "",
-        "google": 4.0
+        "pigeon": "2",
+        "leaflet": "4",
+        "mapgl": "4",
+        "mapbox": "3",
+        "google": "4"
       },
       "comments": {
         "pigeon": "m\u00f6glich, custom Overlays, aber keine vorimplementierten Tooltips",
         "leaflet": "Tooltip Component, permanent oder hover",
+        "mapgl": "Popup Component",
+        "mapbox": "Popup Component",
         "google": ""
       }
     },
@@ -158,15 +176,17 @@
       "number": "F9",
       "category": "Funktionen",
       "rating": {
-        "pigeon": 2.0,
-        "leaflet": 3.0,
-        "mapgl": null,
-        "mapbox": "",
-        "google": 4.0
+        "pigeon": "2",
+        "leaflet": "3",
+        "mapgl": "4",
+        "mapbox": "0",
+        "google": "4"
       },
       "comments": {
         "pigeon": "m\u00f6glich, custom Overlays, aber keine vorimplementierten Beschriftungen",
         "leaflet": "permanent Tooltip mit css",
+        "mapgl": "Title zu Marker hinzuf\u00fcgen",
+        "mapbox": "",
         "google": "title prop"
       }
     },
@@ -175,15 +195,17 @@
       "number": "F10",
       "category": "Funktionen",
       "rating": {
-        "pigeon": 3.0,
-        "leaflet": 4.0,
-        "mapgl": null,
-        "mapbox": "",
-        "google": 3.0
+        "pigeon": "3",
+        "leaflet": "4",
+        "mapgl": "4",
+        "mapbox": "4",
+        "google": "3"
       },
       "comments": {
         "pigeon": "mit Marker nicht m\u00f6chlich, custom Overlay als Marker verwenden; seit Update 0.17 (Dezember) sind Farben m\u00f6chlich",
         "leaflet": "Marker prop icon",
+        "mapgl": "img oder svg in Marker Component",
+        "mapbox": "",
         "google": "nur custom markers"
       }
     },
@@ -192,15 +214,17 @@
       "number": "F11",
       "category": "Funktionen",
       "rating": {
-        "pigeon": 2.0,
-        "leaflet": 2.0,
-        "mapgl": null,
-        "mapbox": "",
-        "google": 3.0
+        "pigeon": "2",
+        "leaflet": "2",
+        "mapgl": "0",
+        "mapbox": "0",
+        "google": "3"
       },
       "comments": {
-        "pigeon": "Design wird ge\u00e4ndernt bei hovern",
+        "pigeon": "Design wird ge\u00e4ndernt bei hover",
         "leaflet": "riseOnHover, aktuellen Marker \u00fcber andere stellen",
+        "mapgl": "nicht automatisch, kein on hover event",
+        "mapbox": "nicht automatisch, kein on hover event",
         "google": "Custom hover styles"
       }
     },
@@ -209,15 +233,17 @@
       "number": "F12",
       "category": "Funktionen",
       "rating": {
-        "pigeon": 0.0,
-        "leaflet": 4.0,
-        "mapgl": null,
-        "mapbox": "",
-        "google": 0.0
+        "pigeon": "0",
+        "leaflet": "4",
+        "mapgl": "4",
+        "mapbox": "4",
+        "google": "0"
       },
       "comments": {
         "pigeon": "",
         "leaflet": "ScaleControl Component mit Position prop",
+        "mapgl": "ScaleControl Component",
+        "mapbox": "ScaleControl Component",
         "google": ""
       }
     },
@@ -226,15 +252,17 @@
       "number": "F13",
       "category": "Funktionen",
       "rating": {
-        "pigeon": 0.0,
-        "leaflet": 4.0,
-        "mapgl": null,
-        "mapbox": "",
-        "google": 4.0
+        "pigeon": "0",
+        "leaflet": "4",
+        "mapgl": "3",
+        "mapbox": "0",
+        "google": "4"
       },
       "comments": {
         "pigeon": "",
         "leaflet": "https://github.com/ptma/Leaflet.Legend",
+        "mapgl": "",
+        "mapbox": "",
         "google": ""
       }
     },
@@ -243,15 +271,17 @@
       "number": "B0",
       "category": "Benutzerfreundlichkeit",
       "rating": {
-        "pigeon": 0.0,
-        "leaflet": 4.0,
-        "mapgl": null,
-        "mapbox": "",
-        "google": 4.0
+        "pigeon": "0",
+        "leaflet": "4",
+        "mapgl": "4",
+        "mapbox": "4",
+        "google": "4"
       },
       "comments": {
         "pigeon": "",
-        "leaflet": "Pfeiltasten, + -",
+        "leaflet": "",
+        "mapgl": "",
+        "mapbox": "",
         "google": ""
       }
     },
@@ -260,15 +290,17 @@
       "number": "B1",
       "category": "Benutzerfreundlichkeit",
       "rating": {
-        "pigeon": 4.0,
-        "leaflet": 4.0,
-        "mapgl": null,
-        "mapbox": "",
-        "google": 4.0
+        "pigeon": "4",
+        "leaflet": "4",
+        "mapgl": "4",
+        "mapbox": "4",
+        "google": "4"
       },
       "comments": {
         "pigeon": "seit Update 0.17",
         "leaflet": "",
+        "mapgl": "",
+        "mapbox": "",
         "google": ""
       }
     },
@@ -277,16 +309,18 @@
       "number": "B2",
       "category": "Benutzerfreundlichkeit",
       "rating": {
-        "pigeon": "",
-        "leaflet": "",
-        "mapgl": null,
-        "mapbox": "",
-        "google": ""
+        "pigeon": "3",
+        "leaflet": "4",
+        "mapgl": "1",
+        "mapbox": "1",
+        "google": "3"
       },
       "comments": {
-        "pigeon": "",
+        "pigeon": "Marker draggen geht nicht",
         "leaflet": "",
-        "google": ""
+        "mapgl": "",
+        "mapbox": "",
+        "google": "draggen nicht"
       }
     },
     {
@@ -294,16 +328,18 @@
       "number": "B3",
       "category": "Benutzerfreundlichkeit",
       "rating": {
-        "pigeon": "",
-        "leaflet": "",
-        "mapgl": null,
-        "mapbox": "",
-        "google": ""
+        "pigeon": "0",
+        "leaflet": "4",
+        "mapgl": "3",
+        "mapbox": "3",
+        "google": "0"
       },
       "comments": {
-        "pigeon": "tiles werden nicht geladen",
+        "pigeon": "",
         "leaflet": "",
-        "google": ""
+        "mapgl": "",
+        "mapbox": "",
+        "google": "no one does, download tiles?"
       }
     },
     {
@@ -311,15 +347,17 @@
       "number": "P0",
       "category": "Performance",
       "rating": {
-        "pigeon": 1.0,
-        "leaflet": 4.0,
-        "mapgl": null,
-        "mapbox": 4.0,
-        "google": 2.0
+        "pigeon": "1",
+        "leaflet": "4",
+        "mapgl": "1",
+        "mapbox": "4",
+        "google": "2"
       },
       "comments": {
         "pigeon": "",
         "leaflet": "",
+        "mapgl": "",
+        "mapbox": "",
         "google": ""
       }
     },
@@ -328,15 +366,17 @@
       "number": "P1",
       "category": "Performance",
       "rating": {
-        "pigeon": 1.0,
-        "leaflet": 4.0,
-        "mapgl": null,
-        "mapbox": 4.0,
-        "google": 2.0
+        "pigeon": "1",
+        "leaflet": "4",
+        "mapgl": "0",
+        "mapbox": "4",
+        "google": "2"
       },
       "comments": {
         "pigeon": "",
         "leaflet": "",
+        "mapgl": "",
+        "mapbox": "",
         "google": ""
       }
     },
@@ -345,16 +385,18 @@
       "number": "P2",
       "category": "Performance",
       "rating": {
-        "pigeon": 1.0,
-        "leaflet": 0.0,
-        "mapgl": null,
-        "mapbox": 4.0,
-        "google": 1.0
+        "pigeon": "1",
+        "leaflet": "0",
+        "mapgl": "0",
+        "mapbox": "4",
+        "google": "1"
       },
       "comments": {
-        "pigeon": "smooth, 10ms pro Update, 115727.240 for 500 steps",
-        "leaflet": "ruckelig, Duration 76217.835 for 500 steps",
-        "google": "ruckelig, Duration 191357.195 for 500 steps"
+        "pigeon": "",
+        "leaflet": "",
+        "mapgl": "",
+        "mapbox": "",
+        "google": ""
       }
     },
     {
@@ -362,16 +404,18 @@
       "number": "P3",
       "category": "Performance",
       "rating": {
-        "pigeon": "",
-        "leaflet": "",
-        "mapgl": null,
-        "mapbox": "",
-        "google": ""
+        "pigeon": "2",
+        "leaflet": "3",
+        "mapgl": "4",
+        "mapbox": "4",
+        "google": "0"
       },
       "comments": {
-        "pigeon": "",
-        "leaflet": "Duration 250510.020 for 500 steps",
-        "google": "gleich ruckelig wie 100? anfangs schnell, dann langsam, Duration 286748.030 for 500 steps"
+        "pigeon": "smooth, 115727.240 for 500 steps",
+        "leaflet": "ruckelig, 76217.835 for 500 steps",
+        "mapgl": "smooth, 60346.845 for 500 steps",
+        "mapbox": "62796.500 for 500 steps",
+        "google": "ruckelig, 191357.195 for 500 steps"
       }
     },
     {
@@ -379,16 +423,18 @@
       "number": "P4",
       "category": "Performance",
       "rating": {
-        "pigeon": "",
-        "leaflet": "",
-        "mapgl": null,
-        "mapbox": "",
-        "google": ""
+        "pigeon": "2",
+        "leaflet": "1",
+        "mapgl": "2",
+        "mapbox": "4",
+        "google": "0"
       },
       "comments": {
-        "pigeon": "PC bei 15.000 immer noch nicht abgest\u00fcrzt aber Marker bewegen sich so langsam dass Bewegung kaum sichtbar ist",
-        "leaflet": "9.000 Crash, 8.000 schon Probleme (Browsert Fenster rendern nur halb)",
-        "google": ""
+        "pigeon": "174908.070 for 500 steps",
+        "leaflet": "250510.020 for 500 steps",
+        "mapgl": "167014.530 for 500 steps",
+        "mapbox": "67867.355 for 500 steps",
+        "google": "gleich ruckelig wie 100? anfangs schnell, dann langsam, 286748.030 for 500 steps"
       }
     },
     {
@@ -396,16 +442,18 @@
       "number": "P5",
       "category": "Performance",
       "rating": {
-        "pigeon": 4.0,
-        "leaflet": 0.0,
-        "mapgl": null,
-        "mapbox": 4.0,
-        "google": 4.0
+        "pigeon": "4",
+        "leaflet": "0",
+        "mapgl": "2",
+        "mapbox": "4",
+        "google": "4"
       },
       "comments": {
-        "pigeon": "40.000",
-        "leaflet": "7.000 noch m\u00f6glich ohne Crash",
-        "google": "50.000 kein Crash, aber mehrere Sekunden pro Step"
+        "pigeon": "PC bei 15.000 immer noch nicht abgest\u00fcrzt aber Marker bewegen sich so langsam dass Bewegung kaum sichtbar ist",
+        "leaflet": "9.000 Crash, 8.000 schon Probleme (Browsert Fenster rendern nur halb)",
+        "mapgl": "",
+        "mapbox": "",
+        "google": ""
       }
     },
     {
@@ -413,16 +461,18 @@
       "number": "P6",
       "category": "Performance",
       "rating": {
-        "pigeon": "",
-        "leaflet": "",
-        "mapgl": null,
-        "mapbox": "",
-        "google": ""
+        "pigeon": "3",
+        "leaflet": "3",
+        "mapgl": "1",
+        "mapbox": "2",
+        "google": "4"
       },
       "comments": {
-        "pigeon": "",
-        "leaflet": "",
-        "google": ""
+        "pigeon": "30.000",
+        "leaflet": "7.000",
+        "mapgl": "15.000",
+        "mapbox": "20.000",
+        "google": "50.000 kein Crash, aber mehrere Sekunden pro Step"
       }
     },
     {
@@ -430,15 +480,17 @@
       "number": "D0",
       "category": "Dokumentation",
       "rating": {
-        "pigeon": 3.0,
-        "leaflet": 4.0,
-        "mapgl": null,
-        "mapbox": "",
-        "google": 3.0
+        "pigeon": "3",
+        "leaflet": "4",
+        "mapgl": "3",
+        "mapbox": "4",
+        "google": "3"
       },
       "comments": {
         "pigeon": "",
         "leaflet": "",
+        "mapgl": "",
+        "mapbox": "",
         "google": "nicht vollst\u00e4ndig"
       }
     },
@@ -447,15 +499,17 @@
       "number": "D1",
       "category": "Dokumentation",
       "rating": {
-        "pigeon": 4.0,
-        "leaflet": 4.0,
-        "mapgl": null,
-        "mapbox": "",
-        "google": 3.0
+        "pigeon": "4",
+        "leaflet": "4",
+        "mapgl": "3",
+        "mapbox": "4",
+        "google": "3"
       },
       "comments": {
         "pigeon": "",
         "leaflet": "",
+        "mapgl": "",
+        "mapbox": "",
         "google": ""
       }
     },
@@ -464,15 +518,17 @@
       "number": "D2",
       "category": "Dokumentation",
       "rating": {
-        "pigeon": 2.0,
-        "leaflet": 3.0,
-        "mapgl": null,
-        "mapbox": "",
-        "google": 4.0
+        "pigeon": "2",
+        "leaflet": "3",
+        "mapgl": "4",
+        "mapbox": "4",
+        "google": "4"
       },
       "comments": {
         "pigeon": "nur ein Beispiel, deckt aber die meisten Funktionen ab",
-        "leaflet": "k\u00f6nnten noch ein paar mehr sein",
+        "leaflet": "wenige Beispiele",
+        "mapgl": "",
+        "mapbox": "",
         "google": ""
       }
     },
@@ -481,15 +537,17 @@
       "number": "D3",
       "category": "Dokumentation",
       "rating": {
-        "pigeon": 4.0,
-        "leaflet": 4.0,
-        "mapgl": null,
-        "mapbox": "",
-        "google": 2.0
+        "pigeon": "4",
+        "leaflet": "4",
+        "mapgl": "2",
+        "mapbox": "4",
+        "google": "2"
       },
       "comments": {
         "pigeon": "",
         "leaflet": "",
+        "mapgl": "",
+        "mapbox": "",
         "google": "nicht vollst\u00e4ndig"
       }
     },
@@ -498,15 +556,17 @@
       "number": "D4",
       "category": "Dokumentation",
       "rating": {
-        "pigeon": 4.0,
-        "leaflet": 4.0,
-        "mapgl": null,
-        "mapbox": "",
-        "google": 4.0
+        "pigeon": "4",
+        "leaflet": "4",
+        "mapgl": "2",
+        "mapbox": "4",
+        "google": "4"
       },
       "comments": {
         "pigeon": "",
         "leaflet": "",
+        "mapgl": "",
+        "mapbox": "",
         "google": ""
       }
     },
@@ -515,15 +575,17 @@
       "number": "D5",
       "category": "Dokumentation",
       "rating": {
-        "pigeon": 4.0,
-        "leaflet": 3.0,
-        "mapgl": null,
-        "mapbox": "",
-        "google": 4.0
+        "pigeon": "4",
+        "leaflet": "3",
+        "mapgl": "4",
+        "mapbox": "4",
+        "google": "4"
       },
       "comments": {
         "pigeon": "",
         "leaflet": "",
+        "mapgl": "",
+        "mapbox": "",
         "google": ""
       }
     },
@@ -532,15 +594,17 @@
       "number": "I0",
       "category": "Installation",
       "rating": {
-        "pigeon": 4.0,
-        "leaflet": 4.0,
-        "mapgl": null,
-        "mapbox": "",
-        "google": 4.0
+        "pigeon": "4",
+        "leaflet": "4",
+        "mapgl": "4",
+        "mapbox": "4",
+        "google": "4"
       },
       "comments": {
         "pigeon": "",
         "leaflet": "",
+        "mapgl": "",
+        "mapbox": "",
         "google": ""
       }
     },
@@ -549,15 +613,17 @@
       "number": "I1",
       "category": "Installation",
       "rating": {
-        "pigeon": 4.0,
-        "leaflet": 4.0,
-        "mapgl": null,
-        "mapbox": "",
-        "google": 0.0
+        "pigeon": "4",
+        "leaflet": "4",
+        "mapgl": "2",
+        "mapbox": "2",
+        "google": "0"
       },
       "comments": {
         "pigeon": "",
         "leaflet": "",
+        "mapgl": "Account und Access Token erstellen",
+        "mapbox": "Account und Access Token erstellen",
         "google": "Key erstellen, Zahlungskonto einrichten"
       }
     },
@@ -566,33 +632,18 @@
       "number": "I2",
       "category": "Installation",
       "rating": {
-        "pigeon": 4.0,
-        "leaflet": 4.0,
-        "mapgl": null,
-        "mapbox": "",
-        "google": 0.0
+        "pigeon": "4",
+        "leaflet": "4",
+        "mapgl": "1",
+        "mapbox": "1",
+        "google": "1"
       },
       "comments": {
-        "pigeon": "",
-        "leaflet": "",
-        "google": "300\u20ac (200?) Guthaben, monatliche Rechnung, dann 2$ pro 1000 Aufrufe"
-      }
-    },
-    {
-      "metric": "Gr\u00f6\u00dfe der Dateien",
-      "number": "I3",
-      "category": "Installation",
-      "rating": {
-        "pigeon": "",
+        "pigeon": "wenn z.B. OpenStreetMap als Tile Provider verwendet wird",
         "leaflet": "",
-        "mapgl": null,
+        "mapgl": "50.000 free Monthly loads, 5$/1000",
         "mapbox": "",
-        "google": ""
-      },
-      "comments": {
-        "pigeon": "21,06 MB + 354 KB",
-        "leaflet": "11,51 MB + 429 KB",
-        "google": "3,32 MB"
+        "google": "300\u20ac (200?) Guthaben, monatliche Rechnung, dann 2$ pro 1000 Aufrufe"
       }
     },
     {
@@ -600,84 +651,18 @@
       "number": "I4",
       "category": "Installation",
       "rating": {
-        "pigeon": 4.0,
-        "leaflet": 4.0,
-        "mapgl": null,
-        "mapbox": "",
-        "google": 4.0
+        "pigeon": "4",
+        "leaflet": "4",
+        "mapgl": "4",
+        "mapbox": "3",
+        "google": "3"
       },
       "comments": {
         "pigeon": "",
         "leaflet": "",
-        "google": ""
-      }
-    },
-    {
-      "metric": "",
-      "number": "",
-      "category": "Installation",
-      "rating": {
-        "pigeon": "",
-        "leaflet": "",
-        "mapgl": null,
+        "mapgl": "",
         "mapbox": "",
         "google": ""
-      },
-      "comments": {
-        "pigeon": "",
-        "leaflet": "",
-        "google": ""
-      }
-    },
-    {
-      "metric": "",
-      "number": "",
-      "category": "Installation",
-      "rating": {
-        "pigeon": "",
-        "leaflet": "",
-        "mapgl": null,
-        "mapbox": "",
-        "google": ""
-      },
-      "comments": {
-        "pigeon": "",
-        "leaflet": "",
-        "google": ""
-      }
-    },
-    {
-      "metric": "",
-      "number": "",
-      "category": "Installation",
-      "rating": {
-        "pigeon": "",
-        "leaflet": "",
-        "mapgl": null,
-        "mapbox": "",
-        "google": ""
-      },
-      "comments": {
-        "pigeon": "",
-        "leaflet": "",
-        "google": ""
-      }
-    },
-    {
-      "metric": "",
-      "number": "",
-      "category": "Installation",
-      "rating": {
-        "pigeon": "",
-        "leaflet": "",
-        "mapgl": null,
-        "mapbox": "",
-        "google": ""
-      },
-      "comments": {
-        "pigeon": "0",
-        "leaflet": "0",
-        "google": ""
       }
     }
   ]