オーストラリア選挙管理委員会は、ダウンロード用にオーストラリアの選挙区境界の ESRI および MapInfo 形式の GIS レイヤーを無料で提供しています。このデータを無料ツールでサムネイルのポリゴン画像に変換したい。
質問する
1792 次
3 に答える
4
有権者ごとに個別の画像が必要だと思いますか?もしそうなら、私はpythonを使って次のアプローチを取ります:
GDAL/OGR を使用してジオメトリを読み取ります。
GDAL/OGR ツールとそのpython バインディングをインストールします。選挙区の ESRI シェープファイルをダウンロードします。OGR を使用してポリゴン ジオメトリを読み取れることを確認します。
import sys
import ogr
ds = ogr.Open( "/path/to/boundary/file.shp" )
if ds is None:
print "Open failed.\n"
sys.exit( 1 )
lyr = ds.GetLayer(0)
lyr.ResetReading()
feat = lyr.GetNextFeature()
while feat is not None:
geom = feat.GetGeometryRef()
if geom is None or geom.GetGeometryType() != ogr.wkbPolygon:
print "no poly geometry\n"
feat = lyr.GetNextFeature()
ds.Destroy()
形状の良いデカルト経由で matplotlib を使用してジオメトリを出力する
matplotlib、shapely、およびdecartesをインストールします。上記のスクリプトを変更して、shapely と decartes を介して各ポリゴンを matplob にロードします。
import sys
import ogr
from shapely.wkb import loads
from descartes import PolygonPatch
from matplotlib import pyplot
ds = ogr.Open( "/path/to/boundary/file.shp" )
if ds is None:
print "Open failed.\n"
sys.exit( 1 )
lyr = ds.GetLayer(0)
lyr.ResetReading()
feat = lyr.GetNextFeature()
while feat is not None:
geom = feat.GetGeometryRef()
if geom is None or geom.GetGeometryType() != ogr.wkbPolygon:
print "no poly geometry\n"
else:
# create matplotlib figure:
fig = pyplot.figure(1, figsize = [10,10], dpi = 300) #create 10x10 figure
ax = fig.addsubplot(111) #Add the map frame (single plot)
# add polygon:
patch = PolygonPatch(loads(feature.GetGeometryRef().ExportToWkb()), plus colour and line considerations)
ax.addpatch(patch) # simply add the patch to the subplot
# set plot vars
ax.set_xlim(get xmin and xmax values from data)
ax.set_ylim(get ymin and ymax values from data)
ax.set_aspect(1)
# save as image
pyplot.savefig('somefile.png', some arguments you like)¶
feat = lyr.GetNextFeature()
ds.Destroy()
明らかに、思い通りに描画するには、これを少し修正する必要がありますが、一般的なアプローチは健全なはずです。
于 2010-07-13T02:38:02.697 に答える
2
QGIS をダウンロードして使用する - www.qgis.org この便利なオープン ソース ツールはうまく機能し、多くの一般的な形式 (つまり、もともと ESRI によって開発されたシェープ ファイル) をネイティブに開きます。また、OGR ツールも組み込まれています。
さらに、遊ぶのが楽しく、使いやすいです。
于 2010-07-21T00:34:21.160 に答える
1
FWToolsをチェックしてください。
変換に関するヘルプが必要な場合は、役立つメーリング リストもあります。
于 2010-07-12T05:18:10.693 に答える