Подпись | Описание | Тип данных |
Точки наблюдения | Отдельные точечные объекты, представляющие точки наблюдателя. Мультиточечные объекты не поддерживаются. | Feature Layer |
Целевые объекты | Целевые объекты (точки, мультиточки, линии или полигоны). | Feature Layer |
Выходные данные | Выходной класс пространственных объектов, содержащий линии взгляда. | Feature Class |
Поле высоты наблюдателя (Дополнительный) | Источник значений высоты для точек наблюдателя – его таблица атрибутов. Поле по умолчанию Поле высот наблюдателя выбирается из списка, составленного по приоритетам. В случае множества полей, или когда у желаемого поля не высший приоритет в секции поля по умолчанию, желаемое поля необходимо указать.
| String |
Поле высоты цели (Дополнительный) | Поле высот для цели. Поле по умолчанию Поле высот цели выбирается из списка, составленного по приоритетам. В случае множества полей, или когда у желаемого поля не высший приоритет в секции поля по умолчанию, желаемое поля необходимо указать.
| String |
Соединение полей (Дополнительный) | Присоединенные поля используются для сопоставления наблюдателей и конкретных целей.
| String |
Расстояние разбиения (Дополнительный) | Расстояние между разбиениями, если целевой объект линия или полигон. Единицы Расстояния разбиения даются в единицах x,y выходного класса объектов. | Double |
Выводить направление (Дополнительный) |
Определяет, добавлять ли атрибуты направления к выходным линиям взгляда. Два дополнительных поля будут добавлены и заполнены значениями для указания направления: AZIMUTH и VERT_ANGLE (вертикальный угол).
| Boolean |
Метод выборки (Дополнительный) | Задает способ использования расстояния выборки для поиска линий взгляда вдоль целевого объекта.
| String |
Краткая информация
Создает линейные объекты, представляющие собой линии взгляда с одной или более точек наблюдения к объектам целевого класса пространственных объектов.
Иллюстрация
Использование
Линии взгляда разбиваются из периметра целевых линий и полигонов на основе значения указанного в параметре Расстояние разбиения. Единицы Расстояние разбиения должны задаваться в единицах x, y выходного класса объектов.
Поле соединения используется для определения одного или более целевых объектов для заданного наблюдателя. Если не используются присоединенные поля, все точки будут соединены со всеми целями.
Если и для объектов наблюдателя, и для целей указан источник высот, то создаются 3D выходные данные. Источник высот наблюдателя и целевых объектов по умолчанию - первое поле в списке:
- Shape.Z (доступно только для объектов со значениями Z)
- Spot
- Z
- Z_Value
- Height
- Elev
- Elevation
- Contour
Если нет подходящих полей высот, по умолчанию применяется ключевое слово <None>, чтобы известить об отсутствии z-значений.
Если желаемое поле высот не имеет высокого приоритета в секции поля по умолчанию, его необходимо указать отдельно. По аналогии, если поле высот не является желаемым, но класс объектов содержит одно подходящее поле в секции списка по умолчанию, требуется указать ключевое слово <None>.
Следующие поля будут добавлены к выходному классу пространственных объектов, содержащему линии взгляда:
- OID_OBSERV– OID точки наблюдателя
- OID_TARGET– OID целевого объекта
- DIST_ALONG– расстояние вдоль целевого объекта, если это линия или полигон
Если включен параметр Выводить направления, выходные линии взгляда будут иметь два дополнительных поля атрибутов:
- AZIMUTH– величина угла в градусах от направления на север по часовой стрелке
- VERT_ANGLE– вертикальный угол в градусах относительно горизонта, где 90° означает прямо над головой, а -90° - противоположное направление. Вертикальный угол будет значим, только когда указано поле высот.
Параметры
arcpy.ddd.ConstructSightLines(in_observer_points, in_target_features, out_line_feature_class, {observer_height_field}, {target_height_field}, {join_field}, {sample_distance}, {output_the_direction}, {sampling_method})
Имя | Описание | Тип данных |
in_observer_points | Отдельные точечные объекты, представляющие точки наблюдателя. Мультиточечные объекты не поддерживаются. | Feature Layer |
in_target_features | Целевые объекты (точки, мультиточки, линии или полигоны). | Feature Layer |
out_line_feature_class | Выходной класс пространственных объектов, содержащий линии взгляда. | Feature Class |
observer_height_field (Дополнительный) | Источник значений высоты для точек наблюдателя – его таблица атрибутов. Поле по умолчанию Поле высот наблюдателя выбирается из списка, составленного по приоритетам. В случае множества полей, или когда у желаемого поля не высший приоритет в секции поля по умолчанию, желаемое поля необходимо указать.
| String |
target_height_field (Дополнительный) | Поле высот для цели. Поле по умолчанию Поле высот цели выбирается из списка, составленного по приоритетам. В случае множества полей, или когда у желаемого поля не высший приоритет в секции поля по умолчанию, желаемое поля необходимо указать.
| String |
join_field (Дополнительный) | Присоединенные поля используются для сопоставления наблюдателей и конкретных целей.
| String |
sample_distance (Дополнительный) | Расстояние между разбиениями, если целевой объект линия или полигон. Единицы Расстояния разбиения даются в единицах x,y выходного класса объектов. | Double |
output_the_direction (Дополнительный) |
Определяет, добавлять ли атрибуты направления к выходным линиям взгляда. Два дополнительных поля будут добавлены и заполнены значениями для указания направления: AZIMUTH и VERT_ANGLE (вертикальный угол).
| Boolean |
sampling_method (Дополнительный) | Задает способ использования расстояния выборки для поиска линий взгляда вдоль целевого объекта.
| String |
Пример кода
В следующем примере показано использование этого инструмента в окне Python.
arcpy.env.workspace = 'C:/data'
arcpy.ddd.ConstructSightLines('observer_pt.shp', 'target.shp', 'sightlines.shp', 'BASEHEIGHT', 'TOP_HEIGHT', 'NAME', "1", "OUTPUT_THE_DIRECTION")
В следующем примере показано использование этого инструмента в автономном скрипте Python.
'''*********************************************************************
Name: Sight Line Visibility of Parade Path
Description: This script demonstrates how to create a sight line feature class
from a pair of observer and target points.
*********************************************************************'''
# Import system modules
import arcpy
# Set Local Variables:
arcpy.env.workspace = 'C:/data'
# Setting up input and output variables:
obs = "observer_pts.shp"
tar = "parade_path.shp"
sightlines = "output_sightlines.shp"
height = "<None>"
join_field = "#"
sampling = 0.5
direction = "OUTPUT_THE_DIRECTION"
surface = 'elevation.tif'
bldgs = 'buildings.shp'
arcpy.ddd.ConstructSightLines(obs, tar, sightlines, height, height,
join_field, sampling, direction)
arcpy.ddd.LineOfSight(surface, sightlines, "Parade_LOS.shp",
"Obstructions.shp", in_features=bldgs)