Сводка
Конвертирует надписи в аннотации для одного слоя или всей карты. Могут быть созданы и обычные, и объектно-связанные аннотации.
Использование
Надписи можно конвертировать в аннотации для одного слоя или для целой карты. Если выбрана конвертация для одного слоя, этот слой должен быть указан и должен находиться на карте.
Поддерживаются диапазоны масштабов класса надписей. Когда инструмент создает аннотации для определенного масштаба карты, конвертируются только классы надписей, которые включены и видимы в данном масштабе.
Примечание:
В ArcGIS Pro диапазоны масштабов классов надписей устанавливаются на вкладке Надписи.
Классы объектов-аннотаций не будут перезаписываться, если будет указан уже существующий суффикс. В этом случае к суффиксу класса объектов-аннотаций будет добавлен номер (например, CitiesAnno, CitiesAnno_1 и т.д.). Полный формат имени является следующим:
<layer name> <duplicate feature class count> <anno suffix> <running number>
Если вы создаете аннотации для большого диапазона базовых масштабов, разрабатывайте оформление вашей карты отдельно для каждого из этих масштабов и не устанавливайте базовый масштаб в карте. Затем можно конвертировать надписи в аннотации для каждого масштаба и назвать их соответственно, например, CitiesAnno_1000, CitiesAnno_100000.
Выходными данными для этого инструмента является составной слой. При работе на панели Каталог, окне Python или с автономным скриптом Python можно применить инструмент Сохранить в файл слоя, чтобы записать выходной составной слой в файл слоя. При использовании ArcGIS Pro, инструмент добавляет составной слой на экран. Создаваемый составной слой является временным и не сохранится по окончании работы в программе, если проект не будет сохранен.
Существующий составной слой будет перезаписан, если будет указано одинаковое имя слоя, и если явным образом указывается разрешение на перезапись выходных данных.
Если не отмечена опция Создать объектно-связанную аннотацию, опция Конвертировать подписи всех слоев в один выходной класс пространственных объектов может использоваться для создания одного класса объектов-аннотаций для всей карты.
При создании одного класса объектов-аннотаций для всей карты, классы подписей со схожими свойствами могут быть слиты в один класс аннотаций посредством опции Слияние схожих классов подписей.
Объектно-связанная аннотация связана с конкретным объектом в другом классе пространственных объектов базы геоданных. Если включена опция Создать объектно-связанную аннотацию, то при создании выходного класса объектов-аннотаций будет автоматически создан также и класс отношений.
При создании объектно-связанных аннотаций выходная рабочая область должна совпадать с рабочей областью классов пространственных объектов, с которыми связываются аннотации.
Некоторые надписи в данный момент могут не отображаться на карте, т.к. для них не хватает места. Для конвертации и этих надписей включите опцию Конвертировать неразмещенные надписи в неразмещенные аннотации. При этом неразмещенные надписи будут сохранены в классе объектов-аннотаций, что позволит позднее разместить их в сеансе редактирования ArcGIS Pro.
Связанные с объектами аннотации не поддерживаются рабочими областями Память и in_memory.
Синтаксис
arcpy.cartography.ConvertLabelsToAnnotation(input_map, conversion_scale, output_geodatabase, {anno_suffix}, {extent}, {generate_unplaced}, {require_symbol_id}, {feature_linked}, {auto_create}, {update_on_shape_change}, {output_group_layer}, {which_layers}, {single_layer}, {multiple_feature_classes}, {merge_label_classes})
Parameter | Объяснение | Тип данных |
input_map | Входная карта. | Map |
conversion_scale | Масштаб, для которого конвертируются надписи. Если на карте задан базовый масштаб, он будет использоваться для изменения размеров символов и создания классов объектов-аннотаций, и конвертация будет происходить в этом масштабе. | Double |
output_geodatabase | Рабочая область, в которой будут сохранены выходные классы пространственных объектов. Рабочая область может представлять собой существующую базу геоданных или существующий набор классов объектов. Если это не та же самая база данных, что используется всеми слоями карты, опция создания объектно-связанных аннотаций будет неактивна. | Workspace; Feature Dataset |
anno_suffix (Дополнительный) | Суффикс, который добавляется к каждому классу объектов аннотаций. Суффикс будет добавлен к имени исходного класса пространственных объектов для каждого нового класса объектов аннотаций. | String |
extent (Дополнительный) | Задает экстент, который содержит надписи, конвертируемые в аннотации.
| Extent |
generate_unplaced (Дополнительный) | Указывает, будут ли создаваться неразмещенные аннотации из неразмещенных надписей.
| Boolean |
require_symbol_id (Дополнительный) | Определяет возможность ограничения редактирования свойств символов.
| Boolean |
feature_linked (Дополнительный) | Лицензия:Этот параметр доступен только с лицензиями ArcGIS Desktop Standard и ArcGIS Desktop Advanced. Выберите, будет ли выходной класс объектов-аннотаций связан с пространственными объектами другого класса пространственных объектов.
| Boolean |
auto_create (Дополнительный) | Указывает, будет ли создаваться аннотация при добавлении нового объекта в класс связанных пространственных объектов, если параметр feature_linked задан как FEATURE_LINKED.
| Boolean |
update_on_shape_change (Дополнительный) | Указывает, будет ли позиция аннотации обновляться при обновлении формы связанного объекта, если для параметра feature_linked задано значение FEATURE_LINKED.
| Boolean |
output_group_layer (Дополнительный) | Составной слой, содержащий созданные аннотации. Можно использовать инструмент Сохранить в файл слоя, чтобы записать выходной составной слой в файл слоя. | Group Layer |
which_layers (Дополнительный) | Задает возможность конвертации аннотаций всех слоев карты либо одного слоя. Необходимо указать Один слой.
| String |
single_layer (Дополнительный) | Слой с конвертируемыми аннотациями, если задано значение which_layers параметра SINGLE_LAYER. Этот слой должен быть на карте. | Feature Layer |
multiple_feature_classes (Дополнительный) | Определяет, будут ли конвертированы подписи в отдельные классы объектов-аннотаций либо в один такой класс. При преобразовании в один класс объектов-аннотаций аннотации не могут быть связаны с объектами.
| Boolean |
merge_label_classes (Дополнительный) | Определяет, будут ли сходные классы подписей объединяться, если для параметра multiple_feature_classes задано значение SINGLE_FEATURE_CLASS.
| Boolean |
Производные выходные данные
Name | Объяснение | Тип данных |
updated_geodatabase | Рабочая область, в которой будут сохранены выходные классы пространственных объектов. | Рабочая область |
Пример кода
Пример Python для инструмента ConvertLabelsToAnnotation, который конвертирует подписи в аннотации для одного слоя карты.
import arcpy
arcpy.cartography.ConvertLabelsToAnnotation(
'Map1', 10000, 'D:/data/Cobourg.gdb', 'Anno', 'MAXOF', 'ONLY_PLACED',
'REQUIRE_ID', 'STANDARD', '', '', 'AnnoLayer', 'SINGLE_LAYER', 'Schools', '', '')
Автономный скрипт, который конвертирует подписи в аннотации для карты при помощи функции ConvertLabelsToAnnotation. Подписи будут конвертированы в один класс объектов-аннотаций, и схожие классы подписей будут объединены.
# Name: ConvertLabelsToAnnotation.py
# Description: Find all the maps in the project and
# convert labels to annotation for each map
# import system modules
import arcpy
# Loop through the project, find all the maps, and
# convert labels to annotation for each map,
# using the name of the map as part of the annotation suffix
project = arcpy.mp.ArcGISProject("D:\\data\\myproject.aprx")
for mp in project.listMaps():
print("Converting labels to annotation for: " + mp.name)
arcpy.cartography.ConvertLabelsToAnnotation(
mp, 10000, 'D:/data/Cobourg.gdb', 'Anno_' + mp.name, 'MAXOF',
'ONLY_PLACED', 'REQUIRE_ID', 'STANDARD', '', '',
'AnnoLayers_' + mp.name, 'ALL_LAYERS', '', 'SINGLE_FEATURE_CLASS',
'MERGE_LABEL_CLASS')
Environments
Информация о лицензиях
- Basic: Да
- Standard: Да
- Advanced: Да