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.

  • Esta herramienta 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 volúmenes de sombras que se extiendan desde la geometría de la entidad hasta una distancia por debajo de la altura de la entidad. También puede buscar dónde cae la sombra de una entidad 3D causada por la luz solar en una superficie 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 que se utilizarán 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)

La dirección desde la cual comenzará el análisis del horizonte.

El valor es un ángulo geométrico en grados en el rango de -360° a 360°. El valor predeterminado es 0°, hacia el norte. Los valores angulares se incrementan en el sentido de las agujas del reloj para que 90° sea hacia el este, 180° hacia el sur y 270° hacia el oeste. Del mismo modo, -90° es hacia el oeste, -180° hacia el sur y -270° hacia el este. También se puede utilizar un campo numérico del valor del parámetro Entidades de entrada de punto del observador para proporcionar una dirección inicial distinta para cada observador. El análisis se extiende hasta alcanzar el valor del parámetro A acimut.

Double; Field
A acimut
(Opcional)

La dirección en la cual se completará el análisis del horizonte.

Este valor es un ángulo geométrico en grados en el rango de -360° a 360°. El análisis comienza en el punto del observador e incrementa desde el valor del parámetro Desde acimut hasta que se alcanza el valor del parámetro A acimut. Este valor no se puede desviar más de 360° del valor del parámetro Desde acimut. El valor predeterminado es 360°, hacia el norte.

Por ejemplo, un acimut inicial de 0° con un acimut final de 360° dará como resultado un horizonte circular completo alrededor del observador y un acimut inicial de 90° con un acimut final de 270° cubrirá la mitad sur del rango radial alrededor del observador.

Se puede utilizar un campo numérico del valor del parámetro Entidades de entrada de punto del observador para proporcionar una dirección del terminal distinta para cada observador.

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 los valores de los parámetros Desde acimut y A acimut. El valor no debe ser mayor que el valor de A acimut menos el valor de Desde acimut. 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)

El porcentaje del ángulo vertical (ángulo por encima del horizonte o ángulo de elevación) o la elevación original donde se colocará 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: las entidades de polilínea de salida representarán el horizonte. Esta es la opción predeterminada.
  • Activado: las entidades multiparche de salida representarán siluetas.
Boolean
Aplicar radio máximo a entidades
(Opcional)

Especifica si el valor del parámetro Máximo radio de horizonte se aplicará a las entidades de entrada.

  • Desactivado: el radio no se aplicará a las entidades de entrada. Esta es la opción predeterminada.
  • Activado: el radio se aplicará a las entidades de entrada.
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}, {apply_max_radius_to_features})
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 que se utilizarán 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)

La dirección desde la cual comenzará el análisis del horizonte.

Este valor es un ángulo geométrico en grados en el rango de -360° a 360°. El valor predeterminado es 0°, hacia el norte. Los valores angulares se incrementan en el sentido de las agujas del reloj para que 90° sea hacia el este, 180° hacia el sur y 270° hacia el oeste. Del mismo modo, -90° es hacia el oeste, -180° hacia el sur y -270° hacia el este. También se puede utilizar un campo numérico del valor del parámetro in_observer_point_features para proporcionar una dirección inicial distinta para cada observador. El análisis se extiende hasta alcanzar el valor del parámetro to_azimuth_value_or_field.

Double; Field
to_azimuth_value_or_field
(Opcional)

La dirección en la cual se completará el análisis del horizonte.

Este valor es un ángulo geométrico en grados que se puede especificar como cualquier número en el rango de -360° a 360°. El análisis comienza en el punto del observador e incrementa desde el valor del parámetro from_azimuth_value_or_field hasta que se alcanza el valor del parámetro to_azimuth_value_or_field. Este valor no se puede desviar más de 360° del valor del parámetro from_azimuth_value_or_field. El valor predeterminado es 360°, hacia el norte.

Por ejemplo, un acimut inicial de 0° con un acimut final de 360° dará como resultado un horizonte circular completo alrededor del observador y un acimut inicial de 90° con un acimut final de 270° cubrirá la mitad sur del rango radial alrededor del observador.

Se puede utilizar un campo numérico del valor del parámetro in_observer_point_features para proporcionar una dirección del terminal distinta para cada observador.

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 los valores de los parámetros from_azimuth_value_or_field y to_azimuth_value_or_field. El valor no debe ser mayor que el valor de to_azimuth_value_or_field menos el valor de 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)

El porcentaje del ángulo vertical (ángulo por encima del horizonte o ángulo de elevación) o la elevación original donde se colocará 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 de salida representarán el horizonte. Esta es la opción predeterminada.
  • CREATE_SILHOUETTESLas entidades multiparche de salida representarán siluetas.
Boolean
apply_max_radius_to_features
(Opcional)

Especifica si el valor del parámetro max_horizon_radius se aplicará a las entidades de entrada.

  • NO_APPLY_MAX_RADIUS_TO_FEATURESEl radio no se aplicará a las entidades de entrada. Esta es la opción predeterminada.
  • APPLY_MAX_RADIUS_TO_FEATURESEl radio se aplicará a las entidades de entrada.
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 una secuencia de comandos 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