Ich habe versucht, eine TopoJson-Datei mit konsolidierten Layer-Daten zu erstellen, die neben anderen Schichten US-Bundesstaaten, Grafschaften und Kongressdistrikte enthalten.
Original .shp-Shapefiles stammen aus den kartografischen Grenzdateien des Census Bureau >.
Diese wurden über ogr2ogr in GeoJson konvertiert.
Anschließend wird das TopoJson-Format über die node-serverseitige Bibliothek mit Quantisierung von 1e7 und Retain-Anteil von 0,15 kombiniert. Bis zu diesem Punkt gibt es keinen Hinweis auf ein Problem.
Ich sehe die endgültige Topojson-Datei mit mapshaper und die Dinge scheinen in Ordnung zu sein:
Beim Versuch, mit der Topojson-Client-Bibliothek und D3.geo.path () zu rendern, stoße ich jedoch auf einige seltsame Pfade in der Ebene des KongressesDist: (beachte die großen rechteckigen Pfade um die kontinentalen USA, AK und HI) img src="https://i.stack.imgur.com/d13Bm.jpg">
Eine funktionierende Version der Seite finden Sie hier: Ссылка
Ein paar wichtige Hinweise:
Nachdem ich versucht hatte, so viele Fehler zu beheben, wie ich konnte, dachte ich, ich würde jemanden hier fragen, ob jemand ähnliche Probleme erlebt hat. Danke für jede Hilfe.
Wie ich in den Kommentaren erwähnt habe, war mir aufgefallen, dass die drei beleidigenden Rechtecke an Daten mit einer id
-Eigenschaft gebunden waren, die in ZZ
endete, während alle anderen Pfade IDs hatten, die mit Zahlen enden.
Nach einigem Google-Suchen kam ich auf, was ich denke, ist die Antwort.
Nach diesem Dokument auf der Website census.gov,
In Connecticut, Illinois und Michigan hat der Staatsteilnehmer den aktuellen (113.) nicht zugewiesen Kongressbezirke, um den gesamten Staat oder gleichwertigen Bereich abzudecken. Der Code "ZZ" wurde vergeben in Gebieten ohne definierten Kongressbezirk (in der Regel große Wasserkörper). Diese nicht zugewiesenen Bereiche werden im Staat als ein einziger Kongressbezirk zum Zweck der Datenpräsentation behandelt.
Es scheint, dass diese drei undefinierten Bezirke die drei Rechtecke erklären würden. Es ist unklar, an welchem Punkt des Prozesses sie das Problem verursachen, aber ich glaube, es gibt eine einfache Lösung für Ihr unmittelbares Problem. Während ich nach Informationen über den Code ZZ
suchte, stolperte ich über dieses Makefile in einem Projekt von mbostock namens us-atlas
.
Es scheint, dass er auf ein ähnliches Problem gestoßen ist und es geschafft hat, die undefinierten Kongressbezirke herauszufiltern, wenn ogr2ogr
läuft. Hier ist der relevante Code aus dieser Datei:
Ich wette, dass wenn Sie% code% auf Ihrem Shapefile mit den hier gezeigten Flags ausführen, wird es das Problem lösen.
Tags und Links javascript d3.js topojson