Доступно с лицензией 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 (Дополнительный) | Определяет, будет ли инструмент добавлять вложение с профилем к объекту (диаграммой поперечного сечения) между наблюдателем и целью.
| Boolean |
Пример кода
Скрипт окна 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 используется в скрипте рабочего процесса.
# 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: Да