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

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

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

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

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

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

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

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

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

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

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

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

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

Параметры

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

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

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

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

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

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

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

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

Spatial Reference
Расширение

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

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

Linear Unit
Вид маски

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

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

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

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

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

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

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

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

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

Пример кода

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

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

import arcpy
arcpy.env.workspace = "C:/data"
sr = arcpy.SpatialReference(4326)
arcpy.FeatureOutlineMasks_cartography("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: Да

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