我有一個加拿大郵政編碼的shapefile,但我只想加載一小部分數據。我可以加載整個數據文件並使用SQL或Django查詢來修剪數據,但加載過程在我使用的較慢機器上花費大約2個小時。將部分shapefile加載到Postgis/GeoDjango項目中
由於我後面的數據大約是數據集的10%,這不是一個非常有效的過程。
我按照說明在Geodjango tutorial,具體如下代碼:
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工具。
感謝您的快速反應,geomajor56。不幸的是,我僅限於命令行(Linux/OS X),因此需要堅持Python/C/C++庫等。 當然,我也會試一試gis.stackexchange。 –
沒有GIS gui?無賴。希望你瞭解[gdal/ogr](https://pypi.python.org/pypi/GDAL/1.10.0),[fiona](https://pypi.python.org/pypi/Fiona), [勻稱](https://pypi.python.org/pypi/Shapely) – geomajor56
我已經安裝了GDAL(因爲它是Geodjango/Postgis安裝所必需的)。通過GDAL/Fiona/Shapely可以做到這一點嗎?如果是這樣,你能指出我正確的方向嗎?歡呼 –