Quiero acceder a las capas de anotación usando arcpy (el propósito es verificar algunas cadenas de texto en las anotaciones de texto). Por anotación quiero decir anotaciones de herramientas de dibujo , no etiquetas dinámicas. Estas capas de anotación están debajo de una capa de grupos con el nombre de 'Predeterminado'.
La documentación de Esri habla de la anotación de dibujo como capas en sí mismas:
Básicamente, hay tres categorías de capas en un documento de mapa: capas de entidades, capas de grupos y capas ráster. Las propiedades isFeatureLayer, isGroupLayer e isRasterLayer le permiten identificar o aislar la mayoría de los tipos de capa pero no todos los tipos de capa. Hay algunas capas y conjuntos de datos especializados que no se incluyen en una de estas tres categorías: subclases de anotación, características de dimensión, conjuntos de datos de red, conjuntos de datos de terreno, conjuntos de datos de topología, etc. En estos casos, es posible que deba probar otras propiedades para aislar una capa de interés antes de hacerle algo.
Una cosa a tener en cuenta es cómo ArcGIS maneja las anotaciones de dibujo , son posibles dos configuraciones medias:
ArcGIS es totalmente compatible con dos tipos de anotación: geodatabase y documento de mapa
En mi caso, es un documento de mapa.
A la luz de toda esta documentación, parece que las anotaciones de dibujo son meras capas, por lo que un código simple como este debería funcionar:
mxd = arcpy.mapping.MapDocument("some\mxdpath\here")
df = arcpy.mapping.ListDataFrames(mxd,"Layers")
lyr = arcpy.mapping.ListLayers(mxd,"current_annotation_layer",df)
Pero el problema es que las anotaciones no parecen obtenibles a través del marco de datos (lo cual es extraño teniendo en cuenta que cada una de mis capas de anotaciones está asociada a una capa de entidades).
¿Alguna clase específica de arcpy para acceder a las anotaciones (una comparable a IAnnotationFeature2 de ArcObject SDK)? ¿Alguna solución?
Gracias !