Тупиковые маски (Cul-De-Sac Masks) (Картография)
Резюме
Создает полигональные маски для класса пространственных объектов из входного линейного слоя с условными обозначениями.
Использование
-
Этот инструмент создает маски на концах линий, которые не соединяются во входном слое. Конец линии считается соединительным, если он является общим с конечной точкой другой линии. Для данного инструмента входными объектами могут быть только линейные слои.
Этот инструмент специально используется для создания масок на концах линий в случаях, когда для линий задано условное обозначение с закругленными концами для сглаживания переходов в местах соединения линий. Линии могут оканчиваться как закругленными концами, так и использовать маскирующие полигоны, созданные с помощью данного инструмента.
-
Маски будут созданы, если значение буферного расстояния равно 0 или отрицательное. Если оно будет равно 0, будут созданы полигоны, представляющие действительную форму условного знака объекта. При отрицательном значении будут созданы полигоны, меньшие по размеру, нежели размеры символов. В общем, для буферного расстояния указывают расстояние больше 0, чтобы достичь желаемого эффекта маскирования.
-
Если входной линейный слой содержит составную линейную геометрию, маски тупиков создаются для всех конечных точек линии без соединений, включая и части составных объектов.
-
При создании масок важно знать, что добавление масок к карте является сложным процессом, который замедляет прорисовку карты и сказывается на процессах печати и экспорта карты. Как правило, необходимо учитывать три фактора при создании масок для карты: (1) количество масок, (2) сложность масок и (3) будут ли они использоваться для маскирования полигональных объектов, заполненных маркерами или линейными символами. Увеличение количества масок, использование более сложных масок и/или маскирование поверх маркеров или полигонов приведет к замедлению отрисовки карты на экране. Кроме того, процессы печати и экспорта могут оказаться под угрозой срыва, во-первых, потому что для этих процессов требуется сложная обработка и, во-вторых, из-за существующих ограничений в том, что касается порядка хранения результатов экспорта карт, которые имеют большое число сложных масок, в графических форматах.
-
Значения буферного расстояния указываются в единицах карты или в единицах страницы. В большинстве случаев вы будете определять значение буферного расстояния в единицах страницы.
Значения буферного расстояния воспринимаются по-разному, в зависимости от выбранных единиц измерения. Если вы выберете точки, дюймы, миллиметры или сантиметры, маски будут созданы с учетом буферного расстояния, вычисленного в единицах страницы (вы можете представить его как расстояние, вычисленное на бумаге). Значение параметра базового масштаба учитывается в вычислениях.
Если вы выберете любые другие единицы измерений для буферного расстояния, маски будут созданы с учетом буферного расстояния, вычисленного в единицах карты (вы можете принять его за реальное расстояние на поверхности земли). Также, в связи с этим, значение параметра базового масштаба не используется в процессе вычислений.
Синтаксис
Параметр | Объяснение | Тип данных |
input_layer |
Входной линейный слой, на основании которого будут созданы маски. | Layer |
output_fc |
Класс пространственных объектов, который будет содержать объекты маски. | Feature Class |
reference_scale |
Базовый масштаб используется для вычисления маскирующей геометрии, когда маски указываются в единицах страницы. Как правило, это базовый масштаб карты. | Double |
spatial_reference |
Пространственная привязка, для которой будут созданы маскирующие полигоны. Это не пространственная привязка, которая будет назначена выходному классу пространственных объектов. Это пространственная привязка карты, в которой будут использованы маскирующие полигоны, поскольку местоположение символов может быть изменено при проецировании объектов. | Spatial Reference |
margin |
Пространство в единицах страницы, окружающее условные обозначения входных объектов, используется для создания маскирующих полигонов. Как правило, маскирующие полигоны создаются с небольшим буферным расстоянием вокруг символа, чтобы улучшить внешний вид карты. Значения буферного расстояния указываются в единицах карты или в единицах страницы. В большинстве случаев вы будете определять значение буферного расстояния в единицах страницы. Значения буферного расстояния воспринимаются по-разному, в зависимости от выбранных единиц измерения. Если вы выберете точки, дюймы, миллиметры или сантиметры, маски будут созданы с учетом буферного расстояния, вычисленного в единицах страницы (вы можете представить его как расстояние, вычисленное на бумаге). Значение параметра базового масштаба учитывается в вычислениях. Если вы выберете любые другие единицы измерений для буферного расстояния, маски будут созданы с учетом буферного расстояния, вычисленного в единицах карты (вы можете принять его за реальное расстояние на поверхности земли). Также, в связи с этим, значение параметра базового масштаба не используется в процессе вычислений. | Linear unit |
attributes (дополнительно) |
Определяет, какие атрибуты будут перенесены из входных объектов в выходные.
| String |
Пример кода
Следующий скрипт Окна 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.
# 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)