arcpy를 사용하여 주석 레이어에 액세스하고 싶습니다 (텍스트 주석에서 몇 가지 텍스트 문자열을 확인하는 것입니다). 주석으로 나는 동적 레이블이 아닌 도구 주석을 그립니다 . 이 주석 레이어는 'Default'라는 이름으로 그룹 레이어 아래에 있습니다.
하여 ESRI 문서 층 자체 인 것으로 무승부 주석의 이야기 :
맵 문서에는 피처 레이어, 그룹 레이어 및 래스터 레이어라는 세 가지 범주의 레이어가 있습니다. isFeatureLayer, isGroupLayer 및 isRasterLayer 속성을 사용하면 모든 레이어 유형이 아닌 대부분의 레이어 유형을 식별하거나 분리 할 수 있습니다. 주석 서브 클래스, 차원 피처, 네트워크 데이터 세트, 지형 데이터 세트, 토폴로지 데이터 세트 등 세 가지 범주 중 하나에 속하지 않는 몇 가지 특수화 된 레이어와 데이터 세트가 있습니다. 이 경우, 관심있는 레이어를 분리하기 위해 다른 속성을 테스트해야 할 수도 있습니다.
한 가지 알아야 할 것은 ArcGIS가 그리기 주석을 처리하는 방법 이며, 두 가지 평균 구성이 가능합니다.
ArcGIS는 지오 데이터베이스 및 맵 문서의 두 가지 주석 유형을 완벽하게 지원합니다.
제 경우에는지도 문서입니다.
이 모든 문서에 비추어 그리기 주석은 단순한 레이어 인 것처럼 보이므로 다음과 같은 간단한 코드가 작동해야합니다.
mxd = arcpy.mapping.MapDocument("some\mxdpath\here")
df = arcpy.mapping.ListDataFrames(mxd,"Layers")
lyr = arcpy.mapping.ListLayers(mxd,"current_annotation_layer",df)
그러나 문제는 데이터 프레임을 통해 주석을 얻을 수없는 것입니다 (각 주석 레이어가 피처 레이어와 관련되어 있다는 점에서 이상합니다).
주석에 액세스하기위한 특정 arcpy 클래스 ( ArcObject SDK의 IAnnotationFeature2 와 비슷한 클래스 )? 해결 방법이 있습니까?
감사 !