GDAL修改shp矢量数据的属性值
2013-08-24 18:37
696 查看
通过GDAL来处理矢量数据,相信大家已经很了解,如有不了解的,可以通过访问李民录的博文《GDAL读写矢量文件——Python》网址:/article/1360937.html,也可以通过OGR的官方网站中的进行教程学习http://www.gdal.org/ogr/ogr_apitut.html。但大家看了之后大多数是读shp文件,创建新的shp文件,添加要素等等。这里我想讲一下关于如何修改已存在的shp文件。
我们跳过怎么打开数据集,获取图层,要素等步骤,直接进入主题:如何在添加一个新的属性列,并且在这个列里面输入你想要输进所数据。
假设获取的数据集名为vector_ds,其图层名为oLayer,那么创建新的属性是需要利用层这一个类中的CreateField()函数。创建一个属性需要用到ogr中的属性FieldDefn(var1,var2),其中第一个参数是你要创建属性日名称,第二个参数是该属性的类型(常用的有ogr.OFTinteger,ogr.OFTReal,ogr.OFTString,分别是整形,浮点型,字符型),然后可以通过创建的这个属性设置相应的内容,比如如果你设置成了字符型 的,你需要设置字符的宽度 函数为SetWidth(100),创建完毕后,需要用此层创建之,oLayer.CreaterField(oNewField).给出例子:创建一个为双精度的属性字段:
一般这样添加的属性是在属性表的最后一列
下面需要对此属性字段添加你要输入的值
遍历层上的每一个要素,在些属性上加入值,如图所示:
下面给出代码:
希望有所帮助
我们跳过怎么打开数据集,获取图层,要素等步骤,直接进入主题:如何在添加一个新的属性列,并且在这个列里面输入你想要输进所数据。
假设获取的数据集名为vector_ds,其图层名为oLayer,那么创建新的属性是需要利用层这一个类中的CreateField()函数。创建一个属性需要用到ogr中的属性FieldDefn(var1,var2),其中第一个参数是你要创建属性日名称,第二个参数是该属性的类型(常用的有ogr.OFTinteger,ogr.OFTReal,ogr.OFTString,分别是整形,浮点型,字符型),然后可以通过创建的这个属性设置相应的内容,比如如果你设置成了字符型 的,你需要设置字符的宽度 函数为SetWidth(100),创建完毕后,需要用此层创建之,oLayer.CreaterField(oNewField).给出例子:创建一个为双精度的属性字段:
oNewField = ogr.FieldDefn("NewField",ogr.OFTReal) #设置精度 oNewField.SetPrecision(8) oLayer.CreateField(oNewField)
一般这样添加的属性是在属性表的最后一列
下面需要对此属性字段添加你要输入的值
遍历层上的每一个要素,在些属性上加入值,如图所示:
下面给出代码:
for feature in oLayer: #获取每个要素的属性的个数 NumOfDefn = feature.GetFieldCount() #要输入的值,注:需要和前面的设置的类型一样,否则会报错 inputData = 100.3 #调用要素下SetField()函数,第一个参数的意思是属性列的编号,最后一列编号为NumOfDefn - 1,依次类推,第二就是要输入的值 feature.SetField(NumOfDefn-1,inputData) #别忘记了,还要重新加载一次,不然不会有结果 oLayer.SetFeature(feature) inputData = inputData + 0.1 #如果操作完成 关闭数据集 vector_ds = None
希望有所帮助
相关文章推荐
- python gdal 修改shp文件的属性值
- 删除GIS数据属性值空格(GDB,MDB,Shp)
- 删除GIS数据属性值空格(GDB,MDB,Shp)
- Erdas:将shp文件保存为Erdas中适用的AOI文件 矢量数据裁剪栅格
- C#+ArcEngine:txt点数据转Shp矢量数据
- GDAL/OGR 1.9.0获取shp文件中中文字段值和属性值乱码文件解决
- 黄土高原 shp 矢量 数据 ArcGIS数据
- GDAL读取S-57海图数据中文属性值乱码问题解决
- 空间矢量数据(.shp文件)之JAVA操作
- 全国shp矢量数据分享(精确到区县)
- 空间矢量数据(.shp文件)之JAVA操作
- GDAL 栅格数据转矢量数据
- GDAL/OGR 1.9.0获取shp文件中中文字段值和属性值乱码文件解决
- GDAL读取S-57海图数据中文属性值乱码问题解决
- 全国行政区划基础矢量数据(精确到乡镇级别)- 全国 shp 矢量数据汇总(四)
- Hibernate插入数据时取字段的默认值,更新时只更新修改过的属性值
- GDAL/OGR 1.9.0获取shp文件中中文字段值和属性值乱码文件解决
- GDAL中文路径不能打开&Shp文件字段属性值中文乱码
- 全国2013年最新电子地图矢量数据超图格SGD、MAPINFO、GST、SMW、SHP格式等
- [GDAL]2.读取栅格和矢量数据