Контурные маски (Картография)

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

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

Более подробно о том, как работают Контурные маски и Маски пересечения слоев

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

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

  • Добавление масок к карте является сложным процессом, который замедляет прорисовку карты и сказывается на процессах печати и экспорта карты. При создании масок для карты вам необходимо решить для себя три основных вопроса: количество масок, сложность масок и будут ли они использоваться для маскирования полигональных объектов, заполненных маркерами или линейными символами. Все это замедляет отображение на экране. Кроме того, производительность печати и экспорта может быть очень низкой, и результаты могут быть неудовлетворительными. Это может произойти из-за системных требований, предъявляемых к печати и экспорту карт с масками, а также из-за ограничений, накладываемых на объем графического файла, в который может быть сохранен результат экспорта карты.

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

  • Этот инструмент по умолчанию отфильтровывает очень мелкие объекты маски из выходных данных Очень мелкие маски, которые могут не отображаться в базовом масштабе карты, удаляются, чтобы выходной класс объектов был оптимальным по производительности. Если ваш рабочий процесс требует наличие мелких объектов маски, отметьте опцию Сохранять объекты небольшого размера, чтобы в выходном классе объектов присутствовали все маски, независимо от размера. Множество масок мелких размеров делают карту и выходные данные более сложными.

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

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

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

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

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

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

Параметры

ПодписьОписаниеТип данных
Входной слой

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

Annotation Layer
Выходной класс объектов

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

Feature Class
Базовый масштаб

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

Double
Вычисление системы координат

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

Spatial Reference
Поля

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

Поле не может быть отрицательным.

Linear Unit
Вид маски

Задает тип геометрии создаваемой маски.

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

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

  • Все объекты аннотацийМаски будут созданы для всех объектов-аннотаций. Это значение по умолчанию
  • Только размещенные объекты аннотацийМаски будут созданы только для объектов со статусом размещенных.
String
Перенос атрибутов
(Дополнительный)

Определяет, какие атрибуты будут перенесены из входных объектов в выходные.

  • Только поле FIDТолько поле FID из входных объектов будет перенесено в выходные объекты. Это значение по умолчанию
  • Все атрибуты, кроме поля FIDВсе атрибуты, кроме FID из входных объектов, будут перенесены в выходные объекты.
  • Все атрибутыВсе атрибуты из входных объектов будут перенесены в выходные объекты.
String
Сохранить объекты небольшого размера
(Дополнительный)

Указывает, будут ли небольшие маскирующие объекты сохранены в выходном классе объектов.

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

Boolean

arcpy.cartography.FeatureOutlineMasks(input_layer, output_fc, reference_scale, spatial_reference, margin, method, mask_for_non_placed_anno, {attributes}, {preserve_small_sized_features})
ИмяОписаниеТип данных
input_layer

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

Annotation Layer
output_fc

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

Feature Class
reference_scale

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

Double
spatial_reference

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

Spatial Reference
margin

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

Поле не может быть отрицательным.

Linear Unit
method

Задает тип геометрии создаваемой маски.

  • BOXБудет создан полигон, представляющий экстент символа объекта.
  • CONVEX_HULLБудет создана выпуклая оболочка символа, отображающего геометрию объекта. Это значение по умолчанию
  • EXACT_SIMPLIFIEDБудет создан генерализованный полигон, представляющий собой точную форму символа объекта. Полигоны, созданные этим методом, будут иметь значительно меньшее количество вершин, по сравнению с полигонами, созданными методом EXACT.
  • EXACTБудет создан полигон, представляющий собой точную форму объекта с назначенным символом.
String
mask_for_non_placed_anno

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

  • ALL_FEATURESМаски будут созданы для всех объектов-аннотаций. Это значение по умолчанию
  • ONLY_PLACEDМаски будут созданы только для объектов со статусом размещенных.
String
attributes
(Дополнительный)

Определяет, какие атрибуты будут перенесены из входных объектов в выходные.

  • ONLY_FIDТолько поле FID из входных объектов будет перенесено в выходные объекты. Это значение по умолчанию
  • NO_FIDВсе атрибуты, кроме FID из входных объектов, будут перенесены в выходные объекты.
  • ALLВсе атрибуты из входных объектов будут перенесены в выходные объекты.
String
preserve_small_sized_features
(Дополнительный)

Указывает, будут ли небольшие маскирующие объекты сохранены в выходном классе объектов.

  • DO_NOT_PRESERVE_SMALL_SIZED_FEATURESНебольшие маскирующие объекты не будут включены в выходной класс объектов. Это значение по умолчанию
  • PRESERVE_SMALL_SIZED_FEATURESВсе объекты маски будут включены в выходной класс объектов.
Boolean

Пример кода

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

В следующем скрипте окна Python показано, как используется функция FeatureOutlineMasks в режиме прямого запуска.

import arcpy
arcpy.env.workspace = "C:/data"
sr = arcpy.SpatialReference(4326)
arcpy.cartography.FeatureOutlineMasks("C:/data/cartography.gdb/transportation/roads",
                                "C:/data/cartography.gdb/transportation/fom_polys",
                                "25000", sr, "5 meters","EXACT_SIMPLIFIED", 
                                "ALL_FEATURES", "ALL")
FeatureOutlineMasks, пример 2 (автономный скрипт)

Этот автономный скрипт демонстрирует пример использования функции FeatureOutlineMasks.

# Name: FeatureOutlineMasks_standalone_script.py
# Description: Creates mask polygons at a specified distance and shape
#           around symbolized features. 
 
# Import system modules
import arcpy

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

# Set local variables
input_layer = "roads.lyrx"
output_fc = "cartography.gdb/transportation/roads_fom_polys"
reference_scale = "25000"
spatial_reference = arcpy.SpatialReference(4326) 
margin = "5 meters"
method = "EXACT_SIMPLIFIED"
mask_for_non_placed_anno = "ONLY_PLACED"
attributes = "ALL"

# Execute Feature Outline Masks
arcpy.FeatureOutlineMasks_cartography(input_layer,
                                      output_fc,
                                      reference_scale,
                                      spatial_reference,
                                      margin, method,
                                      mask_for_non_placed_anno,
                                      attributes)

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

  • Basic: Нет
  • Standard: Нет
  • Advanced: Да

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