Beschriftung | Erläuterung | Datentyp |
Eingabe-Beobachterpunkt-Features | Die 3D-Punkte, die Beobachter darstellen. Jedes Feature verfügt über eine eigene Ausgabe. | Feature Layer |
Ausgabe-Feature-Class | Die 3D-Features, die entweder Linien sind, die die Skyline darstellen, oder die Multipatches sind, die Silhouetten darstellen. | Feature Class |
Eingabe-Oberfläche (optional) | Die topografische Oberfläche, die zum Definieren des Horizonts verwendet wird. Wenn keine Oberfläche bereitgestellt wird, wird eine virtuelle Oberfläche verwendet, die durch die Parameterwerte für Radius der virtuellen Oberfläche und Höhe der virtuellen Oberfläche definiert wird. | LAS Dataset Layer; Mosaic Layer; Raster Layer; TIN Layer; Terrain Layer |
Radius der virtuellen Oberfläche (optional) | Der Radius der virtuellen Oberfläche, die zum Definieren des Horizonts herangezogen wird, wenn keine Eingabeoberfläche bereitgestellt wird. Die Standardeinstellung ist 1.000 Meter. | Linear Unit |
Höhe der virtuellen Oberfläche (optional) | Die Höhe der virtuellen Oberfläche, die zum Definieren des Horizonts statt einer tatsächlichen Oberfläche verwendet wird. Dieser Parameter wird ignoriert, wenn eine tatsächliche Oberfläche zur Verfügung steht. Die Standardeinstellung ist 0. | Linear Unit |
Eingabe-Features (optional) | Die Features, die zum Ermitteln der Skyline verwendet werden. 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-Detaillierungsebene (optional) | Gibt die Detaillierungsebene an, mit der die einzelnen Features untersucht werden.
| String |
Von Azimut (optional) | Die Richtung, in der die Skyline-Analyse beginnt. Der Wert ist ein geometrischer Winkel in Grad im Bereich von -360° bis 360°. Der Standardwert ist 0° und genau nach Norden. Winkelwerte werden im Uhrzeigersinn erhöht, sodass 90° genau nach Osten, 180° genau nach Süden und 270° genau nach Westen ist. Ähnlich gilt: -90° ist Westen, -180° ist Süden, und -270° ist Osten. Ein numerisches Feld des Parameterwertes Eingabe-Beobachterpunkt-Features kann auch verwendet werden, um für jeden Beobachter eine eindeutige Anfangsrichtung anzugeben. Die Analyse wird bis zum Parameterwert Bis Azimut erweitert. | Double; Field |
Bis Azimut (optional) | Die Richtung, in der die Skyline-Analyse abgeschlossen wird. Dieser Wert ist ein geometrischer Winkel in Grad im Bereich von -360° bis 360°. Die Analyse beginnt am Beobachterpunkt und wird vom Parameterwert Von Azimut bis zum Parameterwert Bis Azimut erweitert. Der Wert kann nicht um mehr als 360° vom Parameterwert Von Azimut abweichen. Der Standardwert ist 360° und genau nach Norden. Beispielsweise führt der Start-Azimut 0° mit dem End-Azimut 360° zu einem vollständigen Kreis als Skyline um den Beobachter. Der Start-Azimut 90° mit dem End-Azimut 270° deckt die südliche Hälfte des kreisförmigen Bereichs um den Beobachter ab. Ein numerisches Feld des Parameterwertes Eingabe-Beobachterpunkt-Features kann verwendet werden, um für jeden Beobachter eine eindeutige Terminalrichtung anzugeben. | Double; Field |
Azimut-Schrittgröße (optional) | Das Winkelintervall in Grad, in dem der Horizont ausgewertet wird, während die Skyline-Analyse zwischen den Parameterwerten Von Azimut und Bis Azimut durchgeführt wird. Der Wert darf nicht größer als der Wert Bis Azimut minus dem Wert Von Azimut sein. Die Standardeinstellung ist 1. | Double; Field |
Maximaler Horizontradius (optional) | Die maximale Entfernung von der Beobachterposition, in der nach einem Horizont gesucht werden soll. Der Wert Null gibt an, dass keine Begrenzung vorgenommen wird. Die Standardeinstellung ist 0. | Linear Unit |
Skyline segmentieren (optional) | Gibt an, ob die resultierende Skyline über ein Feature für jeden Beobachterpunkt verfügt oder jede Skyline des Beobachters durch die eindeutigen Elemente segmentiert wird, die zu der Skyline beitragen. Dieser Parameter ist nur verfügbar, wenn mindestens ein Multipatch-Feature für den Parameter Eingabe-Features angegeben ist. Beim Erstellen von Silhouetten gibt dieser Parameter an, ob abweichende Strahlen verwendet werden sollen. Wenn Sonnenschatten verwendet werden sollen, deaktivieren Sie den Parameter.
| Boolean |
Auf Prozentsatz skalieren (optional) | Der Prozentsatz des ursprünglichen vertikalen Winkels (Winkel über dem Horizont oder Höhenwinkel) oder der Höhe, bei dem jeder Skyline-Stützpunkt platziert wird. Wenn der Wert 0 oder 100 verwendet wird, findet keine Skalierung statt. Die Standardeinstellung ist 100. | Double |
Skalieren nach (optional) | Gibt an, wie die Skalierung durchgeführt wird.
| String |
Skalierungsmethode (optional) | Gibt den Stützpunkt an, der für die Skalierungsberechnung verwendet wird.
| String |
Krümmung verwenden (optional) | Gibt an, ob beim Erstellen der Kammlinie die Erdkrümmung verwendet wird. Dieser Parameter ist nur verfügbar, wenn für den Parameter Eingabeoberfläche eine Raster-Oberfläche angegeben wird.
| Boolean |
Brechung verwenden (optional) | Gibt an, ob die atmosphärische Lichtbrechung angewendet werden soll, wenn eine Kammlinie aus einer Eingabe-Oberfläche generiert wird. Diese Option ist nur verfügbar, wenn für den Parameter Eingabeoberfläche eine Raster-Oberfläche angegeben wird.
| Boolean |
Brechungsfaktor (optional) | Der Brechungskoeffizient, der verwendet wird, wenn die atmosphärische Lichtbrechung angewendet wird. Die Standardeinstellung ist 0.13. | Double |
Auflösung der Pyramidenebene (optional) | Die verwendete Auflösung der Z-Toleranz oder der Kachelung der Terrain-Pyramidenebene. Der Standardwert ist 0, also volle Auflösung. | Double |
Silhouetten erstellen (optional) | Gibt an, ob die Ausgabe-Features Skylines darstellen, die die Grenze zwischen den Eingabedaten und dem offenen Himmel definieren, oder ob sie Silhouetten darstellen, die die Fassade der beobachtbaren Eingabe-Features wiedergeben. Diese Option ist nur verfügbar, wenn mindestens ein Multipatch-Feature für den Parameter Eingabe-Features angegeben ist.
| Boolean |
Maximalen Radius auf Features anwenden (optional) | Gibt an, ob der Parameterwert Maximaler Horizontradius auf die Eingabe-Features angewendet wird.
| Boolean |
Zusammenfassung
Generiert eine Line- oder Multipatch-Feature-Class, die die Ergebnisse einer Skyline- oder Silhouettenanalyse enthält.
Abbildung
Verwendung
Für dieses Werkzeug ist es erforderlich, dass sich alle Eingabedaten in einem projizierten Koordinatensystem befinden. Eine Eingabe-Feature-Class, die sich nicht in einem projizierten Koordinatensystem befindet, kann mit dem Werkzeug Projizieren neu projiziert werden. Eine Eingabe-Raster-Oberfläche kann mit dem Werkzeug Raster projizieren neu projiziert werden.
Mit dem Parameter Skyline segmentieren kann der Anteil der Skyline festgelegt werden, der durch bestimmte Multipatch-Features oder die umgebende Höhenoberfläche definiert wird. Auf diese Weise lässt sich einfacher feststellen, ob bestimmte Sehenswürdigkeiten zur Skyline eines bestimmten Beobachterpunktes beitragen.
Mit diesem Werkzeug können Feature-Silhouetten erstellt werden, die mit dem Werkzeug Skyline-Barriere in Schattenvolumen extrudiert werden können. Die durch diesen Prozess generierten Schatten werden mit einem leichten Versatz von der Geometrie der Eingabe-Features erstellt. Alternativ kann das Werkzeug Sonnenschattenvolumen verwendet werden, um von der Feature-Geometrie ausgehende Schattenvolumen bis zu einer Entfernung unterhalb der Feature-Höhe zu generieren. Sie können auch mit dem Werkzeug Sonnenschattenhäufigkeit herausfinden, wo der durch Sonnenlicht verursachte Schatten eines 3D-Features auf eine Oberfläche fällt.
Dem Parameterwert für die Ausgabe-Feature-Class mit den Skylines 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.
Dem Parameterwert für die Ausgabe-Feature-Class mit den Silhouetten 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 am Mittelpunkt zu bleiben (1 für ja und 0 für nein)
Die Korrektur der atmosphärischen Lichtbrechung und die Korrektur der Erdkrümmung werden nur angewendet, wenn der Parameterwert für die Eingabeoberfläche ein Raster-Dataset ist. Wenn die Oberfläche durch ein TIN-, Terrain- oder LAS-Dataset definiert wird, verwenden Sie eines der folgenden Werkzeuge, um die Daten in ein Raster zu exportieren:
Parameter
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})
Name | Erläuterung | 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 verwendet, die durch die Parameterwerte für virtual_surface_radius und virtual_surface_elevation definiert wird. | 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 Eingabeoberfläche bereitgestellt wird. Die Standardeinstellung ist 1.000 Meter. | Linear Unit |
virtual_surface_elevation (optional) | Die Höhe der virtuellen Oberfläche, die zum Definieren des Horizonts statt einer tatsächlichen Oberfläche verwendet wird. Dieser Parameter wird ignoriert, wenn eine tatsächliche Oberfläche zur Verfügung steht. Die Standardeinstellung ist 0. | Linear Unit |
in_features [in_features,...] (optional) | Die Features, die zum Ermitteln der Skyline verwendet werden. 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) | Gibt die Detaillierungsebene an, mit der die einzelnen Features untersucht werden.
| String |
from_azimuth_value_or_field (optional) | Die Richtung, in der die Skyline-Analyse beginnt. Dieser Wert ist ein geometrischer Winkel in Grad im Bereich von -360° bis 360°. Der Standardwert ist 0° und genau nach Norden. Winkelwerte werden im Uhrzeigersinn erhöht, sodass 90° genau nach Osten, 180° genau nach Süden und 270° genau nach Westen ist. Ähnlich gilt: -90° ist Westen, -180° ist Süden, und -270° ist Osten. Ein numerisches Feld des Parameterwertes in_observer_point_features kann auch verwendet werden, um für jeden Beobachter eine eindeutige Anfangsrichtung anzugeben. Die Analyse wird bis zum Parameterwert to_azimuth_value_or_field erweitert. | Double; Field |
to_azimuth_value_or_field (optional) | Die Richtung, in der die Skyline-Analyse abgeschlossen wird. Dieser Wert ist ein geometrischer Winkel in Grad, der als beliebige Zahl im Bereich -360° bis 360° angegeben werden kann. Die Analyse beginnt am Beobachterpunkt und wird vom Parameterwert from_azimuth_value_or_field bis zum Parameterwert to_azimuth_value_or_field erweitert. Der Wert kann nicht um mehr als 360° vom Parameterwert from_azimuth_value_or_field abweichen. Der Standardwert ist 360° und genau nach Norden. Beispielsweise führt der Start-Azimut 0° mit dem End-Azimut 360° zu einem vollständigen Kreis als Skyline um den Beobachter. Der Start-Azimut 90° mit dem End-Azimut 270° deckt die südliche Hälfte des kreisförmigen Bereichs um den Beobachter ab. Ein numerisches Feld des Parameterwertes in_observer_point_features kann verwendet werden, um für jeden Beobachter eine eindeutige Terminalrichtung anzugeben. | Double; Field |
azimuth_increment_value_or_field (optional) | Das Winkelintervall in Grad, in dem der Horizont ausgewertet wird, während die Skyline-Analyse zwischen den Parameterwerten from_azimuth_value_or_field und to_azimuth_value_or_field durchgeführt wird. Der Wert darf nicht größer als der Wert to_azimuth_value_or_field minus dem Wert from_azimuth_value_or_field 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 Null gibt an, dass keine Begrenzung vorgenommen wird. Die Standardeinstellung ist 0. | Linear Unit |
segment_skyline (optional) | Gibt an, ob die resultierende Skyline über ein Feature für jeden Beobachterpunkt verfügt oder jede Skyline des Beobachters durch die eindeutigen Elemente segmentiert wird, die zu der Skyline beitragen. Dieser Parameter ist nur verfügbar, wenn Multipatch-Features für den Parameter in_features angegeben sind. Beim Erstellen von Silhouetten gibt dieser Parameter an, ob abweichende Strahlen verwendet werden sollen. Verwenden Sie für Sonnenschatten die Option NO_SEGMENT_SKYLINE.
| Boolean |
scale_to_percent (optional) | Der Prozentsatz des ursprünglichen vertikalen Winkels (Winkel über dem Horizont oder Höhenwinkel) oder der Höhe, bei dem jeder Skyline-Stützpunkt platziert wird. Wenn der Wert 0 oder 100 verwendet wird, findet keine Skalierung statt. Die Standardeinstellung ist 100. | Double |
scale_according_to (optional) | Gibt an, wie die Skalierung durchgeführt wird.
| String |
scale_method (optional) | Gibt den Stützpunkt an, der für die Skalierungsberechnung verwendet wird.
| String |
use_curvature (optional) | Gibt an, ob beim Erstellen der Kammlinie aus einer funktionalen Oberfläche die Erdkrümmung verwendet wird. Dieser Parameter ist nur verfügbar, wenn für den Parameter in_surface eine Raster-Oberfläche angegeben wird.
| Boolean |
use_refraction (optional) | Gibt an, ob die atmosphärische Lichtbrechung angewendet werden soll, wenn eine Kammlinie aus einer Oberflächenfunktion generiert wird. Diese Option ist nur verfügbar, wenn für den Parameter in_surface eine Raster-Oberfläche angegeben wird.
| Boolean |
refraction_factor (optional) | Der Brechungskoeffizient, der verwendet wird, wenn die atmosphärische Lichtbrechung angewendet wird. Die Standardeinstellung ist 0.13. | Double |
pyramid_level_resolution (optional) | Die verwendete Auflösung der Z-Toleranz oder der Kachelung der Terrain-Pyramidenebene. Der Standardwert ist 0, also volle Auflösung. | Double |
create_silhouettes (optional) | Gibt an, ob die Ausgabe-Features Skylines darstellen, die die Grenze zwischen den Eingabedaten und dem offenen Himmel definieren, oder ob sie Silhouetten darstellen, die die Fassade der beobachtbaren Eingabe-Features wiedergeben. Diese Option ist nur verfügbar, wenn mindestens ein Multipatch-Feature für den Parameter in_features angegeben ist.
| Boolean |
apply_max_radius_to_features (optional) | Gibt an, ob der Parameterwert max_horizon_radius auf die Eingabe-Features angewendet wird.
| Boolean |
Codebeispiel
Im folgenden Beispiel wird die Verwendung dieses Werkzeugs im Python-Fenster veranschaulicht.
arcpy.env.workspace = "C:/data"
arcpy.ddd.Skyline("observers.shp", "skyline_output.shp", "sample.gdb/featuredataset/terrain")
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
# 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)