Voglio accedere ai livelli di annotazione usando arcpy (lo scopo è verificare poche stringhe di testo nelle annotazioni di testo). Per annotazione intendo le annotazioni degli strumenti di disegno , non le etichette dinamiche. Questi livelli di annotazione si trovano sotto un livello di gruppi con il nome "Predefinito".
La documentazione di Esri parla dell'annotazione del disegno come dei livelli stessi:
Esistono essenzialmente tre categorie di livelli in un documento della mappa: feature layer, layer di gruppo e layer raster. Le proprietà isFeatureLayer, isGroupLayer e isRasterLayer consentono di identificare o isolare la maggior parte dei tipi di layer ma non tutti i tipi di layer. Esistono alcuni livelli e set di dati specializzati che non rientrano in una di queste tre categorie: sottoclassi di annotazioni, funzioni di dimensione, set di dati di rete, set di dati del terreno, set di dati della topologia e così via. In questi casi potrebbe essere necessario testare altre proprietà per isolare uno strato di interesse prima di eseguire operazioni su di esso.
Una cosa da tenere presente è come ArcGIS gestisce le annotazioni di disegno , sono possibili due configurazioni medie:
ArcGIS supporta completamente due tipi di annotazioni: geodatabase e documento mappa
Nel mio caso, è un documento cartografico.
Alla luce di tutta questa documentazione, sembra così che le annotazioni di disegno siano semplici livelli, quindi un semplice codice come questo dovrebbe funzionare:
mxd = arcpy.mapping.MapDocument("some\mxdpath\here")
df = arcpy.mapping.ListDataFrames(mxd,"Layers")
lyr = arcpy.mapping.ListLayers(mxd,"current_annotation_layer",df)
Ma il problema è che le annotazioni non sembrano ottenibili tramite il frame di dati (il che è strano considerando che ciascuno dei miei livelli di annotazione è associato a un livello di funzionalità).
Qualche classe arcpica specifica per accedere alle annotazioni (una paragonabile a IAnnotationFeature2 di ArcObject SDK)? Qualche soluzione?
Grazie !