Disponible con una licencia Advanced.
Disponible con una licencia de 3D Analyst.
Resumen
Crea líneas de visión entre observadores y objetivos.
Uso
Esta herramienta utiliza Construir líneas de visión y Línea de visión de la caja de herramientas de 3D Analyst.
El observador es el punto de partida y el objetivo es el extremo de la línea que se usa para determinar la visibilidad.
Se usarán uno o varios observadores y una o varias entidades de punto de objetivo.
Todos los observadores se asignan a todos los objetivos.
Las líneas resultantes se colorean para mostrar secciones visibles (verde) o secciones no visibles (rojo).
Se agregan los siguientes campos a la Clase de entidad de línea de mira de salida:
- OID_OBSERV: el Id. de objeto del punto del observador que se utilizó para crear la línea de visión
- OID_TARGET: el Id. de objeto del punto de objetivo que se utilizó para crear la línea de visión
- TarIsVis: indica si el objetivo es visible (1) o no visible (0) para el observador en cada línea de visión
- AZIMUTH: el acimut desde la ubicación del observador al objetivo
- VERT_ANGLE: el ángulo de visión mirando hacia arriba o hacia abajo (negativo) desde el observador al objetivo
Se agregan los siguientes campos a la Clase de entidad de línea de visión de salida:
- OID_OBSERV: el Id. de objeto del punto del observador que se utilizó para crear la línea de visión
- OID_TARGET: el Id. de objeto del punto de objetivo que se utilizó para crear la línea de visión
- VisCode: indica si el segmento de superficie es visible (1) para el observador o no visible (2)
- TarIsVis: indica si el objetivo es visible (1) o no visible (0) para el observador en cada línea de visión
- AZIMUTH: el acimut desde la ubicación del observador al objetivo
- ObsSPOT: la elevación del observador
- TgtSPOT: la elevación del objetivo
Se agregan los siguientes campos a la Clase de entidad de observador de salida:
- OID_OBSERV: el Id. de objeto del punto del observador que se utilizó para crear la línea de visión
- OID_TARGET: el Id. de objeto del punto de objetivo que se utilizó para crear la línea de visión
- AZIMUTH: el acimut desde la ubicación del observador al objetivo
- VERT_ANGLE: el ángulo de visión mirando hacia arriba o hacia abajo (negativo) desde el observador al objetivo
- TarIsVis: indica si el objetivo es visible (1) o no visible (0) para el observador en cada línea de visión
- Z: la elevación de la superficie en la ubicación del observador
- ObsSPOT: la elevación del observador
Se agregan los siguientes campos a la Clase de entidad de objetivo de salida:
- OID_OBSERV: el Id. de objeto del punto del observador que se utilizó para crear la línea de visión
- OID_TARGET: el Id. de objeto del punto de objetivo que se utilizó para crear la línea de visión
- AZIMUTH: el acimut desde la ubicación del observador al objetivo
- VERT_ANGLE: el ángulo de visión mirando hacia arriba o hacia abajo (negativo) desde el observador al objetivo
- TarIsVis: indica si el objetivo es visible (1) o no visible (0) para el observador en cada línea de visión
- Z: la elevación de la superficie en la ubicación del objetivo
- TgtSPOT: la elevación del objetivo
Las unidades de altura están en las unidades de la superficie de elevación.
La herramienta utiliza cálculos de refracción y curvatura de la Tierra si la superficie de entrada los admite.
Si se utilizan entidades de obstrucción, las líneas de perfil de la superficie resultantes no siguen el perfil de la superficie, pero se extienden directamente entre el observador y el objetivo. Esto cambia el gráfico de perfil opcional.
Sintaxis
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})
Parámetro | Explicación | Tipo de datos |
in_observer_features | Los puntos de observador de entrada. | Feature Set |
in_target_features | Los puntos de objetivo de entrada. | Feature Set |
in_surface | La superficie del ráster de elevación de entrada. | Raster Layer |
out_los_feature_class | La clase de entidad de salida que muestra líneas de áreas de superficie visibles y no visibles. | Feature Class |
out_sight_line_feature_class | La clase de entidad de línea de salida que muestra la línea de visión directa entre el observador y el objetivo. | Feature Class |
out_observer_feature_class | La clase de entidad de punto de observador de salida. | Feature Class |
out_target_feature_class | La clase de entidad de punto de objetivo de salida. | Feature Class |
in_obstruction_features (Opcional) | La entidad multiparche de entrada que puede obstruir las líneas de visión. | Feature Layer |
observer_height_above_surface (Opcional) | La altura agregada a la elevación de la superficie del observador. El valor predeterminado es 2. | Double |
target_height_above_surface (Opcional) | La altura agregada a la elevación de la superficie del objetivo. El valor predeterminado es 0. | Double |
add_profile_attachment (Opcional) | Especifica si la herramienta agregará un adjunto a la entidad con el perfil (gráfico de sección transversal de terreno) entre el observador y el objetivo.
| Boolean |
Muestra de código
El siguiente script de la ventana de Python muestra cómo utilizar la función 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")
El siguiente ejemplo utiliza la función LinearLineOfSight en un script de flujo de trabajo de ejemplo.
# 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")
Información de licenciamiento
- Basic: No
- Standard: No
- Advanced: Sí