感想:接觸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'的區別