Horizonte (3D Analyst)

Resumen

Genera una clase de entidad de línea o multiparche que contiene los resultados de un análisis de horizonte o silueta.

Más información sobre cómo funciona Horizonte

Ilustración

Horizonte

Uso

  • La herramienta Horizonte se puede utilizar para crear siluetas de entidades que se pueden extrudir en volúmenes de sombra con la herramienta Barrera de horizonte. Ver más información en Cómo funciona Horizonte.

  • Los siguientes campos se agregarán a la clase de entidad de salida que contiene los horizontes:

    • OBSV_PT_ID: FID del punto del observador que se utilizó para crear este horizonte.
    • ORIGFTR_ID: FID de la entidad, por ejemplo, un edificio.
  • Los siguientes campos se agregarán a la clase de entidad de salida que contiene las siluetas:

    • OBSV_PT_ID: FID del punto del observador que se utilizó para crear esta silueta.
    • ORIGFTR_ID: FID de la entidad original, por ejemplo, un edificio, representada por esta silueta.
    • DIR_VECT_X: componente X del vector unitario que representa la dirección de los rayos de luz desde el observador.
    • DIR_VECT_Y: componente Y del vector unitario que representa la dirección de los rayos de luz desde el observador.
    • DIR_VECT_Z: componente Z del vector unitario que representa la dirección de los rayos de luz desde el observador.
    • FEAT_CTR_X: componente X del centro del sobre de la entidad original (por ejemplo, edificio).
    • FEAT_CTR_Y: componente Y del centro del sobre de la entidad.
    • FEAT_CTR_Z: componente Z del centro del sobre de la entidad.
    • BHND_CTR_X: componente X del centro del sobre de la entidad, que se movió detrás de la entidad.
    • BHND_CTR_Y: componente Y del centro del sobre de la entidad, que se movió detrás de la entidad.
    • BHND_CTR_Z: componente Z del centro del sobre de la entidad, que se movió detrás de la entidad.
    • USED_PARLL: indica si la silueta se creó usando rayos de luz paralelos (1 para sí, 0 para no).
    • MADE_VERT: indica si la silueta se hizo vertical, en lugar de perpendicular, respecto de los rayos de luz (1 para sí, 0 para no).
    • MOVED_BHND: indica si la silueta se movió detrás de la entidad, en lugar de mantenerse en el centro (1 para sí, 0 para no).

Sintaxis

arcpy.3d.Skyline(in_observer_point_features, out_feature_class, {in_surface}, {virtual_surface_radius}, {virtual_surface_elevation}, {in_features}, {feature_lod}, {from_azimuth_value_or_field}, {to_azimuth_value_or_field}, {azimuth_increment_value_or_field}, {max_horizon_radius}, {segment_skyline}, {scale_to_percent}, {scale_according_to}, {scale_method}, {use_curvature}, {use_refraction}, {refraction_factor}, {pyramid_level_resolution}, {create_silhouettes})
ParámetroExplicaciónTipo de datos
in_observer_point_features

Los puntos 3D que representan los observadores. Cada entidad tendrá su propia salida.

Feature Layer
out_feature_class

Las entidades 3D que serán líneas que representan el horizonte o multiparches que representan siluetas.

Feature Class
in_surface
(Opcional)

La superficie topográfica que se utilizará para definir el horizonte. Si no se indica una superficie, se utilizará una superficie virtual empleando los parámetros virtual_surface_radius y virtual_surface_elevation.

LAS Dataset Layer; Mosaic Layer; Raster Layer; TIN Layer; Terrain Layer
virtual_surface_radius
(Opcional)

El radio de la superficie virtual que se utilizará para definir el horizonte cuando no se indica una superficie topográfica. El valor predeterminado es 1,000 metros.

Se admiten las siguientes unidades:

  • UNKNOWNDesconocido
  • INCHESPulgadas
  • FEETPies
  • YARDSYardas
  • MILESMillas
  • MILLIMETERSMilímetros
  • CENTIMETERSCentímetros
  • DECIMETERSDecímetros
  • METERSMetros
  • KILOMETERSKilómetros
Linear Unit
virtual_surface_elevation
(Opcional)

La elevación de la superficie virtual para definir el horizonte en lugar de una superficie real. Se ignora si se proporciona una superficie real. El valor predeterminado es 0.

Se admiten las siguientes unidades:

  • UNKNOWNDesconocido
  • INCHESPulgadas
  • FEETPies
  • YARDSYardas
  • MILESMillas
  • MILLIMETERSMilímetros
  • CENTIMETERSCentímetros
  • DECIMETERSDecímetros
  • METERSMetros
  • KILOMETERSKilómetros
Linear Unit
in_features
[in_features,...]
(Opcional)

Las entidades utilizadas para determinar el horizonte. Si no se especifican las entidades, el horizonte constará solamente de la línea de horizonte tal y como se haya definido en la superficie topográfica o virtual.

Feature Layer
feature_lod
(Opcional)

El nivel de detalle en el que se debe examinar cada entidad en el análisis de horizonte.

  • FULL_DETAILSe considera cada borde dentro de la entidad en el análisis del horizonte (solo se consideran bordes de triángulos y anillos exteriores). Esta operación intensiva es la más precisa y también es la opción predeterminada.
  • CONVEX_FOOTPRINTEn el análisis del horizonte se utilizará el perímetro superior de la envoltura convexa de la huella de cada entidad, extruido hasta la elevación del vértice más alto dentro de la entidad.
  • ENVELOPE En el análisis del horizonte se utilizará el perímetro del sobre de la entidad tridimensional. Esta es la técnica más rápida.
String
from_azimuth_value_or_field
(Opcional)

El acimut, en grados, desde el cual debe comenzar el análisis del horizonte. El análisis comienza en el punto del observador y se mueve hacia la derecha, desde el valor de Acimut de origen hasta que llega al valor de Acimut de destino. Debe ser mayor que menos 360 y menor que 360. El valor predeterminado es 0.

Double; Field
to_azimuth_value_or_field
(Opcional)

La dirección, en grados, en la que debe completarse el análisis del horizonte. El análisis comienza en el punto del observador y se mueve hacia la derecha, desde el valor de Acimut de origen hasta que llega al valor de Acimut de destino. No debe ser más de 360 mayor que el Acimut de origen. El valor predeterminado es 360.

Double; Field
azimuth_increment_value_or_field
(Opcional)

El intervalo angular, en grados, en el que se debe evaluar el horizonte mientras se realiza el análisis del horizonte entre el Acimut de origen y el Acimut de destino. No debe ser mayor que el resultado del Acimut de destino menos el Acimut de origen. El valor predeterminado es 1.

Double; Field
max_horizon_radius
(Opcional)

La distancia máxima a la cual se debe buscar un horizonte desde la ubicación de observador. Un valor de cero indica que no debe haber límite impuesto. El valor predeterminado es 0.

Se admiten las siguientes unidades:

  • UNKNOWNDesconocido
  • INCHESPulgadas
  • FEETPies
  • YARDSYardas
  • MILESMillas
  • MILLIMETERSMilímetros
  • CENTIMETERSCentímetros
  • DECIMETERSDecímetros
  • METERSMetros
  • KILOMETERSKilómetros
Linear Unit
segment_skyline
(Opcional)

Determina si el horizonte resultante tendrá una entidad para cada punto del observador o si el horizonte de cada observador se segmentará según los elementos únicos que contribuyen al horizonte.

Si se generan siluetas, este parámetro indicará si deben usarse rayos divergentes; para las sombras del sol, por lo general, este valor debe ser NO_SEGMENT_SKYLINE

  • NO_SEGMENT_SKYLINECada entidad de horizonte representará un observador. Esta es la opción predeterminada.
  • SEGMENT_SKYLINECada horizonte del observador se segmentará según los elementos únicos que contribuyen al horizonte.
Boolean
scale_to_percent
(Opcional)

Indica a qué porcentaje del ángulo vertical (ángulo por encima del horizonte o ángulo de elevación) o la elevación original debe ubicarse cada vértice del horizonte. Si se escribe 0 o 100, no se realizará ningún ajuste. El valor predeterminado es 100.

Double
scale_according_to
(Opcional)

Los valores según los cuales deben determinarse las escalas.

  • VERTICAL_ANGLELa escala se realiza al considerar el ángulo vertical de cada vértice relativo al punto de observador. Esta es la opción predeterminada.
  • ELEVATIONLa escala se realiza al considerar la elevación de cada vértice relativo al punto de observador.
String
scale_method
(Opcional)

El vértice contra el que se realizará el cálculo.

  • SKYLINE_MAXIMUMLos vértices se ajustarán a una escala relativa al ángulo vertical (o la elevación) del vértice con el ángulo vertical (o la elevación) superior. Esta es la opción predeterminada.
  • EACH_VERTEXLos vértices se ajustarán a una escala relativa al ángulo vertical (o la elevación) original de cada vértice.
String
use_curvature
(Opcional)

Indica si se debe tener en cuenta la curvatura de la tierra al generar el cordón montañoso a partir de una superficie funcional.

  • 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 aplicará la refracción atmosférica al generar el cordón montañoso a partir de una superficie funcional.

  • NO_REFRACTION No se tendrá en cuenta la refracción atmosférica. Esta es la opción predeterminada.
  • REFRACTIONSe tendrá en cuenta la refracción atmosférica.
Boolean
refraction_factor
(Opcional)

El coeficiente de refracción que se va a utilizar si se va a tener en cuenta la refracción atmosférica. 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 utilizará esta herramienta. El valor predeterminado es 0, o resolución completa.

Double
create_silhouettes
(Opcional)

Especifica si las entidades de salida representarán horizontes o siluetas.

  • NO_CREATE_SILHOUETTESLas entidades de polilínea resultantes representarán el horizonte. Esta es la opción predeterminada.
  • CREATE_SILHOUETTESLas entidades de polilínea resultantes representan siluetas.
Boolean

Muestra de código

Ejemplo 1 de Horizonte (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.Skyline_3d("observers.shp", "skyline_output.shp", "sample.gdb/featuredataset/terrain")
Ejemplo 2 de Horizonte (secuencia de comandos independiente)

En el siguiente ejemplo se muestra cómo usar esta herramienta en un script independiente de Python.

'''****************************************************************************
Name: Skyline Example
Description: This script demonstrates how to use the 
             Skyline tool.
****************************************************************************'''
# Import system modules
import arcpy

# Set environment settings
arcpy.env.workspace = 'C:/data'

# Set Local Variables
inPts = "observers.shp"

# Make sure output has a unique name
outFC = arcpy.CreateUniqueName("skyline_output.shp")
inSurface = "sample.gdb/featuredataset/terrain"
obstructionFCs = "buildings.shp; billboards.shp"
surfRad = "1000 meters"
surfElev = "100 meters"
LOD = "FULL_DETAIL"
fromAzim = 0
toAzim = 360
incAzim = 1
maxHorizRad = 0
segSky = "SEGMENT_SKYLINE"
scale = 100
scaleAcc = "ELEVATION"
scaleMethod = "SKYLINE_MAXIMUM"

# Execute Skyline
arcpy.Skyline_3d(inPts, outFC, inSurface, surfRad, surfElev, 
                 obstructionFCs, LOD, fromAzim, toAzim, incAzim, 
                 maxHorizRad, segSky, scale, scaleAcc, scaleMethod)

Información de licenciamiento

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

Temas relacionados