Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
数据帧中图层的arcgis python索引_Python_Arcgis - Fatal编程技术网

数据帧中图层的arcgis python索引

数据帧中图层的arcgis python索引,python,arcgis,Python,Arcgis,我是python新手,我到处都搜索过,但我找不到一个显式方法来获取地图中某个层的索引,更具体地说,是在给定的数据帧中。 我已经能够使用ListLayers函数列出图层 我使用了这个不起作用的代码,我也没有真正期望它能起作用,但是我尝试了其他的东西,什么都没有,所以我决定询问小组,谢谢 import arcpy mxd = arcpy.mapping.MapDocument(r"D:\PythonTest\Data\MyMap.mxd") df = arcpy.mapping.ListDataFr

我是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”不在列表中

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

  • 图层对象列表(图层列表)
  • 图层对象名称列表(检索列表)
然后,我可以通过搜索RetrievelList中的文本名称检索索引,然后使用该索引位置切片layerlist,从layerlist中拉出layerlist对象。它看起来“不干净”,但因为两个列表的顺序完全相同,所以它可以工作

我对任何更干净的解决方案感兴趣,根据,
ListLayers
按照图层在ToC中的显示顺序生成一个列表。你想用这个索引值做什么?