我正在寻找采用具有200个国家/地区功能集的现有ESRI Shapefile的方法。每个国家/地区要素的属性均为“NAME”。我的目标是创建一个Python脚本,该脚本添加一个任意(现在)的附加属性,例如“POPULATION”。

当然,我已经安装了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函数,该函数将允许我将Feature属性字段插入到现有的Shapefile中?

最佳答案

要添加字段,您必须创建一个OGRFieldDefn,然后调用inlyr.CreateField

fieldDefn = ogr.FieldDefn('POPULATION', ogr.OFTReal)
fieldDefn.SetWidth(14)
fieldDefn.SetPrecision(6)
inlyr.CreateField(fieldDefn)

10-08 07:34