4

オーストラリア選挙管理委員会は、ダウンロード用にオーストラリアの選挙区境界の ESRI および MapInfo 形式の GIS レイヤーを無料で提供しています。このデータを無料ツールでサムネイルのポリゴン画像に変換したい。

4

3 に答える 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 を使用してジオメトリを出力する

matplotlibshapely、および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 に答える