Resumen
Calcula la visibilidad del cielo y genera una tabla opcional y un gráfico polar.
La tabla y el gráfico representan los ángulos horizontal y vertical que van desde el punto de observador hasta cada uno de los vértices en el horizonte.
Ilustración
Uso
Se evalúa el acimut y el ángulo vertical de cada punto de observador respecto a cada vértice del horizonte y el resultado se puede exportar a una tabla independiente especificando la Tabla de ángulos de salida. Los siguientes campos se incluirán en esta tabla:
- HORIZ_ANG: el ángulo horizontal.
- ZENITH_ANG: el ángulo cénit.
Si se selecciona Campos adicionales:
- FEATURE_ID: la entidad de horizonte que obstruye la vista del observador del cielo.
- VERTEX_X: la coordenada X del vértice.
- VERTEX_Y: la coordenada Y del vértice.
- VERTEX_Z: la coordenada Z del vértice.
- DIST_2D: la distancia horizontal desde el observador hasta el vértice.
- DIST_3D: la distancia de pendiente desde el observador hasta el vértice.
En la ventana Resultados se mostrará el porcentaje medio de cielo visible para todos los observadores, junto con los ángulos verticales mínimo y máximo de visibilidad del cielo. Este valor se expresa como un valor entre 0 y 1, donde 0,8 representa el 80% de visibilidad del horizonte.
El ángulo horizontal aritmético es igual a 90 menos el acimut y el ángulo cénit es 90 menos el ángulo vertical. (Un ángulo horizontal aritmético de 0 tiene dirección este y uno de 90 tiene dirección norte; un ángulo cénit de 90 es horizontal y uno de 0 es recto hacia arriba).
- El porcentaje del cielo visible siempre se incluye en los resultados. Este valor es igual al área por encima del horizonte, dividido por el área por encima del ángulo visible base (uno de los parámetros, con el valor predeterminado de cero, lo que implica la misma elevación que el observador) y se calcula sólo dentro del rango de acimut del horizonte.
Sintaxis
arcpy.ddd.SkylineGraph(in_observer_point_features, in_line_features, {base_visibility_angle}, {additional_fields}, {out_angles_table}, {out_graph})
Parámetro | Explicación | Tipo de datos |
in_observer_point_features | Las entidades de entrada que contienen uno o más puntos de observador. | Feature Layer |
in_line_features | Las entidades de línea que representan el horizonte. | Feature Layer |
base_visibility_angle (Opcional) | El ángulo vertical de línea base que se utiliza para calcular el porcentaje del cielo visible. 0 es el horizonte, 90 es la recta hacia arriba; -90 es la recta hacia abajo. El valor predeterminado es 0. | Double |
additional_fields (Opcional) | Indica si se agregarán campos adicionales a la tabla de ángulos.
| Boolean |
out_angles_table (Opcional) | La tabla que se creará para generar los ángulos de salida. | Table |
out_graph (Opcional) | Al especificar un nombre se creará un gráfico polar de la delineación del horizonte del primer observador. El gráfico representa el cielo potencial que puede verse desde la posición del observador, cuyo origen ha definido el observador. Se debe generar una tabla para poder crear el gráfico. Asimismo, el gráfico solo se mostrará si la herramienta se ejecuta en ArcMap, ArcGlobe o ArcScene. | Graph |
Salida derivada
Nombre | Explicación | Tipo de datos |
out_visibility_ratio | El porcentaje medio de cielo visible para todos los observadores. Este valor se expresa como un valor entre 0 y 1, donde 0,8 representa el 80% de visibilidad del horizonte. | Doble |
Muestra de código
Ejemplo 1 de SkylineGraph (ventana de Python)
En el siguiente ejemplo se muestra cómo usar esta herramienta en la ventana de Python.
import arcpy
from arcpy import env
arcpy.CheckOutExtension("3D")
env.workspace = "C:/data"
arcpy.SkylineGraph_3d("observers.shp", "skyline_outline.shp", 0, "ADDITIONAL_FIELDS", "table.dbf")
Ejemplo 2 de SkylineGraph (script 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
import exceptions, sys, traceback
from arcpy import env
try:
# Obtain a license for the ArcGIS 3D Analyst extension
arcpy.CheckOutExtension('3D')
# Set environment settings
env.workspace = 'C:/data'
# Set Local Variables
inPts = "observers.shp"
inLines = "skyline_outline.shp"
baseVisibility = 25
# Ensure output table has unique name
outTable = arcpy.CreateUniqueName("angles_table.dbf")
#Execute SkylineGraph
arcpy.SkylineGraph_3d(inPts, inLines, 0, "ADDITIONAL_FIELDS", outTable)
except arcpy.ExecuteError:
print arcpy.GetMessages()
except:
# Get the traceback object
tb = sys.exc_info()[2]
tbinfo = traceback.format_tb(tb)[0]
# Concatenate error information into message string
pymsg = 'PYTHON ERRORS:\nTraceback info:\n{0}\nError Info:\n{1}'\
.format(tbinfo, str(sys.exc_info()[1]))
msgs = 'ArcPy ERRORS:\n {0}\n'.format(arcpy.GetMessages(2))
# Return python error messages for script tool or Python Window
arcpy.AddError(pymsg)
arcpy.AddError(msgs)
Entornos
Información de licenciamiento
- Basic: Requiere 3D Analyst
- Standard: Requiere 3D Analyst
- Advanced: Requiere 3D Analyst