Zusammenfassung
Generiert eine Line- oder Multipatch-Feature-Class, die die Ergebnisse einer Skyline- oder Silhouettenanalyse enthält.
Abbildung
Verwendung
Das Werkzeug Skyline wird oft in Verbindung mit dem Werkzeug Skyline-Barriere und manchmal in Verbindung mit dem Werkzeug Skyline-Diagramm verwendet. Andere Anwendungen dieses Werkzeugs werden unter Analysieren von Bedrohungen für 3D-Flugbahnen und Korridore beschrieben.
Mit dem Werkzeug Skyline können Feature-Silhouetten erstellt werden, die mit dem Werkzeug Skyline-Barriere in Schattenvolumen extrudiert werden können. Weitere Informationen finden Sie unter Funktionsweise des Werkzeugs "Skyline".
Der Ausgabe-Feature-Class, die die Skylines enthält, werden die folgenden Felder hinzugefügt:
- OBSV_PT_ID: Die FID des Beobachterpunktes, der zum Erstellen dieser Skyline verwendet wird.
- ORIGFTR_ID: Die FID des Features, z. B. ein Gebäude.
Der Ausgabe-Feature-Class, die die Silhouetten enthält, werden die folgenden Felder hinzugefügt:
- OBSV_PT_ID: Die FID des Beobachterpunktes, der zum Erstellen dieser Silhouette verwendet wird.
- ORIGFTR_ID: Die FID des ursprünglichen Features, z. B. ein Gebäude, das durch diese Silhouette dargestellt wird.
- DIR_VECT_X: Die X-Komponente des Einheitenvektors, der die Richtung der Lichtstrahlen von der Position des Beobachters darstellt.
- DIR_VECT_Y: Die Y-Komponente des Einheitenvektors, der die Richtung der Lichtstrahlen von der Position des Beobachters darstellt.
- DIR_VECT_Z: Die Z-Komponente des Einheitenvektors, der die Richtung der Lichtstrahlen von der Position des Beobachters darstellt.
- FEAT_CTR_X: Die X-Komponente des Mittelpunktes des Envelope des ursprünglichen Features (z. B. eines Gebäudes).
- FEAT_CTR_Y: Die Y-Komponente des Mittelpunktes des Feature-Envelope.
- FEAT_CTR_Z: Die Z-Komponente des Mittelpunktes des Feature-Envelope.
- BHND_CTR_X: Die X-Komponente des Mittelpunktes des Feature-Envelope – hinter das Feature verschoben.
- BHND_CTR_Y: Die Y-Komponente des Mittelpunktes des Feature-Envelope – hinter das Feature verschoben.
- BHND_CTR_Z: Die Z-Komponente des Mittelpunktes des Feature-Envelope – hinter das Feature verschoben.
- USED_PARLL: Ob die Silhouette mit parallelen Lichtstrahlen erstellt wurde (1 für ja und 0 für nein).
- MADE_VERT: Ob die Silhouette vertikal und nicht senkrecht zu den Lichtstrahlen erstellt wurde (1 für ja und 0 für nein).
- MOVED_BHND: Ob die Silhouette hinter das Feature verschoben wurde, anstatt bei seinem Mittelpunkt zu bleiben (1 für ja und 0 für nein).
Syntax
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})
Parameter | Erklärung | Datentyp |
in_observer_point_features | Die 3D-Punkte, die Beobachter darstellen. Jedes Feature verfügt über eine eigene Ausgabe. | Feature Layer |
out_feature_class | Die 3D-Features, die entweder Linien sind, die die Skyline darstellen, oder die Multipatches sind, die Silhouetten darstellen. | Feature Class |
in_surface (optional) | Die topografische Oberfläche, die zum Definieren des Horizonts verwendet wird. Wenn keine Oberfläche bereitgestellt wird, wird eine virtuelle Oberfläche mit den Parametern virtual_surface_radius und virtual_surface_elevation eingesetzt. | LAS Dataset Layer; Mosaic Layer; Raster Layer; TIN Layer; Terrain Layer |
virtual_surface_radius (optional) | Der Radius der virtuellen Oberfläche, die zum Definieren des Horizonts herangezogen wird, wenn keine topografische Oberfläche bereitgestellt wird. Die Standardeinstellung ist 1,000 Meter. Folgende Einheiten werden unterstützt:
| Linear Unit |
virtual_surface_elevation (optional) | Die Höhe der virtuellen Oberfläche zum Definieren des Horizonts statt einer tatsächlichen Oberfläche. Dieser Wert wird ignoriert, wenn eine tatsächliche Oberfläche zur Verfügung steht. Die Standardeinstellung ist 0. Folgende Einheiten werden unterstützt:
| Linear Unit |
in_features [in_features,...] (optional) | Die zur Bestimmung der Skyline verwendeten Features. Wenn keine Features angegeben werden, besteht die Skyline lediglich aus der Horizontlinie, die von der topografischen oder virtuellen Oberfläche festgelegt wird. | Feature Layer |
feature_lod (optional) | Die Detaillierungsebene, in der jedes Feature in der Skyline-Analyse untersucht werden soll.
| String |
from_azimuth_value_or_field (optional) | Der Azimut, in Grad, von dem die Skyline-Analyse gestartet werden soll. Die Analyse beginnt am Beobachterpunkt und bewegt sich nach rechts, vom Von Azimut bis zum Bis Azimut. Der Wert muss zwischen -360 und 360 liegen. Die Standardeinstellung ist 0. | Double; Field |
to_azimuth_value_or_field (optional) | Die Richtung, in Grad, in der die Skyline-Analyse abgeschlossen werden soll. Die Analyse beginnt am Beobachterpunkt und bewegt sich nach rechts, vom Von Azimut bis zum Bis Azimut. Der Wert kann maximal 360° größer als Von Azimut sein. Die Standardeinstellung ist 360. | Double; Field |
azimuth_increment_value_or_field (optional) | Das Winkelintervall, in Grad, in dem der Horizont ausgewertet werden soll, während die Skyline-Analyse zwischen dem Von Azimut und dem Bis Azimut durchgeführt wird. Der Wert darf nicht größer als der Bis Azimut-Wert minus dem Von Azimut-Wert sein. Die Standardeinstellung ist 1. | Double; Field |
max_horizon_radius (optional) | Die maximale Entfernung von der Beobachterposition, in der nach einem Horizont gesucht werden soll. Der Wert 0 gibt an, dass keine Grenze vorgegeben werden soll. Die Standardeinstellung ist 0. Folgende Einheiten werden unterstützt:
| Linear Unit |
segment_skyline (optional) | Legt fest, ob die resultierende Skyline über ein Feature für jeden Beobachterpunkt verfügt oder ob jede Skyline des Beobachters durch die eindeutigen Elemente segmentiert wird, die zu der Skyline beitragen. Beim Erstellen von Silhouetten gibt dieser Parameter an, ob abweichende Strahlen verwendet werden sollen. Für Sonnenschatten sollte im Allgemeinen NO_SEGMENT_SKYLINE angegeben werden.
| Boolean |
scale_to_percent (optional) | Gibt den Prozentsatz des ursprünglichen vertikalen Winkels (Winkel über dem Horizont oder Höhenwinkel) oder der Höhe an, bei dem jeder Skyline-Stützpunkt platziert werden soll. Bei Eingabe von 0 oder 100 erfolgt keine Skalierung. Die Standardeinstellung ist 100. | Double |
scale_according_to (optional) | Die Werte, nach denen die Skalierung erfolgen soll.
| String |
scale_method (optional) | Der Stützpunkt, der für die Berechnung verwendet werden soll.
| String |
use_curvature (optional) | Gibt an, ob die Erdkrümmung berücksichtigt werden soll, wenn eine Kammlinie aus einer Oberflächenfunktion generiert wird.
| Boolean |
use_refraction (optional) | Gibt an, ob die atmosphärische Lichtbrechung angewendet werden soll, wenn eine Kammlinie aus einer Oberflächenfunktion generiert wird.
| Boolean |
refraction_factor (optional) | Der Brechungskoeffizient wird verwendet, wenn die atmosphärische Brechung berücksichtigt wird. Die Standardeinstellung ist 0.13. | Double |
pyramid_level_resolution (optional) | Die Auflösung der Z-Toleranz oder der Kachelung der Terrain-Pyramidenebene, die von diesem Werkzeug verwendet wird. Der Standardwert ist 0, also volle Auflösung. | Double |
create_silhouettes (optional) | Legt fest, ob die Ausgabe-Features Skylines oder Silhouetten darstellen.
| Boolean |
Codebeispiel
Skyline: 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.Skyline_3d("observers.shp", "skyline_output.shp", "sample.gdb/featuredataset/terrain")
Skyline: 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"
# 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.Skyline_3d(inPts, outFC, inSurface, surfRad, surfElev,
obstructionFCs, LOD, fromAzim, toAzim, incAzim,
maxHorizRad, segSky, scale, scaleAcc, scaleMethod)
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
- Aktueller Workspace
- Ausgabe-Koordinatensystem
- Geographische Transformationen
- XY-Auflösung
- XY-Toleranz
- Ausgabe-XY-Domäne
- Z-Auflösung
- Z-Toleranz
- Ausgabe-Z-Domäne
- Ausgabe-CONFIG-Schlüsselwort
- Auto-Commit
- Räumliches Gitter 1 der Ausgabe
- Räumliches Gitter 2 der Ausgabe
- Räumliches Gitter 3 der Ausgabe
- Terrain-Speicherauslastung
Lizenzinformationen
- Basic: Erfordert 3D Analyst
- Standard: Erfordert 3D Analyst
- Advanced: Erfordert 3D Analyst