版權聲明:轉載請註明作者(獨孤尚良dugushangliang)出處:https://blog.csdn.net/dugushangliang/article/details/106061443
ArcMAP首先打開了一個矢量圖層china,導入arcpy後通過下面的代碼可以獲取此圖層中有多少要素。
cnt=arcpy.GetCount_management('china')
但有一個問題是,下面的代碼卻是無效的。
shp='china'
cnt=arcpy.GetCount_management(shp)
這個和ArcMAP的Python窗口的機制有關,其解決辦法如下:
shp='china'
mxd = arcpy.mapping.MapDocument("CURRENT")
df=arcpy.mapping.ListDataFrames(mxd)[0]
lyr=arcpy.mapping.ListLayers(mxd,shp)[0]
cnt=arcpy.GetCount_management(lyr)
通過Listlayers找到這個圖層並指向這個圖層纔可以用。這是因爲shp傳入只是一個字符串,並非所需的圖層對象。而直接代碼輸入的‘china’則可以自動識別爲圖層對象。
獨孤尚良dugushangliang——著