Линейная линия видимости (Оборона)

Доступно с лицензией Advanced.

Доступно с лицензией 3D Analyst.

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

Создает линии видимости между наблюдателями и целевыми объектами.

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

  • Этот инструмент использует инструменты Построить линии взгляда и Линия видимости из набора инструментов 3D Analyst.

  • Наблюдатель является начальной точкой, а цель - конечной точкой линии, используемой для определения видимости.

  • Могут использоваться один или несколько наблюдателей и один или несколько целевых точечных объектов.

  • Все наблюдатели сопоставлены всем целям.

  • Полученные линии показаны цветами: видимые участки отображаются зелеными, а невидимые - красными.

  • В Выходной класс объектов линий взгляда добавляются следующие поля:

    • OID_OBSERV- Object ID точки наблюдения, используемой для создания линии видимости
    • OID_TARGET- Object ID целевой точки, используемой для создания линии видимости
    • TarIsVis- определяет, является ли цель видимой (1) или невидимой (0) для наблюдателя вдоль каждой линии видимости
    • AZIMUTH- азимут направления от местоположения наблюдателя до цели
    • VERT_ANGLE- угол обзора, направленный вверх или вниз (отрицательный угол) от наблюдателя к цели
  • В Выходной класс объектов линии видимости добавляются следующие поля:

    • OID_OBSERV- Object ID точки наблюдения, используемой для создания линии видимости
    • OID_TARGET- Object ID целевой точки, используемой для создания линии видимости
    • VisCode- показывает, видим ли участок поверхности (1) наблюдателю или нет (2)
    • TarIsVis- определяет, является ли цель видимой (1) или невидимой (0) для наблюдателя вдоль каждой линии видимости
    • AZIMUTH- азимут направления от местоположения наблюдателя до цели
    • ObsSPOT- высота наблюдателя
    • TgtSPOT- высота цели
  • В Выходной класс объектов наблюдателя добавляются следующие поля:

    • OID_OBSERV- Object ID точки наблюдения, используемой для создания линии видимости
    • OID_TARGET- Object ID целевой точки, используемой для создания линии видимости
    • AZIMUTH- азимут направления от местоположения наблюдателя до цели
    • VERT_ANGLE- угол обзора, направленный вверх или вниз (отрицательный угол) от наблюдателя к цели
    • TarIsVis- определяет, является ли цель видимой (1) или невидимой (0) для наблюдателя вдоль каждой линии видимости
    • Z- высота поверхности местоположения наблюдателя
    • ObsSPOT- высота наблюдателя
  • В Выходной класс объектов цели добавляются следующие поля:

    • OID_OBSERV- Object ID точки наблюдения, используемой для создания линии видимости
    • OID_TARGET- Object ID целевой точки, используемой для создания линии видимости
    • AZIMUTH- азимут направления от местоположения наблюдателя до цели
    • VERT_ANGLE- угол обзора, направленный вверх или вниз (отрицательный угол) от наблюдателя к цели
    • TarIsVis- определяет, является ли цель видимой (1) или невидимой (0) для наблюдателя вдоль каждой линии видимости
    • Z- высота поверхности местоположения цели
    • TgtSPOT- высота цели
  • Единицы высоты – это единицы поверхности высот.

  • Инструмент использует расчеты кривизны земли и преломления света, если входная поверхность поддерживает их.

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

  • Для доступа к дополнительному графику профиля, используйте инструмент Исследовать для открытия всплывающего окна с профилем объекта выходной линии видимости, который вы хотите просмотреть. Щелкните график для просмотра в полноэкранном режиме. Инструмент Исследовать в группе Навигация на вкладке Карта.

Параметры

ПодписьОписаниеТип данных
Наблюдатели

Входные точки наблюдателей.

Feature Set
Цели

Входные точки целей.

Feature Set
Входная поверхность высот

Входная растровая поверхность высот.

Raster Layer; Mosaic Dataset; Mosaic Layer
Выходной класс линий взгляда

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

Feature Class
Выходной класс линий видимости

Выходной класс линейных объектов, содержащих прямую линию видимости между наблюдателем и целью.

Feature Class
Выходной класс наблюдателей

Выходной класс объектов точек наблюдателей.

Feature Class
Выходной класс целей

Выходной класс объектов точек целей.

Feature Class
Входные объекты препятствий
(Дополнительный)

Входной объект мультипатч, который может служить препятствием для линии видимости

Feature Layer
Высота наблюдателя над поверхностью (метры)
(Дополнительный)

Высота, добавляемая к высоте поверхности наблюдателя. Значение по умолчанию равно 2.

Double
Высота цели над поверхностью (метры)
(Дополнительный)

Высота, добавляемая к высоте поверхности цели. По умолчанию - 0.

Double
Добавить вложение профиля к линии видимости
(Дополнительный)

Определяет, будет ли инструмент добавлять вложение с профилем к объекту (диаграммой поперечного сечения) между наблюдателем и целью.

  • Нет графика профиляГрафик профиля не будет добавлен. Это значение по умолчанию
  • Добавить график профиляГрафик профиля добавляется.
Boolean

arcpy.defense.LinearLineOfSight(in_observer_features, in_target_features, in_surface, out_los_feature_class, out_sight_line_feature_class, out_observer_feature_class, out_target_feature_class, {in_obstruction_features}, {observer_height_above_surface}, {target_height_above_surface}, {add_profile_attachment})
ИмяОписаниеТип данных
in_observer_features

Входные точки наблюдателей.

Feature Set
in_target_features

Входные точки целей.

Feature Set
in_surface

Входная растровая поверхность высот.

Raster Layer; Mosaic Dataset; Mosaic Layer
out_los_feature_class

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

Feature Class
out_sight_line_feature_class

Выходной класс линейных объектов, содержащих прямую линию видимости между наблюдателем и целью.

Feature Class
out_observer_feature_class

Выходной класс объектов точек наблюдателей.

Feature Class
out_target_feature_class

Выходной класс объектов точек целей.

Feature Class
in_obstruction_features
(Дополнительный)

Входной объект мультипатч, который может служить препятствием для линии видимости

Feature Layer
observer_height_above_surface
(Дополнительный)

Высота, добавляемая к высоте поверхности наблюдателя. Значение по умолчанию равно 2.

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

Высота, добавляемая к высоте поверхности цели. По умолчанию - 0.

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

Определяет, будет ли инструмент добавлять вложение с профилем к объекту (диаграммой поперечного сечения) между наблюдателем и целью.

  • NO_PROFILE_GRAPHГрафик профиля не будет добавлен. Это значение по умолчанию
  • ADD_PROFILE_GRAPHГрафик профиля добавляется.
Boolean

Пример кода

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

Пример скрипта в окне Python для использования функции LinearLineOfSight.

import arcpy
arcpy.env.workspace = r"C:/Data.gdb"
arcpy.defense.LinearLineOfSight("LLOS_Obs",
                                "LLOS_Tar",
                                "n36.dt2",
                                "LineOfSight",
                                "SightLines",
                                "Observers",
                                "Targets",
                                None,
                                2,
                                0,
                                "NO_PROFILE_GRAPH")
LinearLineOfSight, пример 2 (автономный скрипт)

В следующем примере функция LinearLineOfSight используется в скрипте рабочего процесса.

# Description: Create Linear Line of Sight to test siting of a radio antenna

# Import system modules
import arcpy

# Set environment settings
arcpy.env.workspace = r"C:/Data.gdb"

# Select antenna to test
antenna_layer = "antennas"
whereClause = "antenna_call_sign = 'KJT'"
test_ant_layer = arcpy.management.MakeFeatureLayer(antenna_layer, whereClause)

# Select observer test location
obs_layer = "observer_locations"
whereClause = "site_name = 'test_site'"
test_obs_layer = arcpy.management.MakeFeatureLayer(obs_layer, whereClause)

# Inputs
input_surface = "n36.dt2"

# Create line of sight between selected antenna and observer locations
arcpy.defense.LinearLineOfSight(test_obs_layer,
                                test_ant_layer,
                                input_surface,
                                "LineOfSight",
                                "SightLines",
                                "Test_Observers",
                                "Test_Targets",
                                None,
                                2,
                                0,
                                "NO_PROFILE_GRAPH")