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

Доступно с лицензией 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 - высота цели
  • Единицы высоты – это единицы поверхности высот.

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

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

Синтаксис

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})
ParameterОбъяснениеТип данных
in_observer_features

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

Feature Set
in_target_features

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

Feature Set
in_surface

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

Raster 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.LinearLineOfSight_defense("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.MakeFeatureLayer_management(antenna_layer, whereClause)
# Select observer test location
obs_layer = "observer_locations"
whereClause = "site_name = 'test_site'"
test_obs_layer = arcpy.MakeFeatureLayer_management(obs_layer, whereClause)
# Inputs
input_surface = "n36.dt2"
# Create line of sight between selected antenna and observer locations
arcpy.LinearLineOfSight_defense(test_obs_layer,
                                test_ant_layer,
                                input_surface,
                                "LineOfSight",
                                "SightLines",
                                "Test_Observers",
                                "Test_Targets",
                                None,
                                2,
                                0,
                                "NO_PROFILE_GRAPH")

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

  • Basic: Нет
  • Standard: Нет
  • Advanced: Да

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