11 votos

Manejar capas de anotación con arcpy

Quiero acceder a la anotación de capas utilizando arcpy (el objetivo es verificar par de cadenas de texto en las anotaciones de texto). A través de la anotación me refiero a la herramienta de dibujo anotaciones, no etiquetas dinámicas. Estas capas de anotación están bajo grupos de la capa con el nombre de 'Default'.

El Esri documentación habla de dibujar anotación como propias capas :

Hay, esencialmente, tres categorías de capas en un documento de mapa: característica de capas, las capas de grupo, y las capas ráster. El isFeatureLayer, isGroupLayer, y isRasterLayer propiedades permiten identificar o aislar la mayoría de los tipos de capas, pero no todos los tipos de capas. Hay algunos especializados capas y conjuntos de datos que no caiga en una de estas tres categorías: la anotación de las subclases, las funciones de dimensión, de la red de conjuntos de datos, el terreno de los conjuntos de datos, topología de conjuntos de datos, y así sucesivamente. En estos casos puede que tenga que probar otras propiedades para aislar una capa de interés antes de hacer algo con él.

Una cosa a tener en cuenta es cómo ArcGIS maneja dibujar anotaciones, significa dos configuraciones posibles :

ArcGIS totalmente compatible con dos tipos de anotación: geodatabase y documento de mapa

En mi caso, del documento de mapa.


A la luz de toda esta documentación, así que parece que dibujar anotaciones son meros capas, por lo tanto un simple código como este deberían estar trabajando :

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 que pueden obtenerse a través dataframe (lo cual es extraño teniendo en cuenta que cada una de mis capas de anotación se asocia a una característica de la capa).


Cualquier específicos de arcpy de la clase para acceder a las anotaciones (comparables a IAnnotationFeature2 de ArcObject SDK)? Cualquier solución ?

Gracias !

4voto

auramo Puntos 161

ArcPy no exponer a todos los de ArcObjects. Por lo que puedo decir, esta es una de las muchas interfaces que no son expuestos en ArcPy. Sólo la Página de Diseño de los elementos expuestos en arcpy: ListLayoutElements (arcpy.mapeo)

Si usted necesita para hacer de este su única opción es la de ArcObjects. Si desea utilizar Python, consulte ¿Cómo puedo acceder a ArcObjects desde Python?

De lo contrario, es posible que desee buscar o crear una ArcGIS Idea sobre esto (el único relevante existente idea que encontré fue este uno).

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X