Ich möchte mit arcpy auf Annotationsebenen zugreifen (der Zweck besteht darin, einige Textzeichenfolgen in Textanmerkungen zu überprüfen). Mit Annotation meine ich Annotationen für Zeichenwerkzeuge , keine dynamischen Beschriftungen. Diese Annotationsebenen befinden sich unter einer Gruppenebene mit dem Namen "Standard".
In der Esri-Dokumentation wird von Zeichnungsanmerkungen als Ebenen selbst gesprochen:
In einem Kartendokument gibt es im Wesentlichen drei Kategorien von Ebenen: Feature-Ebenen, Gruppenebenen und Rasterebenen. Mit den Eigenschaften isFeatureLayer, isGroupLayer und isRasterLayer können Sie die meisten Ebenentypen, aber nicht alle Ebenentypen identifizieren oder isolieren. Es gibt einige spezielle Ebenen und Datensätze, die nicht in eine dieser drei Kategorien fallen: Anmerkungsunterklassen, Dimensionsmerkmale, Netzwerkdatensätze, Geländedatensätze, Topologiedatensätze usw. In diesen Fällen müssen Sie möglicherweise andere Eigenschaften testen, um eine interessierende Schicht zu isolieren, bevor Sie etwas dagegen tun können.
Beachten Sie, wie ArcGIS Zeichnungsanmerkungen verarbeitet . Zwei mittlere Konfigurationen sind möglich:
ArcGIS unterstützt zwei Arten von Anmerkungen vollständig: Geodatabase und Kartendokument
In meinem Fall ist es ein Kartendokument.
In Anbetracht all dieser Dokumentation scheint es, dass Zeichnungsanmerkungen nur Ebenen sind, daher sollte ein einfacher Code wie dieser funktionieren:
mxd = arcpy.mapping.MapDocument("some\mxdpath\here")
df = arcpy.mapping.ListDataFrames(mxd,"Layers")
lyr = arcpy.mapping.ListLayers(mxd,"current_annotation_layer",df)
Das Problem ist jedoch, dass die Anmerkungen nicht über den Datenrahmen verfügbar zu sein scheinen (was seltsam ist, wenn man bedenkt, dass jede meiner Anmerkungsebenen einer Feature-Ebene zugeordnet ist).
Gibt es eine bestimmte Arcpy-Klasse für den Zugriff auf Anmerkungen (eine, die mit IAnnotationFeature2 von ArcObject SDK vergleichbar ist)? Irgendeine Problemumgehung?
Vielen Dank !