Etiqueta | Explicación | Tipo 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.
| 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.
| 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.
| String |
Método de escala (Opcional) | Especifica el vértice que se utilizará para el cálculo de la escala.
| 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.
| 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.
| 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.
| 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.
| Boolean |
Resumen
Genera una clase de entidad de línea o multiparche que contiene los resultados de un análisis de horizonte o silueta.
Ilustración
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
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})
Nombre | Explicación | Tipo 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.
| 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.
| 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.
| String |
scale_method (Opcional) | Especifica el vértice que se utilizará para el cálculo de la escala.
| 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.
| 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.
| 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.
| Boolean |
apply_max_radius_to_features (Opcional) | Especifica si el valor del parámetro max_horizon_radius se aplicará a las entidades de entrada.
| Boolean |
Muestra de código
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")
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)