Milyonlarca parsel şekil dosyasını çalıştırmama ve basitleştirmeme izin veren herhangi bir araç var mı?
Milyonlarca parsel şekil dosyasını çalıştırmama ve basitleştirmeme izin veren herhangi bir araç var mı?
Yanıtlar:
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
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
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
Mapshaper'ı deneyebilirsiniz . Dosya boyutunuzdan dolayı bazı sınırlamalar olabilir.
GRASS v.generalize
Mapshaper'dan ilham alın, ancak doğrudan yerel olarak, https://github.com/migurski/Bloch adresine bakın