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

Ilustración de la herramienta Horizonte

Uso

  • Esta herramienta requiere que todos los datos de entrada estén en un sistema de coordenadas proyectadas. Una clase de entidad de entrada que no esté en un sistema de coordenadas proyectadas se puede volver a proyectar con la herramienta Proyectar, y una superficie de ráster de entrada se puede volver a proyectar con la herramienta Proyectar ráster.

  • El parámetro Segmentar horizonte se puede utilizar para determinar qué parte del horizonte está definido por entidades multiparche específicas o por la superficie de elevación circundante. Puede ayudar a comprender si los lugares de interés específicos contribuyen al horizonte de un punto de observación determinado.

  • 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. Las sombras generadas a través de este proceso se crearán con un leve desplazamiento respecto de la geometría de las entidades de entrada. También puede utilizar la herramienta Volumen de sombra del sol para generar sombras que se extiendan de la geometría de la entidad para producir un volumen de sombra preciso. La ubicación de las sombras en una superficie también se puede lograr con la herramienta Frecuencia de sombra del sol.

  • Los siguientes campos se agregarán al valor del parámetro de Clase de entidad de salida que contiene los horizontes:

    • OBSV_PT_ID— El FID del punto del observador que se utilizó para crear este horizonte
    • ORIGFTR_ID— El FID de la entidad, como un edificio
  • Los siguientes campos se agregarán al valor del parámetro de Clase de entidad de salida que contiene las siluetas:

    • OBSV_PT_ID— El FID del punto del observador que se utilizó para crear esta silueta
    • ORIGFTR_ID— El FID de la entidad original, como un edificio, representada por esta silueta
    • DIR_VECT_X— El componente X del vector unitario que representa la dirección de los rayos de luz desde la posición del observador
    • DIR_VECT_Y— El componente Y del vector unitario que representa la dirección de los rayos de luz desde la posición del observador
    • DIR_VECT_Z— El componente Z del vector unitario que representa la dirección de los rayos de luz desde la posición del observador
    • FEAT_CTR_X— El componente Z del centro del sobre de la entidad original (por ejemplo, edificio)
    • FEAT_CTR_Y— El componente Y del centro del sobre de la entidad original
    • FEAT_CTR_Z— El componente Z del centro del sobre de la entidad original
    • BHND_CTR_X— El componente X del centro del sobre de la entidad, que se movió detrás de la entidad
    • BHND_CTR_Y— El componente Y del centro del sobre de la entidad, que se movió detrás de la entidad
    • BHND_CTR_Z— El 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ó o no usando rayos de luz paralelos (1 para sí, 0 para no)
    • MADE_VERT— Indica si la silueta se hizo en vertical, en lugar de en perpendicular a 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)
  • La refracción atmosférica y la corrección de la curvatura de la Tierra solo se aplicarán cuando el valor del parámetro Superficie de entrada sea un dataset ráster. Si la superficie está definida por un dataset de TIN, de terreno o LAS, utilice una de las siguientes herramientas para exportar los datos a un ráster:

Parámetros

EtiquetaExplicaciónTipo de datos
Entidades de entrada de punto del observador

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

Feature Layer
Clase de entidad de salida

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

Feature Class
Superficie de entrada
(Opcional)

La superficie topográfica que se utilizará para definir el horizonte. Si no se indica una superficie, se utilizará una superficie virtual, definida por los valores de los parámetros Radio de superficie virtual y Elevación de superficie virtual.

LAS Dataset Layer; Mosaic Layer; Raster Layer; TIN Layer; Terrain Layer
Radio de superficie virtual
(Opcional)

El radio de la superficie virtual que se utilizará para definir el horizonte cuando no se indica una superficie de entrada. El valor predeterminado es 1000 metros.

Linear Unit
Elevación de superficie virtual
(Opcional)

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

Linear Unit
Entidades de entrada
(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
Nivel de detalle de entidad
(Opcional)

Especifica el nivel de detalle con el que se examinará cada entidad.

  • Detalles completosCada borde de la entidad se tendrá en cuenta en el análisis del horizonte (solo se tendrán en cuenta los bordes de triángulos y los anillos exteriores). Esta operación, que requiere mucho tiempo, es la más precisa. Esta es la opción predeterminada.
  • Huella convexaEn 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.
  • SobreEn 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
Desde acimut
(Opcional)

El acimut, en grados, desde el cual comenzará el análisis del horizonte.

El análisis comienza en el punto del observador y se mueve hacia la derecha, desde el valor del parámetro Acimut de origen hasta que llega al valor del parámetro Acimut de destino. El valor debe ser mayor que -360 y menor que 360. El valor predeterminado es 0.

Double; Field
A acimut
(Opcional)

La dirección, en grados, en la que se realizará el análisis del horizonte.

El análisis comienza en el punto del observador y se mueve hacia la derecha, desde el valor del parámetro Acimut de origen hasta que llega al valor del parámetro Acimut de destino. El valor no debe ser más de 360 grados mayor que el valor del parámetro Acimut de origen. El valor predeterminado es 360.

Double; Field
Incremento de acimut
(Opcional)

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

Double; Field
Máximo radio de horizonte
(Opcional)

La distancia máxima desde la ubicación del observador desde la que se buscará un horizonte. Un valor de cero indica que no se impondrá ninguna limitación. El valor predeterminado es 0.

Linear Unit
Horizonte del segmento
(Opcional)

Especifica si el horizonte resultante tendrá una entidad para cada punto de observador o si el horizonte de cada observador se segmentará según los elementos únicos que contribuyan al horizonte. Este parámetro solo está disponible si se especifican una o varias entidades multiparche para el parámetro Entidades de entrada.

Si se generan siluetas, este parámetro indicará si se usarán rayos divergentes. Para las sombras del sol, desactive el parámetro.

  • Desactivado: cada entidad de horizonte representará un observador. Esta es la opción predeterminada.
  • Activado: cada horizonte del observador se segmentará según los elementos únicos que contribuyen al horizonte.
Boolean
Ajustar a porcentaje
(Opcional)

Indica en qué porcentaje del ángulo vertical (ángulo por encima del horizonte o ángulo de elevación) o de la elevación original se ubicará cada vértice del horizonte. Si se utiliza un valor de 0 o 100, no se escalará. El valor predeterminado es 100.

Double
Escala según
(Opcional)

Especifica cómo se realizará el escalado.

  • Ángulo vertical desde el observadorEl escalado se realizará en base al ángulo vertical de cada vértice relativo al punto de observador. Esta es la opción predeterminada.
  • ElevaciónEl escalado se realizará en base a la elevación de cada vértice relativo al punto de observador.
String
Método de escala
(Opcional)

Especifica el vértice que se utilizará para el cálculo de la escala.

  • Horizonte máximoLos 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.
  • Cada vérticeLos vértices se ajustarán a una escala relativa al ángulo vertical (o la elevación) original de cada vértice.
String
Utilizar curvatura
(Opcional)

Especifica si se utilizará la curvatura de la Tierra para generar el cordón montañoso. Esta opción solo está disponible cuando se especifica una superficie de ráster para el parámetro Superficie de entrada.

  • Desactivado: no se utilizará la curvatura de la Tierra. Esta es la opción predeterminada.
  • Activado: se utilizará la curvatura de la Tierra.
Boolean
Utilizar refracción
(Opcional)

Especifica si se aplicará la refracción atmosférica al generar el cordón montañoso a partir de una superficie de entrada. Esta opción sólo está disponible cuando se especifica una superficie de ráster para el parámetro Superficie de entrada.

  • Desactivado: no se aplicará refracción atmosférica. Esta es la opción predeterminada.
  • Activado: se aplicará refracción atmosférica.
Boolean
Factor de refracción
(Opcional)

El coeficiente de refracción que se utilizará si se aplica refracción atmosférica. El valor predeterminado es 0,13.

Double
Resolución de nivel de pirámide
(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
Crear siluetas
(Opcional)

Especifica si las entidades de salida representarán horizontes que definen la barrera entre los datos de entrada y el cielo abierto o siluetas que representan la fachada de entidades de entrada observables. Esta opción solo está disponible si se especifican una o varias entidades multiparche para el parámetro Entidades de entrada.

  • Desactivado: la salida se creará como entidades de polilínea que representan el horizonte. Esta es la opción predeterminada.
  • Activado: la salida se creará como entidades multiparche que representan siluetas.
Boolean

arcpy.ddd.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})
NombreExplicació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, definida por los valores de 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 de entrada. El valor predeterminado es 1000 metros.

Linear Unit
virtual_surface_elevation
(Opcional)

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

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)

Especifica el nivel de detalle con el que se examinará cada entidad.

  • FULL_DETAILCada borde de la entidad se tendrá en cuenta en el análisis del horizonte (solo se tendrán en cuenta los bordes de triángulos y los anillos exteriores). Esta operación, que requiere mucho tiempo, es la más precisa. Esta 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.
  • ENVELOPEEn 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 comenzará el análisis del horizonte.

El análisis comienza en el punto del observador y se mueve hacia la derecha, desde el valor del parámetro from_azimuth_value_or_field hasta que llega al valor del parámetro to_azimuth_value_or_field. El valor debe ser mayor que -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 se realizará el análisis del horizonte.

El análisis comienza en el punto del observador y se mueve hacia la derecha, desde el valor del parámetro from_azimuth_value_or_field hasta que llega al valor del parámetro to_azimuth_value_or_field. El valor no debe ser más de 360 grados mayor que el valor del parámetro from_azimuth_value_or_field. El valor predeterminado es 360.

Double; Field
azimuth_increment_value_or_field
(Opcional)

El intervalo angular, en grados, en el que se evaluará el horizonte mientras se realiza el análisis del horizonte entre el valor del parámetro from_azimuth_value_or_field y el valor del parámetro to_azimuth_value_or_field. El valor no debe ser mayor que el valor del parámetro to_azimuth_value_or_field menos el valor del parámetro from_azimuth_value_or_field. El valor predeterminado es 1.

Double; Field
max_horizon_radius
(Opcional)

La distancia máxima desde la ubicación del observador desde la que se buscará un horizonte. Un valor de cero indica que no se impondrá ninguna limitación. El valor predeterminado es 0.

Linear Unit
segment_skyline
(Opcional)

Especifica si el horizonte resultante tendrá una entidad para cada punto de observador o si el horizonte de cada observador se segmentará según los elementos únicos que contribuyan al horizonte. Este parámetro solo está disponible si se especifican entidades multiparche para el parámetro in_features.

Si se generan siluetas, este parámetro indicará si se usarán rayos divergentes. Para las sombras del sol, utilice la opción 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 en qué porcentaje del ángulo vertical (ángulo por encima del horizonte o ángulo de elevación) o de la elevación original se ubicará cada vértice del horizonte. Si se utiliza un valor de 0 o 100, no se escalará. El valor predeterminado es 100.

Double
scale_according_to
(Opcional)

Especifica cómo se realizará el escalado.

  • VERTICAL_ANGLEEl escalado se realizará en base al ángulo vertical de cada vértice relativo al punto de observador. Esta es la opción predeterminada.
  • ELEVATIONEl escalado se realizará en base a la elevación de cada vértice relativo al punto de observador.
String
scale_method
(Opcional)

Especifica el vértice que se utilizará para el cálculo de la escala.

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

Especifica si se utilizará la curvatura de la Tierra para generar el cordón montañoso a partir de una superficie funcional. Esta opción solo está disponible cuando se especifica una superficie de ráster para el parámetro in_surface.

  • CURVATURESe utilizará la curvatura de la Tierra.
  • NO_CURVATURENo se utilizará la curvatura de la Tierra. Esta es la opción predeterminada.
Boolean
use_refraction
(Opcional)

Especifica si se aplicará refracción atmosférica al generar el cordón montañoso a partir de una superficie funcional. Esta opción sólo está disponible cuando se especifica una superficie de ráster para el parámetro in_surface.

  • NO_REFRACTIONNo se aplicará refracción atmosférica. Esta es la opción predeterminada.
  • REFRACTIONSe aplicará refracción atmosférica.
Boolean
refraction_factor
(Opcional)

El coeficiente de refracción que se utilizará si se aplica 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 se utilizará. El valor predeterminado es 0, o resolución completa.

Double
create_silhouettes
(Opcional)

Especifica si las entidades de salida representarán horizontes que definen la barrera entre los datos de entrada y el cielo abierto o siluetas que representan la fachada de entidades de entrada observables. Esta opción solo está disponible si se especifican una o varias entidades multiparche para el parámetro in_features.

  • 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.ddd.Skyline("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.ddd.Skyline(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