Mam mapę bazową VectorTile , którą optymalizuję (pracuję nad zmniejszeniem wielkości poszczególnych kafelków), głównym kawałkiem wielkości kafelków są dane drogowe (geometria i atrybuty). Pracuję nad uproszczeniem poszczególnych geometrii dróg w oparciu o poziom powiększenia i agregacją dróg również w oparciu o poziomy powiększenia.
Drogi są przechowywane w tabeli Postgis (osobna tabela dla każdego poziomu powiększenia) i chcę agregować drogi na podstawie poziomu powiększenia, przy którym będą wyświetlane. Na przykład w tabeli Zoom Level 5 chcę agregować drogi znajdujące się w pewnej odległości od siebie i utworzyć jedną linię dla odcinków drogi:
Ponieważ nie można rozróżnić poszczególnych dróg na tym poziomie powiększenia:
Jak mogę agregować geometrię drogi na podstawie odległości między odcinkami drogi?
PS: Pracuję nad PostGIS i QGIS w systemie Linux, ale jestem otwarty na rozwiązania wykorzystujące dowolną platformę lub technologię Open Source
źródło
Odpowiedzi:
Możesz spróbować poszukać w tej opcji systemu operacyjnego, Skeletron , to:
Wymagane są pewne zależności:
Wymagane zależności:
- qhull binary ( http://www.qhull.org )
- foremna 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 )
Uwaga: jest to starszy model / narzędzie, które można zastosować, jako odniesienie do zbadania.
źródło
ArcGIS jest najprostszy, jeśli w ogóle jest opcją. Wiem, że OP określa system operacyjny, ale wspominam o tym, ponieważ opcje systemu operacyjnego po prostu nie wyglądają bardzo pomocne w porównaniu do: http://resources.arcgis.com/en/help/main/10.1/index.html#/Merge_Divided_Roads/00700000000w000000 /
Odpowiedzi na to pytanie dają kilka opcji Open Source: Jak połączyć / zwinąć pobliskie i równoległe linie drogowe (np. Dwujezdniową) w jedną linię?
Jeśli kodujesz, możesz obliczyć średnią pozycję współrzędnych na podstawie wierzchołków, jeśli nie, to:
Wydaje się, że nie ma dobrego systemu operacyjnego równoważnego z narzędziem ArcGIS „Polygon to Center line”. Mogę zasugerować:
za. Utwórz diagram voronoi i weź szkielet.
b. Utwórz euklidesowy raster odległości i wyodrębnij środkową wartość i przekonwertuj na linię
... prawdopodobnie także inni.
Wreszcie, w zależności od skali i zastosowania ... warto też po prostu usunąć jedną z dwóch linii - czy niedokładność ma znaczenie?
źródło