数据帧中图层的arcgis python索引

2024-10-04 11:23:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我是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)

Tags: 数据方法函数代码importdf小组事情
1条回答
网友
1楼 · 发布于 2024-10-04 11:23:34

listlayers方法返回ArcGIS图层对象的列表。在表达式中,搜索的是对象的文本名称,而不是对象本身。这就是python将返回“lyr”不在列表中的原因

我也在努力找出正确的方法。到目前为止,我所做的是创建两个列表:

  • 图层对象列表(Layerlist)
  • 图层对象名称列表(retrievelist)

然后我可以从layerlist中提取layer对象,方法是在retrievelist中搜索文本名称,检索索引,然后用该索引位置切片layerlist。它看起来“不干净”,但由于两个列表的顺序完全相同,所以它起作用。在

我想找个更干净的解决办法

相关问题 更多 >