8

GeoDjango でシェイプ ファイルを使用しています。現在、シェープ ファイルを読み込んでデータベースに保存するコードのテストを作成しようとしています。シェープ ファイルには、現在 64,118 のフィーチャ数があります。テストですばやく読み込み、すべてが正しいことを確認できるように、これを一握りに減らしたいと思います。

形状ファイルはテキスト形式ではないため、いくつかの機能を抽出して新しいファイルに保存するために使用できる無料のアプリケーションまたはライブラリはありますか?

私はライセンスを持っておらず、ESRI 製品ラインへのアクセス権も持っていません。

4

1 に答える 1

13

シェープファイルからレコードのサブセットをエクスポートするには、いくつかのオプションがあります。

  • すべてのオープン ソース デスクトップ GIS でこれを実行できます。より一般的なものには、Quantum GISgvSIG、またはopenJUMPがあります。正確な手順はそれぞれで異なりますが、基本的には形状ファイルをロードし、編集を開始し、必要なレコードを選択して、新しい形状ファイルにエクスポートする必要があります。

  • GDAL パッケージの一部であるogr2ogrツールを使用すると、異なる地理ベクトル形式間で (または同じ形式内で) 変換でき、SQL のような式を指定して元のデータセットをフィルター処理できます。

    ogr2ogr -f "ESRI Shapefile" -where "id < 10" new_shapefile.shp huge_shapefile.shp
    
  • PostGIS を使用していて、以前のアプリをインストールしたくない場合は、pgsql2shpツールを使用して、PostGIS テーブルのサブセットをシェープファイルにエクスポートできます。

    pgsql2shp -f "/path/to/shapefile" -h server -u user -P password postgisdb 
     "SELECT * FROM table WHERE id < 10"
    

編集: 3 つのオプションのいずれかで、属性に基づく選択ではなく、空間フィルター (つまり、境界ボックス内にあるフィーチャ) を実行できます。

于 2010-06-11T08:23:01.893 に答える