Построить линии взгляда (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.ConstructSightLines_3d('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)

Информация о лицензиях

  • Basic: Обязательно 3D Analyst
  • Standard: Обязательно 3D Analyst
  • Advanced: Обязательно 3D Analyst

Связанные разделы