Сводка
Создает полигональные маски для класса пространственных объектов из входного линейного слоя с условными обозначениями.
Использование
Этот инструмент только создает маски на концах линий, которые не соединяются (в тупиках). Конец линии считается соединенным, если его конечная точка является общей с конечной точкой другой линии. Для данного инструмента входными объектами могут быть только линейные слои.
Этот инструмент используется для создания масок на концах линий в случаях, когда для линий задано условное обозначение с закругленными концами для сглаживания переходов в местах соединения линий. Линии могут оканчиваться как закругленными концами, так и использовать маскирующие полигоны, созданные с помощью данного инструмента.
Как правило, поля больше, чем 0. Если оно будет равно 0, будут созданы маски, представляющие реальную форму условных знаков объектов.
Если входной линейный слой содержит составную линейную геометрию, маски тупиков создаются для всех конечных точек линии без соединений, в том числе и для окончаний частей составных линейных объектов.
При создании масок важно знать, что добавление масок к карте является сложным процессом, который замедляет прорисовку карты и сказывается на процессах печати и экспорта карты. В общем, при создании масок для карты необходимо учитывать три вещи: количество масок, сложность масок и будут ли они использоваться для маскирования полигональных объектов, заполненных маркерами или линейными символами. Увеличение количества масок, использование более сложных масок, а также маскирование по символам заполнения маркеров или полигонов ведет к замедлению отрисовки карты на экране. Кроме того, производительность печати и экспорта может снизиться или вовсе не давать правильного результата. Это связано с большим объемом обработки, необходимой для печати и экспорта карт с масками, а также из-за известных ограничений в том, как форматы графических файлов хранят результаты экспорта карт, которые имеют много сложных масок.
Значения буферного расстояния указываются в единицах карты или в единицах страницы. В большинстве случаев вы будете указывать значение буферного расстояния в единицах страницы.
Единицы буферного расстояния воспринимаются по-разному, в зависимости от выбранных единиц измерения. Если вы выберете точки, дюймы, миллиметры или сантиметры, маски будут созданы с учетом буферного расстояния, вычисленного в единицах страницы (вы можете представить его как расстояние, измеренное на бумаге). В этом расчете учитывается значение параметра базового масштаба.
Если вы выберете любые другие единицы измерений для буферного расстояния, то маски будут создаваться с учетом буферного расстояния, вычисленного в единицах карты (вы можете думать об этом буферном расстоянии как о реально измеренном расстоянии на поверхности Земли. Также, в этом случае, значение параметра базового масштаба не используется в процессе вычислений.
Синтаксис
arcpy.cartography.CulDeSacMasks(input_layer, output_fc, reference_scale, spatial_reference, margin, {attributes})
Parameter | Объяснение | Тип данных |
input_layer | Входной слой линейных объектов, из которого будут созданы маски. | Layer |
output_fc | Класс пространственных объектов, который будет содержать объекты маски. | Feature Class |
reference_scale | Базовый масштаб используется для вычисления маскирующей геометрии, когда маски указываются в единицах страницы. Как правило, это базовый масштаб карты. | Double |
spatial_reference | Пространственная привязка карты, в которой будут созданы маскирующие полигоны. Это не пространственная привязка, которая будет назначена выходному классу пространственных объектов. Это пространственная привязка карты, в которой будут использованы маскирующие полигоны, поскольку при проецировании объектов местоположение символов может измениться. | Spatial Reference |
margin | Пространство в единицах страницы, окружающее обозначенные входные объекты, которые используются для создания маскирующих полигонов. Как правило, маскирующие полигоны создаются с небольшим буферным расстоянием вокруг символа, чтобы улучшить внешний вид карты. Значения буферного расстояния указываются в единицах карты или в единицах страницы. В большинстве случаев вы будете указывать значение буферного расстояния в единицах страницы. Поле не может быть отрицательным. | Linear Unit |
attributes (Дополнительный) | Определяет атрибуты, которые будут перенесены из входных объектов в выходные объекты.
| String |
Пример кода
Следующий скрипт окна Python показывает, как использовать инструмент CulDeSacMasks в режиме прямого запуска.
import arcpy
arcpy.env.workspace = "C:/data"
arcpy.CulDeSacMasks_cartography("C:/data/cartography.gdb/transportation/roads",
"C:/data/cartography.gdb/transportation/cds_polys",
"25000", "", "5 meters", "ALL")
В этом автономном скрипте показан пример использования инструмента CulDeSacMasks.
# Name: CulDeSacMasks_standalone_script.py
# Description: Creates masks at the unconnected ends of lines in the input layer.
# Import system modules
import arcpy
# Set environment settings
arcpy.env.workspace = "C:/data"
# Set local variables
input_layer = "cartography.gdb/transportation/roads"
outpuf_fc = "cartography.gdb/transportation/cds_polys"
reference_scale = "25000"
spatial_reference = arcpy.Describe(input_layer).spatialReference
margin = "5 meters"
attributes = "ALL"
# Execute Cul De Sac Masks
arcpy.CulDeSacMasks_cartography(input_layer, output_fc, reference_scale,
spatial_reference, margin, attributes)
Environments
Информация о лицензиях
- Basic: Нет
- Standard: Нет
- Advanced: Да