Disponible con una licencia de 3D Analyst.
Resumen
Muestra las áreas visibles para una o varias ubicaciones de observador.
Uso
Se crea una cuenca visual buscando las áreas visibles desde una o varias ubicaciones de observador especificadas.
Se proyectan datasets intermedios en una proyección equidistante acimutal localizada para mantener la fidelidad de distancia y dirección.
Los polígonos de área de salida tendrán un campo Visibility que contiene el número de observadores que pueden ver un área determinada.
Con una superficie y una o varias ubicaciones de observador, la herramienta creará áreas que sean visibles para uno o varios de los observadores o no visibles para ninguno.
La herramienta utiliza cálculos de refracción y curvatura de la Tierra si la superficie de entrada los admite.
Sintaxis
arcpy.defense.RadialLineOfSight(in_observer_features, in_surface, out_feature_class, {radius}, {observer_height_above_surface})
Parámetro | Explicación | Tipo de datos |
in_observer_features | Los puntos de observador de entrada. | Feature Set |
in_surface | La superficie del ráster de elevación de entrada. | Raster Layer |
out_feature_class | La clase de entidad poligonal de salida que muestra las áreas de superficie visibles y no visibles. | Feature Class |
radius (Opcional) | El radio del área de análisis desde el observador. | Double |
observer_height_above_surface (Opcional) | La altura agregada a la elevación de la superficie del observador. El valor predeterminado es 2. | Double |
Muestra de código
El siguiente script de la ventana de Python muestra cómo utilizar la función RadialLineOfSight.
import arcpy
arcpy.env.workspace = r"C:\Data.gdb"
arcpy.RadialLineOfSight_defense(r"C:/RLOS_Observers",
"Elevation_Dataset",
"RLOS_Output", 5000, 2)
El siguiente ejemplo utiliza la función RadialLineOfSight en un script de flujo de trabajo de ejemplo.
# 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)
Información de licenciamiento
- Basic: Sí
- Standard: Sí
- Advanced: Sí