Construir líneas de visión (3D Analyst)

Resumen

Crea entidades de línea que representan líneas de visión de uno o más puntos de observador para entidades de una clase de entidad del objetivo.

Uso

Sintaxis

ConstructSightLines_3d (in_observer_points, in_target_features, out_line_feature_class, {observer_height_field}, {target_height_field}, {join_field}, {sample_distance})
ParámetroExplicaciónTipo de datos
in_observer_points

Las entidades de punto único que representan puntos de observador. Las entidades multipunto no son compatibles.

Feature Layer
in_target_features

Las entidades de destino (puntos, multipuntos, líneas y polígonos).

Feature Layer
out_line_feature_class

La clase de entidad de salida que contiene las líneas de visión.

Feature Class
observer_height_field
(Opcional)

El origen de los valores de altura para los puntos de observador obtenidos desde la tabla de atributos.

Se selecciona un campo Campo de altura del observador predeterminado de las opciones que se enumeran a continuación por orden de prioridad. Si hay varios campos y el campo deseado no tiene prioridad alta en la selección predeterminada de campos, dicho campo deseado deberá ser especificado. Si no existe ningún campo de altura adecuado, se utilizará la palabra clave <Ninguno>. De modo similar, si no desea un campo de altura pero la clase de entidad tiene uno de los campos enumerados más abajo, se deberá especificar la palabra clave <Ninguno>.

  1. Shape.Z
  2. Punto
  3. Z
  4. Z_Value
  5. Altura
  6. Elev
  7. elevación
  8. Curva de nivel
String
target_height_field
(Opcional)

El campo de altura del destino.

Se selecciona un campo Campo de altura objetivo predeterminado de las opciones que se enumeran a continuación por orden de prioridad. Si hay varios campos y el campo deseado no tiene prioridad alta en la selección predeterminada de campos, dicho campo deseado deberá ser especificado. Si no existe ningún campo de altura adecuado, se utilizará la palabra clave <Ninguno>. De modo similar, si no desea un campo de altura pero la clase de entidad tiene uno de los campos enumerados más abajo, se deberá especificar la palabra clave <Ninguno>. Si no existe ningún campo de altura adecuado, se utilizará de manera predeterminada la palabra clave <Ninguno>.

  1. Shape.Z
  2. Punto
  3. Z
  4. Z_Value
  5. Altura
  6. Elev
  7. elevación
  8. Curva de nivel
String
join_field
(Opcional)

El campo de unión se utiliza para hacer coincidir los observadores con los destinos específicos.

String
sample_distance
(Opcional)

La distancia entre las muestras cuando el destino es una clase de entidad de línea o poligonal. Las unidades de Distancia de muestra se interpretan en las unidades XY de la clase de entidad de salida.

Double

Ejemplo de código

Ejemplo 1 de ConstructSightLines (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.ConstructSightLines_3d('observer_pt.shp', 'target.shp', 
                             'sightlines.shp', 'BASEHEIGHT', 
                             'TOP_HEIGHT', 'NAME')
Ejemplo 2 de ConstructSightLines (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