Resumen
Determina la visibilidad de las líneas de visión por encima de obstáculos que constan de una superficie y un dataset multiparche opcional.
Ilustración
Uso
Solo los extremos de la línea de entrada se utilizan para definir el observador y el destino. Las líneas de visión deberían ser líneas rectas compuestas por dos vértices que representan el punto de observación y la ubicación de destino para la cual se determina la visibilidad.
Considere la posibilidad de crear líneas de visión con la herramienta Construir líneas de visión si la ubicación del observador está identificada por entidades de punto y los destinos de visibilidad residen en una clase de entidad diferente.
Las líneas de salida se dividirán a lo largo de las partes visibles e invisibles de la línea de visión de entrada. Si solo se utiliza una superficie para determinar la visibilidad de la línea de visión, las líneas de salida seguirán el perfil de la superficie. Si se proporciona una entidad multiparche al calcular la línea de visión, las líneas de salida seguirán la trayectoria de las líneas de visión de entrada.
La tabla de atributos de la entidad de línea de salida contiene los siguientes campos:
- SourceOID: Id. único de la entidad de línea que se utiliza en el cálculo de la visibilidad.
- VisCode: visibilidad a lo largo de la línea. Un valor de 1 indica visible y un valor de 2 indica no visible. El campo solo existirá si la geometría de salida es una línea.
- TarIsVis: visibilidad del objetivo a lo largo de la línea. Un valor de 1 indica visible y un valor de 0 indica no visible. El campo solo existirá si la geometría de salida es una línea.
- OBSTR_MPID: Id. único del multiparche que obstruye la línea de visión. Si no hay ningún multiparche que obstruya la línea de visión, el campo contendrá el valor -1 o bien -9999. Si la superficie obstaculiza el objetivo, el valor será -1. Si el objetivo está visible, el valor será -9999.
Sintaxis
arcpy.3d.LineOfSight(in_surface, in_line_feature_class, out_los_feature_class, {out_obstruction_feature_class}, {use_curvature}, {use_refraction}, {refraction_factor}, {pyramid_level_resolution}, {in_features})
Parámetro | Explicación | Tipo de datos |
in_surface | La capa de escena de malla integrada, dataset LAS, ráster, TIN o superficie de terreno que se utiliza para determinar la visibilidad. | TIN Layer; Raster Layer; Mosaic Layer; Terrain Layer; LAS Dataset Layer; Scene Layer; File |
in_line_feature_class | Las entidades de línea cuyo primer vértice define el punto de observación y el último vértice identifica la ubicación de destino. Las alturas de la observación y ubicaciones de destino se obtienen de los valores z de entidades 3D y se interpolan desde la superficie para entidades 2D. Las líneas 2D también tienen un desplazamiento predeterminado de 1 agregado a su elevación, para elevar los puntos sobre la superficie. Si la entidad tiene un campo OffsetA, su valor se agregará a la altura del punto de observación. Si existe el campo OffsetB, su valor se agregará a la altura de la posición de destino. | Feature Layer |
out_los_feature_class | La clase de entidad de línea de salida a lo largo de la cual se ha determinado la visibilidad. Se crean dos atributos de campo. El campo VisCode indica la visibilidad a lo largo de la línea: 1 para visible y 2 para no visible. El campo TarIsVis indica la visibilidad del destino: 0 para no visible y 1 para visible. | Feature Class |
out_obstruction_feature_class (Opcional) | Una clase de entidad de punto opcional que identifica la ubicación de la primera obstrucción sobre la línea de visión del observador a su destino. | Feature Class |
use_curvature (Opcional) | Especifica si se considerará la curvatura de la Tierra para el análisis de línea de visión. Para habilitar este parámetro, la superficie debe tener una referencia espacial definida en coordenadas proyectadas con unidades z definidas.
| Boolean |
use_refraction (Opcional) | Especifica si se tendrá en cuenta la refracción atmosférica al generar una línea de visión a partir de una superficie funcional. Este parámetro no se aplica si se utilizan entidades multiparche.
| Boolean |
refraction_factor (Opcional) | El valor que se utilizará en el factor de refracción. El valor predeterminado es 0.13. | Double |
pyramid_level_resolution (Opcional) | La tolerancia Z o la resolución del tamaño de la ventana del nivel de pirámide de terreno que se utilizará. El valor predeterminado es 0, o resolución completa. | Double |
in_features (Opcional) | Una entidad multiparche que puede definir elementos de obstrucción adicionales, como edificios. Las opciones de refracción no se respetan para esta entrada. | Feature Layer |
Muestra de código
En el siguiente ejemplo se muestra cómo usar esta herramienta en la ventana de Python.
arcpy.env.workspace = "C:/data"
arcpy.LineOfSight_3d("tin", "line.shp", "los.shp", "buldings_multipatch.shp",
"obstruction.shp")
En el siguiente ejemplo se muestra cómo usar esta herramienta en un script independiente de Python.
'''*********************************************************************
Name: Sight Line Visibility of Parade Path
Description: This script demonstrates how to create a sight line feature class
from a pair of observer and target points.
*********************************************************************'''
# Import system modules
import arcpy
# Set Local Variables:
arcpy.env.workspace = 'C:/data'
# Setting up input and output variables:
obs = "observer_pts.shp"
tar = "parade_path.shp"
sightlines = "output_sightlines.shp"
height = "<None>"
join_field = "#"
sampling = 0.5
direction = "OUTPUT_THE_DIRECTION"
surface = 'elevation.tif'
bldgs = 'buildings.shp'
arcpy.ddd.ConstructSightLines(obs, tar, sightlines, height, height,
join_field, sampling, direction)
arcpy.ddd.LineOfSight(surface, sightlines, "Parade_LOS.shp",
"Obstructions.shp", in_features=bldgs)
Entornos
Información de licenciamiento
- Basic: Requiere 3D Analyst
- Standard: Requiere 3D Analyst
- Advanced: Requiere 3D Analyst