Línea de visión (3D Analyst)

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.

Obtenga más información sobre cómo funciona Línea de visión

Ilustración

Ilustración de la herramienta Línea de visió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ámetroExplicaciónTipo 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.

  • CURVATURESe tendrá en cuenta la curvatura de la tierra.
  • NO_CURVATURENo se tendrá en cuenta la curvatura de la tierra. Esta es la opción predeterminada.
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.

  • REFRACTIONSe tendrá en cuenta la refracción atmosférica.
  • NO_REFRACTIONNo se tendrá en cuenta la refracción atmosférica. Esta es la opción predeterminada.
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

Ejemplo 1 de LineOfSight (ventana de Python)

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")
Ejemplo 2 de LineOfSight (secuencia de comandos independiente)

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)

Información de licenciamiento

  • Basic: Requiere 3D Analyst
  • Standard: Requiere 3D Analyst
  • Advanced: Requiere 3D Analyst

Temas relacionados