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.

Ilustración

Construir líneas de visión

Uso

  • Las líneas de visión se muestrean del perímetro de las líneas de destino y los polígonos basados en el valor especificado en el parámetro Distancia de muestra. Las unidades de Distancia de muestra se deben expresar en las unidades x-y de la clase de entidad de salida.

  • Se utiliza un campo de unión para especificar uno o más objetivos para un observador dado. Si no se utiliza ningún campo de unión, todos los puntos estarán conectados a todos los destinos.

  • Se generará una salida tridimensional si se especifica un origen de altura para las entidades de destino y observador. El origen de altura del observador y las entidades de destino se predeterminan según el primer nombre de campo que se encuentra en la lista:

    1. Shape.Z (solo está disponible para las entidades con los valores Z habilitados)
    2. Spot
    3. Z
    4. Z_Value
    5. Height
    6. Elev
    7. Elevation
    8. Contour

    Si no existe ningún campo de altura adecuado, se utilizará de manera predeterminada la palabra clave <Ninguno> para indicar que las entidades no tienen valores en Z.

  • Si el campo de altura deseado no tiene una prioridad mayor en la selección del campo predeterminado, será necesario especificar explícitamente el campo deseado. Del mismo modo, si no se desea un campo de altura pero la clase de entidad contiene uno de los campos en la lista de selección predeterminada, será necesario especificar la palabra clave <Ninguno>.

  • Se agregarán los siguientes campos a la clase de entidad de salida que contiene las líneas de visión:

    • OID_OBSERV: OID del punto de observador
    • OID_TARGET: OID de la entidad de destino
    • DIST_ALONG: distancia a lo largo de la entidad de destino si es una línea o polígono
  • Cuando el parámetro Salida de dirección está habilitado, las líneas de visión de salida tendrán dos campos de atributos adicionales:

    • AZIMUTH: grados desde el norte donde los valores aumentan en el sentido horario
    • VERT_ANGLE: ángulo vertical en grados desde el horizonte, donde 90° está situado directamente encima y -90° directamente debajo. El ángulo vertical solo tiene importancia cuando se especifica un campo de altura.

Sintaxis

arcpy.3d.ConstructSightLines(in_observer_points, in_target_features, out_line_feature_class, {observer_height_field}, {target_height_field}, {join_field}, {sample_distance}, {output_the_direction}, {sampling_method})
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 predeterminado Campo de altura del observador de las opciones que se enumeran a continuación por orden de prioridad. Si hay varios campos y el campo que desea no tiene una prioridad más alta en la selección predeterminada de campos, será necesario especificar ese campo.

  • <None>No se asignarán valores Z a las entidades de las líneas de visión resultantes.
  1. Shape.Z
  2. Spot
  3. Z
  4. Z_Value
  5. Height
  6. Elev
  7. Elevation
  8. Contour
String
target_height_field
(Opcional)

El campo de altura del destino.

Se selecciona un campo predeterminado Campo de altura del objetivo 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.

  • <None>No se asignarán valores Z a las entidades de las líneas de visión resultantes.
  1. Shape.Z
  2. Spot
  3. Z
  4. Z_Value
  5. Height
  6. Elev
  7. Elevation
  8. Contour
String
join_field
(Opcional)

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

  • <None>No se asignarán valores Z a las entidades de las líneas de visión resultantes.
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 muestreo se interpretan en las unidades XY de la clase de entidad de salida.

Double
output_the_direction
(Opcional)

Añade atributos de dirección a las líneas de visión de salida. Se agregarán y rellenarán dos campos adicionales para indicar la dirección: AZIMUTH y VERT_ANGLE (ángulo vertical).

  • NOT_OUTPUT_THE_DIRECTION No se añadirá ningún atributo de dirección a las líneas de visión de salida. Esta es la opción predeterminada.
  • OUTPUT_THE_DIRECTION Se agregarán y rellenarán dos campos adicionales para indicar la dirección: AZIMUTH y VERT_ANGLE (ángulo vertical).
Boolean
sampling_method
(Opcional)

Especifica la forma en la que se utilizará la distancia de muestra para establecer líneas de visión a lo largo de la entidad de destino.

  • 2D_DISTANCELa distancia se evaluará en un espacio cartesiano bidimensional. Esta es la opción predeterminada.
  • 3D_DISTANCELa distancia se evaluará en una longitud tridimensional.
String

Muestra de código

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