Arcpy操作ArcMAP中打開的圖層

版權聲明:轉載請註明作者(獨孤尚良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——著

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章