2013-06-16 2 views
0

저는 파이썬에 초보자이며 어디에서나 검색했지만 맵의 레이어 인덱스를 가져 오는 명시적인 메소드를 찾을 수 없습니다. 특히 지정된 데이터 프레임에서 레이어의 인덱스를 가져올 수는 없습니다. ListLayers 함수를 사용하여 레이어를 나열 할 수있었습니다.arcgis python 데이터 프레임 내 레이어의 인덱스

감사

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) 
+0

에 어떤 청소기 솔루션에 관심이있을 것 http://resources.arcgis.com/en/help/main/10.1/index.html#/ListLayers/ 00s30000002n000000 /)이면 ListLayers는 레이어가 ToC에 나타나는 순서대로 목록을 생성합니다. 이 색인 값으로 무엇을하려합니까? – Juffy

답변

2

, 나는이 작동하지 않습니다이 코드를 사용했고, 나 또한 정말 일을 기대하지 않았다, 그러나 나는 다른 것 아무것도 시도했다, 그래서 나는 그룹을 요청하기로 결정 listlayers 메서드는 ArcGIS 레이어 객체의 목록을 반환합니다. 표현식에서 개체 자체가 아니라 개체의 텍스트 이름을 검색합니다. 이것은 왜 파이썬 반환됩니다 ""lyr "목록에 없습니다"

나는 또한 이것에 대한 올바른 방법을 찾으려고 노력하고있어. 무엇 내가 지금까지했던 두 가지 목록을 작성하는 것입니다 : 레이어 객체 (Layerlist) 그때 꺼내 수

계층 개체 이름 (retrievelist)의

  • 목록의

    • 목록을 검색 자의 텍스트 이름을 검색하여 인덱스를 검색 한 다음 해당 인덱스 위치로 레이어 목록을 분할하여 레이어 목록에서 레이어 객체를 추출합니다. 그것은 "부정한"것처럼 보이지만 두 목록 모두 정확히 동일한 순서로 있기 때문에 작동합니다.

      I합니다 ([문서]에 따르면이

  • 관련 문제