我是python新手,我到处都搜索过,但我找不到一个显式的方法来获取映射中某个层的索引,更具体地说,是在给定的数据帧中。 我已经能够使用ListLayers函数列出层。在
我使用了这个代码,但我也没有真正期望它能工作,但我尝试了其他的事情,什么也没有,所以我决定问小组,谢谢
import arcpy
mxd = arcpy.mapping.MapDocument(r"D:\PythonTest\Data\MyMap.mxd")
df = arcpy.mapping.ListDataFrarames(mxd, "MTM8")[0]
listlayer = arcpy.mapping.ListLayers(mxd, "", df)
for lyr in listlayer:
print lyr.index(lyr)
listlayers方法返回ArcGIS图层对象的列表。在表达式中,搜索的是对象的文本名称,而不是对象本身。这就是python将返回“lyr”不在列表中的原因
我也在努力找出正确的方法。到目前为止,我所做的是创建两个列表:
然后我可以从layerlist中提取layer对象,方法是在retrievelist中搜索文本名称,检索索引,然后用该索引位置切片layerlist。它看起来“不干净”,但由于两个列表的顺序完全相同,所以它起作用。在
我想找个更干净的解决办法
相关问题 更多 >
编程相关推荐