Résumé
Permet de calculer la visibilité du ciel et génère une table et un diagramme polaire en option.
La table et le diagramme représentent les angles horizontaux et verticaux allant du point d'observation jusqu'à chacun des sommets de l'horizon.
Illustration
Utilisation
L'angle azimut et vertical de chaque point d'observation vers chaque sommet de la ligne d'horizon est évalué et peut être exporté vers une table autonome si vous spécifiez la Table d’angles en sortie. Les champs suivants apparaissent dans cette table :
- HORIZ_ANG : angle horizontal.
- ZENITH_ANG : angle de zénith.
Si vous sélectionnez Champs supplémentaires :
- FEATURE_ID : entité de ligne d’horizon qui bloque la vue du ciel du point d’observation.
- VERTEX_X : coordonnée X du sommet.
- VERTEX_Y : coordonnée Y du sommet.
- VERTEX_Z : coordonnée Z du sommet.
- DIST_2D : distance horizontale entre le point d’observation et le sommet.
- DIST_3D : distance de pente entre le point d’observation et le sommet.
La fenêtre Résultats indique le pourcentage moyen de ciel visible pour tous les points d'observation, ainsi que les angles verticaux minimum et maximum de visibilité du ciel. La valeur exprimée est comprise entre 0 et 1, où 0,8 représente 80 pour cent de visibilité de la ligne d'horizon.
L'angle horizontal arithmétique est égal à 90 moins l'azimut, et l'angle zénithal est égal à 90 moins l'angle vertical. (Un angle horizontal arithmétique égal à 0 est plein est, et égal à 90, plein nord. Un angle zénithal égal à 90 est horizontal, et égal à 0, tout droit vers le haut.)
- Le pourcentage de ciel visible est toujours répertorié dans les résultats. Cette valeur est égale à la surface au-dessus de l'horizon, divisée par la surface au-dessus de l'angle visible de base (l'un des paramètres, ayant zéro comme valeur par défaut, signifiant à la même altitude que le point d'observation), et est calculée uniquement dans la plage d'azimuts de l'horizon.
Syntaxe
arcpy.ddd.SkylineGraph(in_observer_point_features, in_line_features, {base_visibility_angle}, {additional_fields}, {out_angles_table}, {out_graph})
Paramètre | Explication | Type de données |
in_observer_point_features | Entités en entrée contenant un ou plusieurs points d'observation. | Feature Layer |
in_line_features | Entités linéaires représentant la ligne d'horizon. | Feature Layer |
base_visibility_angle (Facultatif) | Angle vertical de ligne de base utilisé pour calculer le pourcentage de ciel visible. 0 signifie l'horizon, 90 signifie tout droit vers le haut et -90 signifie tout droit vers le bas. La valeur par défaut est 0. | Double |
additional_fields (Facultatif) | Indique si des champs supplémentaires seront ajoutés à la table d'angles.
| Boolean |
out_angles_table (Facultatif) | Table à créer pour générer les angles. | Table |
out_graph (Facultatif) | En spécifiant un nom, vous créez un diagramme polaire de la délimitation de la ligne d'horizon du premier point d'observation. Le diagramme représente le ciel pouvant être vu depuis la position du point d'observation, et son origine est définie par le point d'observation. Une table doit être générée pour pouvoir créer le diagramme, et le diagramme ne s'affichera que si l'outil est exécuté dans ArcMap, ArcGlobe ou ArcScene. | Graph |
Sortie dérivée
Nom | Explication | Type de données |
out_visibility_ratio | Pourcentage moyen de ciel visible pour tous les points d’observation. La valeur exprimée est comprise entre 0 et 1, où 0,8 représente 80 pour cent de visibilité de la ligne d'horizon. | Double |
Exemple de code
1er exemple d'utilisation de l'outil SkylineGraph (fenêtre Python)
L'exemple suivant illustre l'utilisation de cet outil dans la fenêtre 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")
2e exemple d'utilisation de l'outil SkylineGraph (script autonome)
L'exemple suivant illustre l'utilisation de cet outil dans un script Python autonome.
'''****************************************************************************
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)
Environnements
Informations de licence
- Basic: Requiert 3D Analyst
- Standard: Requiert 3D Analyst
- Advanced: Requiert 3D Analyst