Ich habe eine VectorTile-Grundkarte , die ich optimiere (bei der Reduzierung der Größe einzelner Kacheln). Der Hauptteil der Kachelgröße sind Straßendaten (Geometrie und Attribute). Ich arbeite daran, die einzelnen Straßengeometrien basierend auf der Zoomstufe zu vereinfachen und die Straßen auch basierend auf Zoomstufen zu aggregieren.
Die Straßen werden in einer Postgis-Tabelle gespeichert (individuelle Tabelle für jede Zoomstufe), und ich möchte die Straßen basierend auf der Zoomstufe aggregieren, in der sie angezeigt werden. Beispiel: In der Tabelle Zoomstufe 5 möchte ich die Straßen, die sich in einem bestimmten Abstand voneinander befinden, zusammenfassen und für die Straßensegmente eine einzelne Linie erstellen:
Da es nicht möglich ist, einzelne Straßen in dieser Zoomstufe zu erkennen:
Wie kann ich die Straßengeometrien basierend auf dem Abstand zwischen Straßensegmenten aggregieren?
PS: Ich arbeite an PostGIS und QGIS unter Linux, bin aber offen für Lösungen, die auf einer beliebigen Open Source-Plattform oder -Technologie basieren
quelle
Antworten:
Sie könnten versuchen, in dieser Betriebssystemoption, Skeletron , nachzuschauen :
Es sind einige Abhängigkeiten erforderlich:
Erforderliche Abhängigkeiten:
- qhull binary ( http://www.qhull.org )
- shapely 1.2+ ( http://pypi.python.org/pypi/Shapely )
- pyproj ( http://code.google.com/p / pyproj )
- networkx 1.5+ ( http://networkx.lanl.gov )
- StreetNames 0.1+ ( https://github.com/nvkelso/map-label-style-manual/tree/master/tools/street_names )
Hinweis: Dies ist ein älteres Modell / Werkzeug, das angewendet werden kann, nur als Referenz für Sie zu erkunden.
quelle
ArcGIS ist am einfachsten, wenn es überhaupt eine Option ist. Ich weiß, dass das OP das Betriebssystem spezifiziert, aber ich erwähne dies, da die Betriebssystemoptionen im Vergleich zu http://resources.arcgis.com/en/help/main/10.1/index.html#/Merge_Divided_Roads/00700000000w000000 nicht sehr hilfreich sind /
Antworten auf diese Frage geben einige Open Source-Optionen: Wie kann ich nahe gelegene und parallele Straßenlinien (z. B. eine zweispurige Straße) zu einer einzigen Linie zusammenführen / zusammenfassen?
Wenn Sie codieren, können Sie die mittlere Koordinatenposition auf Eckpunktbasis berechnen, wenn nicht, dann:
Es scheint auch kein gutes Betriebssystem zu geben, das dem ArcGIS-Werkzeug "Polygon zur Mittellinie" entspricht. Ich könnte vorschlagen:
ein. Erstelle ein Voronoi-Diagramm und nimm das Skelett.
b. Erstellen Sie ein euklidisches Entfernungsraster, extrahieren Sie den zentralen Wert und konvertieren Sie ihn in eine Linie
... wahrscheinlich auch einige andere.
Schließlich kann es je nach Maßstab und Anwendung auch sinnvoll sein, nur eine der beiden Zeilen zu löschen - spielt die Ungenauigkeit eine Rolle?
quelle