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