esri - 使用 Python 将自定义要素属性添加到 ESRI Shapefile

标签 esri geodjango shapefile osgeo ogr

我正在寻找一种方法来获取具有 200 个国家/地区的功能集的现有 ESRI Shapefile。每个国家/地区 Feature 都有一个“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)

我是否缺少允许我将要素属性字段插入现有 Shapefile 的 OGR 函数?

最佳答案

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

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

关于esri - 使用 Python 将自定义要素属性添加到 ESRI Shapefile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4215658/

相关文章:

sql-server-2008 - 使用 Ogr2ogr 从 SQL Server 创建形状文件

c# - 在 C# 中强制关闭对话框

javascript - 如何保证一个html页面上所有的元素都加载完毕,然后我们在CSS中对元素进行一些修改呢?

mysql - 根据从 MYSQL 检索的 shapefile 数据在 R 中绘制多边形

django - GeoDjango 从 json 或点保存数据

java - 在 android 中使用 ESRI shapefile

python - 检查具有纬度和经度的地理点是否在 shapefile 中

python - 使用 tkinter 分配全局变量并销毁 gui

python - NE、SW 框内的 GeoDjango

django - 外键关系的 GeoDjango 距离查询