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

Resumen

Determina la visibilidad de las líneas de visión sobre una superficie definida por un dataset multiparche, ráster, TIN, terreno o LAS.

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

Uso

Sintaxis

LineOfSight_3d (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

El dataset ráster, TIN, de terreno o LAS que define la superficie utilizada para determinar la visibilidad.

Raster Layer; Terrain Layer; TIN Layer
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. La altura de la observación y las ubicaciones objetivo se obtienen de los valores Z de las entidades 3D y se interpolan a partir de la superficie para las 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. VisCode indica la visibilidad a lo largo de la línea, 1 para visible y 2 para no visible. 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 puntos 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)

Indica si se debe considerar la curvatura de la tierra para el análisis de la línea de vista. Para habilitar esta opción, la superficie debe tener una referencia espacial definida en las 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)

Indica si se debe tener en cuenta la refracción atmosférica al generar una línea de visión a partir de una superficie funcional.

  • 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)

Proporciona un valor que se utilizará en el factor de refracción. El factor de refracción predeterminado es 0,13.

Double
pyramid_level_resolution
(Opcional)

La resolución del nivel de pirámide del dataset de terreno a utilizar para el geoprocesamiento. El valor predeterminado es 0, o resolución completa.

Double
in_features
(Opcional)

Una clase de entidad multiparche opcional que puede definir elementos de obstrucción adicionales, como edificios.

Feature Layer

Ejemplo de código

Ejemplo 1 de LineOfSight (ventana de Python)

El siguiente ejemplo muestra cómo usar de esta herramienta en la ventana Python:

import arcpy
from arcpy import env

arcpy.CheckOutExtension("3D")
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)

El siguiente ejemplo muestra cómo usar esta herramienta en una secuencia de comandos independiente de Python:

'''*********************************************************************
Name: Sight Line Visibility
Description: This script demonstrates how to calculate visibility
             for sight lines against the obstructions presented by
             terrain elevation & building models in a multipatch.
*********************************************************************'''
# Import system modules
import arcpy
import exceptions, sys, traceback
from arcpy import env

try:
    arcpy.CheckOutExtension('3D')
    # Set Local Variables
    env.workspace = 'C:/data'
    obs_pts = "Observers.shp"
    target = "Observation_Targets.shp"
    sight_lines = "in_memory/sightlines"
    surface = "sample.gdb/elevation/terrain"
    buildings = "city_buildings.shp"
    outLOS = arcpy.CreateUniqueName("Line_of_Sight.shp")
    obstruction_pts = arcpy.CreateUniqueName("Obstruction_Points.shp")
    arcpy.AddMessage("Constructing sight lines...")
    arcpy.ddd.ConstructSightLines(obs_pts, target, sight_lines)
    arcpy.AddMessage("Calculating line of sight...")
    arcpy.ddd.LineOfSight(surface, sight_lines, outLOS, obstruction_pts, 
                          "CURVATURE", "REFRACTION", 0.35, 0, buildings)
    arcpy.GetMessages(0)
    arcpy.CheckInExtension("3D")

except arcpy.ExecuteError:
    print arcpy.GetMessages()
except:
    # Get the traceback object
    tb = sys.exc_info()[2]
    tbinfo = traceback.format_tb(tb)[0]
    # Concatenate error information into message string
    pymsg = 'PYTHON ERRORS:\nTraceback info:\n{0}\nError Info:\n{1}'\
          .format(tbinfo, str(sys.exc_info()[1]))
    msgs = 'ArcPy ERRORS:\n {0}\n'.format(arcpy.GetMessages(2))
    # Return python error messages for script tool or Python Window
    arcpy.AddError(pymsg)
    arcpy.AddError(msgs)

Entornos

Temas relacionados

9/11/2013