Надписи листов в аннотации (Картография)

Краткая информация

Конвертирует надписи в аннотации для слоев в карте, основываясь на полигональном индексном слое.

Инструмент разделяет карту на листы и создает поочередно аннотации для каждого листа. Такой подход может быть полезным для конвертации в аннотации большого количества надписей. Индексный слой полигонов может быть создан инструментами Сохранить схему листов кэша картографического сервиса как полигоны и Класс объектов индексной сетки, либо любым другим классом полигональных пространственных объектов, покрывающим территорию, для которой вы хотите создать аннотацию.

Использование

  • Надписи можно конвертировать в аннотации для одного слоя или для целой карты. Если выбрана конвертация для одного слоя, этот слой должен быть указан и должен находиться на карте.

  • Поддерживаются диапазоны масштабов класса надписей. Когда инструмент создает аннотации для определенного масштаба, конвертируются только классы надписей, являющиеся включенными и видимыми в данном масштабе.

    Примечание:

    Диапазоны масштабов классов надписей устанавливаются в свойствах слоев в ArcGIS Pro. После того, как свойства надписей будут настроены, сохраните проект перед запуском инструмента.

  • Если вы выберете листы до запуска данного инструмента, будут созданы аннотации только для выбранных листов.

  • Для того чтобы обновить аннотации только для некоторых листов индексного слоя полигона, сначала выберете объекты аннотаций с нужным значением TileID и удалите их. Затем выберите полигональные объекты и снова запустите инструмент.

  • Выходными данными инструмента являются наборы составных слоев. Каждый составной слой содержит составные слои для всех масштабов, для которых были созданы аннотации.

  • Во время работы в панели Каталог или в ModelBuilder вы можете использовать инструмент Сохранить в файл слоя, чтобы записать выходной составной слой в файл слоя.

  • Составной слой будет записан поверх существующего, если будет указано одинаковое имя слоя, и если явным образом указывается разрешение на перезапись.

  • Если во фрейме данных обнаружены дублирующиеся названия классов пространственных объектов, к тексту аннотации после имени класса объектов будет добавлен номер (например, Cities01Anno10000, Cities02Anno10000 и т.д.).

  • Классы объектов-аннотаций не будут перезаписываться, если будет указан уже существующий суффикс. В этом случае к суффиксу класса объектов-аннотаций будет добавлен номер (например, CitiesAnno10000, CitiesAnno10000_1 и т.д.).

  • Базовый масштаб для класса объектов аннотаций может быть задан одним из следующих двух способов:

    • Первый вариант – использовать поле из слоя индекса полигона для определения базового масштаба выходного класса объектов аннотаций. Используйте этот способ в случае, если вы будете создавать аннотации для нескольких масштабных уровней.
    • Второй способ – явное указание значения базового масштаба. Все классы объектов аннотаций будут использовать это значение базового масштаба. Если базовый масштаб карты задан, он будет использоваться в качестве входного значения по умолчанию для инструмента. Если базовый масштаб карты не задан, значением по умолчанию будет текущий масштаб карты.

  • Если вы работаете со слоем индексов полигона, созданным с помощью инструмента Сохранить схему листов кэша картографического сервиса как полигоны, используйте поле Tile_Scale в качестве Поля базового масштаба. Будет создан класс объектов аннотаций для каждого сочетания layer/Tile_Scale (слой/масштаб листа).

  • Если вы создаете аннотации для разных базовых масштабов, оформите карту отдельно для каждого из этих масштабов, избегая использования базового масштаба.

  • Если указано поле системы координат полигонального слоя индекса, аннотации для каждого листа будут перенесены в соответствующую систему координат с целью их корректного отображения и размещения.

  • Если параметр Создать объектно-связанную аннотацию не выбран, можно использовать параметр Конвертировать надписи из всех слоёв в один выходной класс пространственных объектов, чтобы создать один класс пространственных объектов аннотаций для всей карты.

    При создании одного класса пространственных объектов аннотаций для всей карты классы надписей со схожими свойствами могут быть объединены в один класс аннотаций при помощи параметра Объединить схожие классы надписей.

  • Аннотация, являющая связанной с объектом, относится к определенному объекту другого класса пространственных объектов базы геоданных. Когда вы создаете класс объектно-связанных аннотаций, автоматически будет создан так же класс отношений.

  • При создании объектно-связанных аннотаций выходная рабочая область должна совпадать с рабочей областью классов пространственных объектов, с которыми связываются аннотации.

  • Некоторые надписи в данный момент могут не отображаться на карте, т.к. для них не хватает места. Чтобы конвертировать эти надписи, отметьте опцию Построить неразмещенные аннотации. Неразмещенные надписи будут сохранены в классе объектов-аннотаций, что позволит позднее разместить их во время сеанса редактирования .

  • Связанные с объектами аннотации не поддерживаются рабочими областями Память и in_memory.

  • Этот инструмент учитывает параметр среды Длина текстовой строки поля аннотации. Если он задан, то длина поля по умолчанию для поля TextString будет переопределяться в любых классах объектов аннотаций, созданных в базе данных.

Параметры

ПодписьОписаниеТип данных
Входная карта

Карта, которая содержит надписи, конвертируемые в аннотации.

Map
Полигональный индексный слой

Полигональный слой, содержащий объекты листов.

Table View
Выходная база геоданных

Рабочая область, в которой будут сохранены выходные классы пространственных объектов. Рабочая область может представлять собой существующую базу геоданных или существующий набор классов объектов.

Workspace; Feature Dataset
Выходной слой

Составной слой, содержащий созданные аннотации. Можно использовать инструмент Сохранить в файл слоя, чтобы записать выходной составной слой в файл слоя.

Group Layer
Суффикс аннотации

Суффикс, который добавляется к каждому классу объектов аннотаций. Суффикс будет добавлен к имени исходного класса пространственных объектов для каждого нового класса объектов аннотаций. За этим суффиксом следует значение базового масштаба.

String
Значение базового масштаба
(Дополнительный)

Значение масштаба, который будет использоваться в качестве базового для аннотации. Этот масштаб будет основой для всех размеров символов и текстов в аннотации.

Double
Поле базового масштаба
(Дополнительный)

Поле полигонального слоя индекса, определяющее базовый масштаб для аннотаций. Этот масштаб будет основой для всех размеров символов и текстов в аннотации.

Field
Поле ID листа
(Дополнительный)

Поле полигонального слоя индекса, значение в котором позволяет уникально идентифицировать территорию листа. Этими значениями заполняется поле TileID атрибутивной таблицы класса объектов аннотаций.

Field
Поле системы координат
(Дополнительный)

Поле полигонального слоя индекса, в котором содержится информация о координатной системе каждого листа. Из-за требований, предъявляемых к длине поля, которая необходима для хранения информации о системе координат, полигональный слой индекса, содержащий поле, должен являться классом пространственных объектов базы геоданных.

Field
Поле поворота карты
(Дополнительный)

Поле полигонального слоя индекса, содержащее значения угла, на который будет повернута карта.

Field
Создать объектно-связанную аннотацию
(Дополнительный)
Лицензия:

Этот параметр доступен только с лицензиями ArcGIS Desktop Standard и ArcGIS Desktop Advanced.

Выберите, будет ли выходной класс объектов-аннотаций связан с пространственными объектами другого класса пространственных объектов.

  • Не отмечено – выходной класс объектов аннотаций не будет связан с объектами в другом классе пространственных объектов. Это значение по умолчанию
  • Отмечено – выходной класс объектов-аннотаций будет связан с объектами в другом классе пространственных объектов.

Boolean
Конвертировать неразмещенные надписи в неразмещенные аннотации
(Дополнительный)

Указывает, будут ли создаваться неразмещенные аннотации из неразмещенных надписей.

  • Не отмечено – аннотации будут создаваться только для надписанных объектов. Это значение по умолчанию
  • Отмечено – неразмещенная аннотация будет храниться в классе объектов-аннотаций. Устанавливается значение Unplaced в поле статуса таких аннотаций.
Boolean
Конвертировать
(Дополнительный)

Указывает, будет ли аннотация создана для всех слоев карты или для одного слоя. Необходимо указать Один слой.

  • Все слои в картеНадписи будут конвертированы в аннотации для целой карты. Это значение по умолчанию
  • Один слойНадписи будут конвертированы в аннотации для одного слоя. Необходимо указать этот слой.
String
Векторный слой
(Дополнительный)

Слой, который будет преобразован, если для параметра Конвертировать задано значение Один слой. Этот слой должен быть на карте.

Feature Layer
Необходимо, чтобы символ был выбран из таблицы символов
(Дополнительный)

Указывает, можно ли редактировать все свойства текстовых символов.

  • Не отмечено – все свойства текстовых символов можно редактировать. Это значение по умолчанию
  • Отмечено – -можно редактировать только свойства символов, которые позволяют объектам аннотаций сохранять ссылку на связанный с ними текстовый символ в коллекции.

Boolean
Создавать аннотацию при добавлении нового объекта
(Дополнительный)

Указывает, будет ли создаваться аннотация при добавлении нового объекта в класс связанных пространственных объектов, если включен параметр Создать объектно-связанную аннотацию.

  • Отмечено – при добавлении новых объектов в класс связанных пространственных объектов будут создаваться объектно-связанные аннотации. Это значение по умолчанию
  • Не отмечено – при добавлении новых объектов в класс связанных пространственных объектов объектно-связанные аннотации создаваться не будут.

Boolean
Обновлять аннотацию при изменении формы объекта
(Дополнительный)

Указывает, будет ли обновляться положение аннотации, если обновляется форма связанного пространственного объекта, если включен параметр Создать объектно-связанную аннотацию.

  • Отмечено – положение аннотации при изменении формы связанного пространственного объекта будет обновлено. Это значение по умолчанию
  • Отмечено – положение аннотации при изменении формы связанного пространственного объекта не будет обновлено.

Boolean
Конвертировать надписи из всех слоев в один выходной класс пространственных объектов
(Дополнительный)

Указывает, будут ли надписи преобразованы в отдельные классы объектов-аннотаций или в один класс объектов-аннотаций. При преобразовании в один класс объектов-аннотаций аннотации не могут быть связаны с объектами.

  • Отмечено – подписи из всех слоев будут преобразованы в один класс объектов-аннотаций.
  • Не отмечено - подписи будут преобразованы в отдельные слои объектов-аннотаций, соответствующие слоям. Это значение по умолчанию

Boolean
Объединить схожие классы надписей
(Дополнительный)

Указывает, будут ли объединены схожие классы надписей, если установлен параметр Конвертировать надписи из всех слоев в один выходной класс пространственных объектов.

  • Отмечено - классы надписей с аналогичными свойствами будут объединены при создании одного класса пространственных объектов.
  • Не отмечено - классы надписей со сходными свойствами не будут объединяться. Это значение по умолчанию

Boolean

Производные выходные данные

ПодписьОписаниеТип данных
Выходная база геоданных

Рабочая область, в которой будут сохранены выходные классы пространственных объектов.

Workspace; Feature Dataset

arcpy.cartography.TiledLabelsToAnnotation(input_map, polygon_index_layer, out_geodatabase, out_layer, anno_suffix, {reference_scale_value}, {reference_scale_field}, {tile_id_field}, {coordinate_sys_field}, {map_rotation_field}, {feature_linked}, {generate_unplaced_annotation}, {which_layers}, {single_layer}, {require_symbol_id}, {auto_create}, {update_on_shape_change}, {multiple_feature_classes}, {merge_label_classes})
ИмяОписаниеТип данных
input_map

Карта, которая содержит надписи, конвертируемые в аннотации.

Map
polygon_index_layer

Полигональный слой, содержащий объекты листов.

Table View
out_geodatabase

Рабочая область, в которой будут сохранены выходные классы пространственных объектов. Рабочая область может представлять собой существующую базу геоданных или существующий набор классов объектов.

Workspace; Feature Dataset
out_layer

Составной слой, содержащий созданные аннотации. Можно использовать инструмент Сохранить в файл слоя, чтобы записать выходной составной слой в файл слоя.

Group Layer
anno_suffix

Суффикс, который добавляется к каждому классу объектов аннотаций. Суффикс будет добавлен к имени исходного класса пространственных объектов для каждого нового класса объектов аннотаций. За этим суффиксом следует значение базового масштаба.

String
reference_scale_value
(Дополнительный)

Значение масштаба, который будет использоваться в качестве базового для аннотации. Этот масштаб будет основой для всех размеров символов и текстов в аннотации.

Double
reference_scale_field
(Дополнительный)

Поле полигонального слоя индекса, определяющее базовый масштаб для аннотаций. Этот масштаб будет основой для всех размеров символов и текстов в аннотации.

Field
tile_id_field
(Дополнительный)

Поле полигонального слоя индекса, значение в котором позволяет уникально идентифицировать территорию листа. Этими значениями заполняется поле TileID атрибутивной таблицы класса объектов аннотаций.

Field
coordinate_sys_field
(Дополнительный)

Поле полигонального слоя индекса, в котором содержится информация о координатной системе каждого листа. Из-за требований, предъявляемых к длине поля, которая необходима для хранения информации о системе координат, полигональный слой индекса, содержащий поле, должен являться классом пространственных объектов базы геоданных.

Field
map_rotation_field
(Дополнительный)

Поле полигонального слоя индекса, содержащее значения угла, на который будет повернута карта.

Field
feature_linked
(Дополнительный)
Лицензия:

Этот параметр доступен только с лицензиями ArcGIS Desktop Standard и ArcGIS Desktop Advanced.

Выберите, будет ли выходной класс объектов-аннотаций связан с пространственными объектами другого класса пространственных объектов.

  • STANDARDВыходной класс объектов-аннотаций не будет связан с объектами в другом классе пространственных объектов. Это значение по умолчанию
  • FEATURE_LINKEDВыходной класс объектов-аннотаций будет связан с объектами в другом классе пространственных объектов.
Boolean
generate_unplaced_annotation
(Дополнительный)

Указывает, будут ли создаваться неразмещенные аннотации из неразмещенных надписей.

  • NOT_GENERATE_UNPLACED_ANNOTATIONАннотации будут создаваться только для надписанных объектов. Это значение по умолчанию
  • GENERATE_UNPLACED_ANNOTATIONНеразмещенная аннотация будет храниться в классе объектов-аннотаций. Устанавливается значение Unplaced в поле статуса таких аннотаций.
Boolean
which_layers
(Дополнительный)

Указывает, будет ли аннотация создана для всех слоев карты или для одного слоя. Необходимо указать Один слой.

  • ALL_LAYERSНадписи будут конвертированы в аннотации для целой карты. Это значение по умолчанию
  • SINGLE_LAYERНадписи будут конвертированы в аннотации для одного слоя. Необходимо указать этот слой.
String
single_layer
(Дополнительный)

Слой, который будет преобразован, если для параметра which_layers задано значение SINGLE_LAYER. Этот слой должен быть на карте.

Feature Layer
require_symbol_id
(Дополнительный)

Указывает, можно ли редактировать все свойства текстовых символов.

  • NO_REQUIRE_IDВсе свойства текстовых символов можно редактировать. Это значение по умолчанию
  • REQUIRE_IDМожно редактировать только свойства символов, которые позволяют объектам аннотаций сохранять ссылку на связанный с ними текстовый символ в коллекции.
Boolean
auto_create
(Дополнительный)

Указывает, будет ли создаваться аннотация при добавлении нового объекта в класс связанных пространственных объектов, если параметр feature_linked задан как FEATURE_LINKED.

  • AUTO_CREATEПри добавлении новых объектов в класс связанных пространственных объектов будут создаваться объектно-связанные аннотации. Это значение по умолчанию
  • NO_AUTO_CREATEПри добавлении новых объектов в класс связанных пространственных объектов объектно-связанные аннотации создаваться не будут.
Boolean
update_on_shape_change
(Дополнительный)

Указывает, будет ли положение аннотации обновляться при обновлении формы связанного объекта, если для параметра feature_linked задано значение FEATURE_LINKED.

  • SHAPE_UPDATEПоложение аннотации при изменении формы связанного пространственного объекта будет обновлено. Это значение по умолчанию
  • NO_SHAPE_UPDATEПоложение аннотации при изменении формы связанного пространственного объекта не будет обновлено.
Boolean
multiple_feature_classes
(Дополнительный)

Указывает, будут ли надписи преобразованы в отдельные классы объектов-аннотаций или в один класс объектов-аннотаций. При преобразовании в один класс объектов-аннотаций аннотации не могут быть связаны с объектами.

  • SINGLE_FEATURE_CLASSНадписи из всех слоев будут преобразованы в один класс объектов-аннотаций.
  • FEATURE_CLASS_PER_FEATURE_LAYERНадписи будут преобразованы в отдельные классы объектов аннотаций, соответствующие их слоям. Это значение по умолчанию
Boolean
merge_label_classes
(Дополнительный)

Указывает, будут ли объединены схожие классы надписей, если для параметра multiple_feature_classes задано значение SINGLE_FEATURE_CLASS.

  • MERGE_LABEL_CLASSКлассы надписей с аналогичными свойствами будут объединены при создании одного класса пространственных объектов.
  • NO_MERGE_LABEL_CLASSКлассы надписей со сходными свойствами не будут объединяться. Это значение по умолчанию
Boolean

Производные выходные данные

ИмяОписаниеТип данных
out_workspace

Рабочая область, в которой будут сохранены выходные классы пространственных объектов.

Workspace; Feature Dataset

Пример кода

TiledLabelsToAnnotation, пример (окно Python)

Пример Python для функции TiledLabelsToAnnotation, который конвертирует надписи в аннотации для одного слоя карты на основе полигонального индексного слоя.

import arcpy
arcpy.env.workspace = "C:/data/data.gdb"
arcpy.TiledLabelsToAnnotation_cartography("Map1", "Tiles", "data.gdb", 
                                          "GroupAnno", "Anno", "", "Tile_Scale",  
                                          "OID", "", "", "FEATURE_LINKED", 
                                          "GENERATE_UNPLACED_ANNOTATION", 
                                          "SINGLE_LAYER", "Towns", 
																																										"REQUIRE_ID", "AUTO_CREATE", 
                                          "SHAPE_UPDATE", "", "")
TiledLabelsToAnnotation, пример 2 (скрипт рабочего процесса)

Следующий скрипт демонстрирует рабочий процесс с использованием функций MapServerCacheTilingSchemeToPolygons и TiledLabelsToAnnotation.

# Name: TiledLabelsToAnnotation_Example2.py
# Description: Create a tile feature class and use those tiles to create annotation.
# Requirements: ArcGIS Desktop Advanced license

# Import system modules
import arcpy
import os

# Set environment settings
arcpy.env.workspace = "C:/data/data.gdb"

# Set local variables
aprx = arcpy.mp.ArcGISProject(r"C:/data/Annotation.aprx")
inMap = aprx.listMaps("Map")[0]
inTilingScheme = os.path.join(
    arcpy.GetInstallInfo()['InstallDir'], 
    'Resources\\TilingSchemes\\ArcGIS_Online_Bing_Maps_Google_Maps.xml')
outFeatureClass = "C:/data/data.gdb/Tiles"
inTileExtent = "USE_MAP_EXTENT"
inClipping = "CLIP_TO_HORIZON"
inAntialiasing = "NONE"
inScales = ""

# Execute MapServerCacheTilingSchemeToPolygons
arcpy.MapServerCacheTilingSchemeToPolygons_cartography(
    inMap, inTilingScheme, outFeatureClass, inTileExtent, inClipping, 
    inAntialiasing, inScales)

# Set local variables
inPolygonIndexLayer = "Tiles"
inOutGeodatabase = "C:/data/data.gdb"
outOutLayer = "GroupAnno"
inAnnoSuffix = "Anno"
inRefScaleValue = ""
inRefScaleField = "Tile_Scale"
inTileIDField = "OID"
inCoordSysField = ""
inMapRotationField = ""
inFeatureLinked = "STANDARD"
inGenerateUnplaced = "GENERATE_UNPLACED_ANNOTATION"
inWhichLayers = "ALL_LAYERS"
inSingleLayer = ""
inRequireSymbolID = ""
inAutoCreate = ""
inUpdateOnShapeChange = ""
inMultipleFeatureClasses = "SINGLE_FEATURE_CLASS"
inMergeFeatureClasses = "MERGE_LABEL_CLASS"
 
# Execute TiledLabelsToAnnotation
arcpy.TiledLabelsToAnnotation_cartography(
    inMap, inPolygonIndexLayer, inOutGeodatabase, outOutLayer, inAnnoSuffix, 
    inRefScaleValue, inRefScaleField, inTileIDField, inCoordSysField, 
    inMapRotationField, inFeatureLinked, inGenerateUnplaced, inWhichLayers, 
    inSingleLayer, inRequireSymbolID, inAutoCreate, inUpdateOnShapeChange, 
    inMultipleFeatureClasses, inMergeFeatureClasses)

Информация о лицензиях

  • Basic: Да
  • Standard: Да
  • Advanced: Да

Связанные разделы