1

カナダの郵便番号を含むシェープファイルがありますが、データの小さなサブセットのみを読み込もうとしています。データ ファイル全体をロードし、SQL または Django クエリを使用してデータを整理できますが、使用している低速のマシンではロード プロセスに約 2 時間かかります。

私が実際に求めているデータはデータセットの約 10% であるため、これはあまり効率的なプロセスではありません。

Geodjango チュートリアル、具体的には次のコードの指示に従っています。

from django.contrib.gis.utils import LayerMapping
from geoapp.models import TestGeo
mapping = {'name' : 'str', # The 'name' model field maps to the 'str' layer field.
               'poly' : 'POLYGON', # For geometry fields use OGC name.
               } # The mapping is a dictionary
lm = LayerMapping(TestGeo, 'test_poly.shp', mapping)
lm.save(verbose=True) # Save the layermap, imports the data.

上記の例のように、特定の名前のデータのみをインポートする方法はありますか?

私は Linux / OS X コマンド ラインに限定されているため、GUI ツールを利用することはできません。

4

2 に答える 2

2

ここと Postgis の皆さん、特にThomasG77 の助けに感謝します

次の行はトリックを行いました:

ogr2ogr PostalCodes.shp CANmep.shp -sql "select * from CANmep where substr(postalcode,1,3) in ('M1C', 'M1R')"

ogr2ogr には GDAL が付属しています。brew install gdalOS X に GDAL をインストールします。別の *nix システムを使用している場合は、次のようにソースからインストールします。

$ wget http://download.osgeo.org/gdal/gdal-1.9.2.tar.gz
$ tar xzf gdal-1.9.2.tar.gz
$ cd gdal-1.9.2
$ ./configure
$ make
$ sudo make install
于 2013-11-05T03:13:59.763 に答える
1

必要な郵便番号がしばらく変わらない場合は、選択した郵便番号のシェープファイルをQGISで作成してみてください。QGIS に慣れていない場合は、調べる価値があります。crs変換、編集、属性テーブルなど、アップロードする前にwebapp用のファイルを準備し、ジオメトリを単純化するために使用します。

gis.stackexchangeには、たくさんのチュートリアルと大きな助けがあります。

まだ行っていない場合は、この質問を gis.stackexchange に送信してください。

これがあなたが始めるのに役立つことを願っています。詳細についてはお気軽にお尋ねください。私は少し前まで django/geodjango を初めて使用しましたが、私が受けたすべての助けに感謝しています。Django は気弱な人向けではありません。

マイケル

于 2013-11-04T14:46:47.290 に答える