Я хочу получить доступ к слоям аннотаций с помощью arcpy (целью является проверка нескольких текстовых строк в текстовых аннотациях). Под аннотацией я подразумеваю аннотации инструмента рисования , а не динамические метки. Эти слои аннотаций находятся под слоем групп с именем «По умолчанию».
Документация Esri говорит о том, что аннотации к рисункам являются самими слоями:
Существуют три категории слоев в документе карты: векторные слои, групповые слои и растровые слои. Свойства isFeatureLayer, isGroupLayer и isRasterLayer позволяют идентифицировать или изолировать большинство типов слоев, но не все типы слоев. Существует несколько специализированных слоев и наборов данных, которые не попадают ни в одну из этих трех категорий: подклассы аннотаций, объекты измерений, наборы сетевых данных, наборы данных Terrain, наборы данных топологии и т. Д. В этих случаях вам может потребоваться проверить другие свойства, чтобы изолировать интересующий слой, прежде чем что-то с ним делать.
Следует помнить, что 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 для доступа к аннотациям (сравнимый с IAnnotationFeature2 из ArcObject SDK)? Любое решение?
Спасибо !