何百万ものパーセルシェープファイルを実行し、それらを単純化できるツールはありますか?
何百万ものパーセルシェープファイルを実行し、それらを単純化できるツールはありますか?
回答:
Shapely- GEOSの上に構築されたPython APIを試すことができます。ShapelyとGDALの両方にPythonライブラリがあるため、それらをさまざまなソース(シェープファイルを含む)のデータに簡単に結合し、必要に応じて単純化およびエクスポートできます。
唯一の欠点は、何百万もの機能を実行している場合の速度です。GEOSまたはJTSを直接使用する方が高速になる可能性があります。
簡略化方法を参照してください。
単純化されたオブジェクト内のすべてのポイントは、元のジオメトリの許容距離内にあります。デフォルトでは、トポロジを保持するより遅いアルゴリズムが使用されます。トポロジの保持がFalseに設定されている場合、より高速なダグラスピーカーアルゴリズムが使用されます。
>>> 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のバージョン9.0では、ogr2ogrコマンドに-simplifyオプションが追加されました。ドキュメントには、トポロジが保持されることが示されています。
-simplify tolerance:(GDAL 1.9.0以降)簡略化のための距離の許容値。この方法は、特にポリゴンジオメトリのトポロジを保持します。
使用例:
ogr2ogr outfile.shp infile.shp -simplify 0.000001
データがPostGISに保存されている場合は、ST_SimplifyPreserveTopologyを使用してみてください。
ogr2ogrには、必要なことを行うために表示される「セグメント化」オプションがあります 。GDALogr2ogrのドキュメント
そのページから:
-segmentize max_dist:(GDAL 1.6.0以降)2つのノード間の最大距離。中間点の空間クエリ範囲の作成に使用
Mapshaperを試すことができます。ファイルサイズによっては、いくつかの制限がある可能性があります。
GRASS v.generalize
Mapshaperからインスパイアされますが、ローカルで直接https://github.com/migurski/Blochをご覧ください