arcpy读取shapfile文件属性表


感想:接触GIS算是有段时间的,中途觉得有时候总用别人的写的脚本,自己能不能搞点东西出来呢?网上搜索都说是python语言写的,

                  所有就花了一段时间,找了一些python的资料看;但是看过之后就懵了。基本语法都能看懂了,但是一说:arcpy是什么还是

                  一头的包,直到看到百度文库里的一遍文章,才知道arcpy其实是一个python中的模块。其中包括数据访问模块 (arcpy.da)、

     制图模块 (arcpy.mapping)、ArcGIS Spatial Analyst 扩展模块 扩展模块 (arcpy.sa) 和ArcGIS Network Analyst 扩展模块 扩展

     模块 (arcpy.na),都可以通过import去导入。在接下来的方向是根据GIS中的帮助文档,来熟悉arcpy

查看shapfile文件属性表需要用到cursor(游标):示例代码

 

上方值得注意的是:arcpy.SearchCursor()方法,帮助文档如下

 

 

其中参数dataset是shapefile文件名(如果没有设置arcpy.env.workspace(),可以使用文件的绝对路径);where_clause是过滤条件,spatial_reference是空间参考;

fields是字段名(是字符串形式例如:‘name;age’,中间用分号隔开);sort_fields是用于排序的字段;

注意:从shapefile中读取中文时(字符串形式的属性列),得到的并不是字符串,而是Unicode形式

实例:读取“F:/GIS_Prctice/test/tt.gdb”此gdb下demon数据集下的‘’mian‘’文件属性

‘mian’文件属性表如下:

 

 

python代码如下:

 

 

 

 

这时候需要进行编码成'gb2312'即可:例如:row.name.encode('gb2312'),推荐使用row.name.encode('gbk');自行百度“gbk”和'gb2312'的区别

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM