Was ist der Unterschied zwischen GeoJSON und TopoJSON und wann würde ich einen über den anderen verwenden?
Die Beschreibung von TopoJSON auf GitHub impliziert, dass die TopoJSON-Dateien 80% kleiner sind. Warum also nicht immer TopoJSON verwenden?
Was ist der Unterschied zwischen GeoJSON und TopoJSON und wann würde ich einen über den anderen verwenden?
Die Beschreibung von TopoJSON auf GitHub impliziert, dass die TopoJSON-Dateien 80% kleiner sind. Warum also nicht immer TopoJSON verwenden?
Antworten:
Wenn Sie sich für die Dateigröße oder Topologie interessieren, verwenden Sie TopoJSON. Wenn Sie sich auch nicht darum kümmern, verwenden Sie der Einfachheit halber GeoJSON.
Der Hauptvorteil von TopoJSON ist die Größe. Durch die Beseitigung von Redundanz und die Verwendung einer effizienteren Ganzzahlcodierung von Koordinaten mit fester Genauigkeit sind TopoJSON-Dateien häufig um eine Größenordnung kleiner als GeoJSON-Dateien. Der sekundäre Vorteil von TopoJSON-Dateien besteht darin, dass die Codierung der Topologie nützliche Anwendungen bietet, z. B. die Vereinfachung der Topologieerhaltung (ähnlich wie bei MapShaper ) und die automatische Netzgenerierung (wie bei den Status-Status-Grenzen in diesem Beispiel Choroplethen ).
Diese Vorteile sind mit Kosten verbunden: einem komplexeren Dateiformat. In JavaScript verwenden Sie beispielsweise normalerweise die TopoJSON-Clientbibliothek , um TopoJSON in GeoJSON zu konvertieren und mit Standardtools wie d3.geoPath zu verwenden . (In Python können Sie topojson.py verwenden .) Außerdem erfordert das Ganzzahlformat von TopoJSON die Quantisierung von Koordinaten. Dies bedeutet, dass es zu Rundungsfehlern kommen kann, wenn Sie nicht vorsichtig sind. (Siehe Dokumentation für topojson -q
.)
Für die serverseitige Bearbeitung von Geometrien, für die keine Topologie erforderlich ist, ist GeoJSON wahrscheinlich die einfachere Wahl. Andernfalls verwenden Sie TopoJSON, wenn Sie eine Topologie benötigen oder die Geometrie über den Draht an einen Client senden möchten.
TopoJSON ist ideal für aufgeräumte Funktionen, die wie Verwaltungsregionen aneinander "einrasten", aber nicht bei unordentlicheren oder organischeren Daten helfen. Wenn Ihre Daten nur Punkte sind, ist TopoJSON überhaupt keine Hilfe.
Es hängt von vielen Überlegungen ab. Unter ihnen sind die folgenden:
1) Die Art (Datenmodell) des Features oder der Features, die Sie darstellen möchten 2) Alle Attribute, die Sie diesen Features zuordnen möchten 3) Wie sich diese Features auf der Seite verhalten sollen (statisch vs. dynamisch)
Diese Frage ist jedoch abstrakt schwer zu beantworten. In Bezug auf einige Besonderheiten können Sie mit dem Modell von topojson die Redundanz ausnutzen und diese in das Modell einbeziehen, wenn Sie eine zusammenhängende Polygonabdeckung oder eine andere Situation haben, in der Features Grenzen gemeinsam haben.
Lesen Sie die Dokumentation, sezieren Sie Beispiele (z. B. bl.ocks.org), holen Sie sich einige Daten und stellen Sie sie sowohl in Geojson als auch in Topojson dar. Erstellen Sie Ihre eigenen Visualisierungen.