Zusammenfassung
Berechnet die Sichtbarkeit des Himmels und generiert optional eine Tabelle und ein Polardiagramm.
Die Tabelle und das Diagramm stellen die horizontalen und vertikalen Winkel dar, die vom Beobachterpunkt zu den einzelnen Stützpunkten der Skyline reichen.
Abbildung
Verwendung
Der Azimut- und der vertikale Winkel vom Beobachterpunkt zu jedem Stützpunkt in der Skyline wird überprüft und kann in eine eigenständige Tabelle exportiert werden, indem die Tabelle der Ausgabewinkel angegeben wird. Diese Tabelle enthält die folgenden Felder:
- HORIZ_ANG – Der Horizontalwinkel.
- ZENITH_ANG – Der Zenitwinkel.
Bei Auswahl von Zusätzliche Felder gilt Folgendes:
- FEATURE_ID – Das Skyline-Feature, das den Blick des Beobachters auf den Himmel behindert.
- VERTEX_X – Die X-Koordinate des Stützpunktes.
- VERTEX_Y – Die Y-Koordinate des Stützpunktes.
- VERTEX_Z – Die Z-Koordinate des Stützpunktes.
- DIST_2D – Die horizontale Entfernung vom Beobachter zum Stützpunkt.
- DIST_3D – Die Schrägstrecke vom Beobachter zum Stützpunkt.
- Das Fenster Ergebnisse gibt den durchschnittlichen Prozentsatz des sichtbaren Himmels für alle Beobachter sowie die minimalen und maximalen vertikalen Winkel der Sichtbarkeit des Himmels zurück Dieser Wert wird als Wert zwischen 0 bis 1 ausgedrückt, wobei 0,8 für 80 Prozent der Sichtbarkeit der Skyline steht.
Der arithmetische Horizontalwinkel entspricht einem Winkel von 90 minus dem Azimut, und der Zenitwinkel entspricht einem Winkel von 90 minus dem vertikalen Winkel. (Ein arithmetischer Horizontalwinkel von 0 entspricht Osten und 90 entspricht Norden. Ein Zenitwinkel von 90 ist horizontal und 0 ist gerade nach oben.)
- Die Ergebnisse enthalten immer den Prozentsatz sichtbaren Himmels. Dieser Wert entspricht der Fläche über der Skyline, dividiert durch die Fläche über dem Basis-Sichtbarkeitswinkel (einer der Parameter, mit dem Standardwert 0, folglich auf derselben Höhe wie der Beobachter). Er wird nur innerhalb des Azimutbereichs der Skyline berechnet.
Syntax
SkylineGraph_3d (in_observer_point_features, in_line_features, {base_visibility_angle}, {additional_fields}, {out_angles_table}, {out_graph})
Parameter | Erläuterung | Datentyp |
in_observer_point_features | Die Eingabe-Features, die einen oder mehrere Beobachterpunkte enthalten. | Feature Layer |
in_line_features | Die Linien-Features, die die Skyline darstellen. | Feature Layer |
base_visibility_angle (optional) | Der vertikale Basislinienwinkel, der für die Berechnung des Prozentsatzes an sichtbarem Himmel verwendet wird. 0 ist der Horizont, 90 ist senkrecht nach oben, -90 ist senkrecht nach unten. Die Standardeinstellung ist 0. | Double |
additional_fields (optional) | Gibt an, ob der Winkeltabelle zusätzliche Felder hinzugefügt werden.
| Boolean |
out_angles_table (optional) | Die Tabelle, die für die Ausgabe der Winkel erstellt wird. | Table |
out_graph (optional) | Durch die Angabe eines Namens wird ein Polardiagramm der Begrenzung der Skyline des ersten Beobachters erstellt. Das Diagramm stellt den potenziellen Himmel dar, der von der Position des Beobachters sichtbar ist, und dessen Ursprung vom Beobachter definiert werden kann. Eine Tabelle muss erstellt werden, damit das Diagramm erstellt werden kann, und das Diagramm wird nur angezeigt, wenn das Werkzeug in ArcMap, ArcGlobe oder ArcScene ausgeführt wird. | Graph |
Codebeispiel
SkylineGraph – Beispiel 1 (Python-Fenster)
Anhand des folgenden Beispiels wird die Verwendung dieses Werkzeugs im Python-Fenster veranschaulicht.
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")
SkylineGraph – Beispiel 2 (eigenständiges Skript)
Im folgenden Beispiel wird die Verwendung dieses Werkzeugs in einem eigenständigen Python-Skript veranschaulicht.
'''****************************************************************************
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)
Umgebungen
Lizenzinformationen
- ArcGIS Desktop Basic: Erfordert 3D Analyst
- ArcGIS Desktop Standard: Erfordert 3D Analyst
- ArcGIS Desktop Advanced: Erfordert 3D Analyst