Построить линии взгляда (3D Analyst)

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

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

Иллюстрация

Построить линии взгляда

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

  • Линии взгляда разбиваются из периметра целевых линий и полигонов на основе значения указанного в параметре Расстояние разбиения. Единицы Расстояние разбиения должны задаваться в единицах x, y выходного класса объектов.

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

  • Если и для объектов наблюдателя, и для целей указан источник высот, то создаются 3D выходные данные. Источник высот наблюдателя и целевых объектов по умолчанию - первое поле в списке:

    1. Shape.Z (доступно только для объектов со значениями Z)
    2. Spot
    3. Z
    4. Z_Value
    5. Height
    6. Elev
    7. Elevation
    8. Contour

    Если нет подходящих полей высот, по умолчанию применяется ключевое слово <None>, чтобы известить об отсутствии z-значений.

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

  • Следующие поля будут добавлены к выходному классу пространственных объектов, содержащему линии взгляда:

    • OID_OBSERV– OID точки наблюдателя
    • OID_TARGET– OID целевого объекта
    • DIST_ALONG– расстояние вдоль целевого объекта, если это линия или полигон
  • Если включен параметр Выводить направления, выходные линии взгляда будут иметь два дополнительных поля атрибутов:

    • AZIMUTH– величина угла в градусах от направления на север по часовой стрелке
    • VERT_ANGLE– вертикальный угол в градусах относительно горизонта, где 90° означает прямо над головой, а -90° - противоположное направление. Вертикальный угол будет значим, только когда указано поле высот.

Параметры

ПодписьОписаниеТип данных
Точки наблюдения

Отдельные точечные объекты, представляющие точки наблюдателя. Мультиточечные объекты не поддерживаются.

Feature Layer
Целевые объекты

Целевые объекты (точки, мультиточки, линии или полигоны).

Feature Layer
Выходные данные

Выходной класс пространственных объектов, содержащий линии взгляда.

Feature Class
Поле высоты наблюдателя
(Дополнительный)

Источник значений высоты для точек наблюдателя – его таблица атрибутов.

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

  • Нет источника высотДля полученных объектов линии взгляда не будут определены Z-значения.
String
Поле высоты цели
(Дополнительный)

Поле высот для цели.

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

  • Нет источника высотДля полученных объектов линии взгляда не будут определены Z-значения.
String
Соединение полей
(Дополнительный)

Присоединенные поля используются для сопоставления наблюдателей и конкретных целей.

  • Нет поля соединенияДля полученных объектов линии взгляда не будут определены Z-значения.
String
Расстояние разбиения
(Дополнительный)

Расстояние между разбиениями, если целевой объект линия или полигон. Единицы Расстояния разбиения даются в единицах x,y выходного класса объектов.

Double
Выводить направление
(Дополнительный)

Определяет, добавлять ли атрибуты направления к выходным линиям взгляда. Два дополнительных поля будут добавлены и заполнены значениями для указания направления: AZIMUTH и VERT_ANGLE (вертикальный угол).

  • Не отмечено: В выходные линии взгляда не будет добавлено никаких атрибутов направления. Это значение по умолчанию
  • Отмечено: Два дополнительных поля будут добавлены и заполнены значениями для указания направления: азимут и вертикальный угол.
Boolean
Метод выборки
(Дополнительный)

Задает способ использования расстояния выборки для поиска линий взгляда вдоль целевого объекта.

  • 2D-расстояние.Расстояние оценивается в двухмерном, декатровом пространстве. Это значение по умолчанию
  • 3D расстояниеРасстояние оценивается в трехмерном пространстве.
String

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
(Дополнительный)

Источник значений высоты для точек наблюдателя – его таблица атрибутов.

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

  • <None>Для полученных объектов линии взгляда не будут определены Z-значения.
  1. Shape.Z
  2. Spot
  3. Z
  4. Z_Value
  5. Height
  6. Elev
  7. Elevation
  8. Contour
String
target_height_field
(Дополнительный)

Поле высот для цели.

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

  • <None>Для полученных объектов линии взгляда не будут определены Z-значения.
  1. Shape.Z
  2. Spot
  3. Z
  4. Z_Value
  5. Height
  6. Elev
  7. Elevation
  8. Contour
String
join_field
(Дополнительный)

Присоединенные поля используются для сопоставления наблюдателей и конкретных целей.

  • <None>Для полученных объектов линии взгляда не будут определены Z-значения.
String
sample_distance
(Дополнительный)

Расстояние между разбиениями, если целевой объект линия или полигон. Единицы Расстояния разбиения даются в единицах x,y выходного класса объектов.

Double
output_the_direction
(Дополнительный)

Определяет, добавлять ли атрибуты направления к выходным линиям взгляда. Два дополнительных поля будут добавлены и заполнены значениями для указания направления: AZIMUTH и VERT_ANGLE (вертикальный угол).

  • NOT_OUTPUT_THE_DIRECTIONВ выходные линии взгляда не будет добавлено никаких атрибутов направления. Это значение по умолчанию
  • OUTPUT_THE_DIRECTIONДва дополнительных поля будут добавлены и заполнены значениями для указания направления: AZIMUTH и VERT_ANGLE (вертикальный угол).
Boolean
sampling_method
(Дополнительный)

Задает способ использования расстояния выборки для поиска линий взгляда вдоль целевого объекта.

  • 2D_DISTANCEРасстояние оценивается в двухмерном, декатровом пространстве. Это значение по умолчанию
  • 3D_DISTANCEРасстояние оценивается в трехмерном пространстве.
String

Пример кода

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

В следующем примере показано использование этого инструмента в окне Python.

arcpy.env.workspace = 'C:/data'
arcpy.ddd.ConstructSightLines('observer_pt.shp', 'target.shp', 'sightlines.shp', 'BASEHEIGHT', 'TOP_HEIGHT', 'NAME', "1", "OUTPUT_THE_DIRECTION")
ConstructSightLines, пример 2 (автономный скрипт)

В следующем примере показано использование этого инструмента в автономном скрипте 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)