6

200 か国の機能セットを持つ既存の ESRI シェープファイルを取得する方法を探しています。各国の Feature には「NAME」という属性があります。私の目的は、「POPULATION」などの任意の (今のところ) 追加属性を追加する Python スクリプトを作成することです。

もちろん、OSGeo および GeoDjango モジュールがインストールされています。私はこれまでのところ:

from osgeo import ogr

infile = ogr.Open('sample.shp', 1) #'sample.shp' is a pre-existing ESRI shapefile described above
inlyr = infile.GetLayerByIndex(0)

フィーチャ属性フィールドを既存のシェープファイルに挿入できる OGR 機能がありませんか?

4

1 に答える 1

7

フィールドを追加するには、OGRFieldDefn を作成してから inlyr.CreateField を呼び出す必要があります。

fieldDefn = ogr.FieldDefn('POPULATION', ogr.OFTReal) 
fieldDefn.SetWidth(14) 
fieldDefn.SetPrecision(6)
inlyr.CreateField(fieldDefn)
于 2010-11-23T10:25:01.760 に答える