Доступно с лицензией 3D Analyst.
Сводка
Показывает области, видимые из одного или нескольких мест наблюдения.
Использование
Видимость создается путем нахождения областей, видимых из одного или нескольких указанных местоположений наблюдателя.
Промежуточные наборы данных проецируются в локализованную азимутальную равнопромежуточную проекцию, что позволяет выдерживать достаточную точность измерения расстояний и направлений.
Выходные полигоны областей будут содержать поле Visibility со значением числа наблюдателей, которым видна соответствующая область.
Используя поверхность и одно или несколько местоположений наблюдателей, инструмент создаст области, которые будут видны одному или нескольким наблюдателям или не видны никому из них.
Инструмент использует расчеты кривизны земли и преломления света, если входная поверхность поддерживает их.
Синтаксис
arcpy.defense.RadialLineOfSight(in_observer_features, in_surface, out_feature_class, {radius}, {observer_height_above_surface})
Parameter | Объяснение | Тип данных |
in_observer_features | Входные точки наблюдателей. | Feature Set |
in_surface | Входная растровая поверхность высот. | Raster Layer |
out_feature_class | Выходной класс полигональных объектов, который отображает видимые и невидимые области поверхности. | Feature Class |
radius (Дополнительный) | Радиус области анализа от наблюдателя. | Double |
observer_height_above_surface (Дополнительный) | Высота, добавляемая к высоте поверхности наблюдателя. Значение по умолчанию равно 2. | Double |
Пример кода
Скрипт окна Python, демонстрирующий использование инструмента RadialLineOfSight.
import arcpy
arcpy.env.workspace = r"C:\Data.gdb"
arcpy.RadialLineOfSight_defense(r"C:/RLOS_Observers",
"Elevation_Dataset",
"RLOS_Output", 5000, 2)
В следующем примере функция RadialLineOfSight используется в скрипте рабочего процесса.
# Import system modules
import arcpy
# Set environment settings
arcpy.env.workspace = r"C:/Data.gdb"
arcpy.env.overwriteOutput = True
# Select points from observers from input
observers = "Observers"
branch = "Branch"
whereClause = "Marines = 'Yes'"
arcpy.Select_analysis(branch, Marines, whereClause)
# Create Radial Line Of Sight using Marine observers
in_observer_features = "Observers"
in_surface = "Elevation_Dataset"
out_feature_class = "RLOS_Observers_Marines"
radius = "METERS"
observer_height_above_surface = "METERS"
arcpy.RadialLineOfSight_defense(Observers,
Elevation_Dataset,
RLOS_Observers_Marines,
1000,
2)
Информация о лицензиях
- Basic: Да
- Standard: Да
- Advanced: Да