Darmowe narzędzie do uproszczenia plików kształtowych paczek?

16

Czy jest dostępne narzędzie, które pozwala mi uruchamiać miliony plików kształtów paczek i upraszczać je?

NetConstructor.com
źródło
1
co rozumiesz przez uproszczenie, przewagę?
grafika 21
1
Myślę, że martwiłbym się uproszczeniem wielokątów bez jakiejkolwiek topologii. Nawet nie sądzę, że esri poradzi sobie z uproszczeniem dwóch krawędzi jednocześnie, aby pozostały spójne. Może się mylę.
Brad Nesom,

Odpowiedzi:

6

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
geografia
źródło
14

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
Tyler Erickson
źródło
6

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

Derek Swingley
źródło
5

Możesz spróbować Mapshaper . Możliwe są pewne ograniczenia związane z rozmiarem pliku.

Julien
źródło
4

GRASS v. Uogólnij

http://grass.osgeo.org/gdp/html_grass64/v.generalize.html

Giovanni Manghi
źródło
Zrobiłem trochę testów i na dzień dzisiejszy wszystkie metody sugerowane tutaj i polegające na GEOS (ogr2ogr z -simplify, foremną, funkcją ST_SimplifyPreserveTopology PostGIS) wytwarzają anomalie topologiczne (tj. Dziury / zachodzenie na siebie wielokątów). Tylko z GRASS miałem dobre wyniki.
capooti