Czy jest dostępne narzędzie, które pozwala mi uruchamiać miliony plików kształtów paczek i upraszczać je?
Czy jest dostępne narzędzie, które pozwala mi uruchamiać miliony plików kształtów paczek i upraszczać je?
Odpowiedzi:
Możesz wypróbować Shapely - API Pythona zbudowane na bazie GEOS . Ponieważ zarówno Shapely, jak i GDAL mają biblioteki Pythona, możesz łatwo łączyć je z danymi z wielu różnych źródeł (w tym plików kształtów), a następnie upraszczać i eksportować według potrzeb.
Jedynym minusem może być szybkość, jeśli robisz miliony funkcji - szybsze korzystanie z GEOS lub JTS może być szybsze .
Zobacz metodę uproszczenia :
Wszystkie punkty w uproszczonym obiekcie mieszczą się w odległości tolerancji oryginalnej geometrii. Domyślnie używany jest wolniejszy algorytm, który zachowuje topologię. Jeśli dla topologii zachowania ustawiona jest wartość False, używany jest znacznie szybszy algorytm Douglasa-Peuckera.
>>> p = Point(0.0, 0.0)
>>> x = p.buffer(1.0)
>>> x.area
3.1365484905459389
>>> s = x.simplify(0.05, preserve_topology=False)
>>> s.area
3.0614674589207187
Wersja 9.0 GDAL / OGR dodała opcję -simplify do pliku polecenia ogr2ogr . Dokumentacja wskazuje, że zachowuje topologię.
-prostsze tolerancje: (począwszy od GDAL 1.9.0) tolerancja odległości dla uproszczenia. Ta metoda zachowa topologię, w szczególności w przypadku geometrii wielokątów.
Przykładowe użycie:
ogr2ogr outfile.shp infile.shp -simplify 0.000001
Jeśli Twoje dane są przechowywane w PostGIS, spróbuj użyć ST_SimplifyPreserveTopology .
ogr2ogr ma opcję „segmentuj”, która wydaje się robić to, czego potrzebujesz: dokumentację ogr2ogr GDAL
Z tej strony:
-segmentize max_dist: (zaczynając od GDAL 1.6.0) maksymalna odległość między 2 węzłami. Służy do tworzenia pośrednich zakresów zapytań przestrzennych
GRASS v. Uogólnij
Inspiruj z Mapshaper, ale bezpośrednio w lokalnym, spójrz na https://github.com/migurski/Bloch