Parsel şekil dosyalarını basitleştirmek için ücretsiz bir araç?


16

Milyonlarca parsel şekil dosyasını çalıştırmama ve basitleştirmeme izin veren herhangi bir araç var mı?


1
basitleştirmek ile ne demek istiyorsun, kenar?
artwork21

1
Sanırım bir tür topoloji olmadan çokgenler üzerinde basitleştirmekten endişe ediyorum. Esri'nin aynı anda basitleştirilen iki kenarı yöneteceğini bile düşünmüyorum, böylece tutarlı kalıyorlar. Belki de ben hatalıyım.
Brad Nesom

Yanıtlar:


6

GEOS üzerine kurulmuş bir Python API olan Shapely'yi deneyebilirsiniz . Hem Shapely hem de GDAL'in Python kütüphaneleri olduğundan , bunları birçok farklı kaynaktan (şekil dosyaları dahil) gelen verilerle kolayca birleştirebilir ve daha sonra istediğiniz şekilde basitleştirip dışa aktarabilirsiniz .

Milyonlarca özellik yapıyorsanız, tek dezavantaj hız olabilir - GEOS veya JTS'yi doğrudan kullanmak daha hızlı olabilir .

Basitleştirme yöntemine bakın :

Basitleştirilmiş nesnedeki tüm noktalar, orijinal geometrinin tolerans mesafesi dahilinde olacaktır. Varsayılan olarak topolojiyi koruyan daha yavaş bir algoritma kullanılır. Koruma topolojisi False (Yanlış) olarak ayarlanırsa, çok daha hızlı Douglas-Peucker algoritması kullanılır.

>>> 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

14

GDAL / OGR'nin 9.0 sürümü ogr2ogr komutuna -simplify seçeneğini ekledi . Belgeler topolojiyi koruduğunu gösterir.

- toleransı basitleştirin: (GDAL 1.9.0 ile başlayarak) basitleştirme için mesafe toleransı. Bu yöntem, özellikle çokgen geometrileri için topolojiyi koruyacaktır.

Örnek kullanım:

ogr2ogr outfile.shp infile.shp -simplify 0.000001

8

Verileriniz PostGIS'de depolanıyorsa, ST_SimplifyPreserveTopology'yi kullanmayı deneyin .


6

ogr2ogr, ihtiyacınız olanı yapıyor gibi görünen bir "segmentlere ayır" seçeneğine sahiptir: GDAL ogr2ogr belgeleri

Bu sayfadan:

-maks_dist:: GDAL 1.6.0 ile başlayarak 2 düğüm arasındaki maksimum mesafeyi bölümlere ayırın. Ara nokta uzamsal sorgu uzantıları oluşturmak için kullanılır




Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.