Skyline (3D Analyst)

Zusammenfassung

Generiert eine Line- oder Multipatch-Feature-Class, die die Ergebnisse einer Skyline- oder Silhouettenanalyse enthält.

Weitere Informationen zur Funktionsweise von "Skyline"

Abbildung

Skyline

Verwendung

  • 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.3d.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})
ParameterErklärungDatentyp
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:

  • UNKNOWNUnbekannt
  • INCHESZoll
  • FEETFuß
  • YARDSYards
  • MILESMeilen
  • MILLIMETERSMillimeter
  • CENTIMETERSZentimeter
  • DECIMETERSDezimeter
  • METERSMeter
  • KILOMETERSKilometer
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:

  • UNKNOWNUnbekannt
  • INCHESZoll
  • FEETFuß
  • YARDSYards
  • MILESMeilen
  • MILLIMETERSMillimeter
  • CENTIMETERSZentimeter
  • DECIMETERSDezimeter
  • METERSMeter
  • KILOMETERSKilometer
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.

  • FULL_DETAILJede Kante innerhalb des Features wird in der Skyline-Analyse berücksichtigt (nur Kanten von Dreiecken und äußeren Ringen werden berücksichtigt). Dieser zeitaufwändige Vorgang ist der präziseste und zudem die Standardoption.
  • CONVEX_FOOTPRINTDie Skyline-Analyse verwendet den oberen Umfang der konvexen Hülle jedes Feature-Footprints, das auf die Höhe des höchsten Stützpunktes innerhalb des Features extrudiert ist.
  • ENVELOPE Die Skyline-Analyse verwendet den Umfang des dreidimensionalen Feature-Envelopes. Dieses ist das schnellste Verfahren.
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:

  • UNKNOWNUnbekannt
  • INCHESZoll
  • FEETFuß
  • YARDSYards
  • MILESMeilen
  • MILLIMETERSMillimeter
  • CENTIMETERSZentimeter
  • DECIMETERSDezimeter
  • METERSMeter
  • KILOMETERSKilometer
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.

  • NO_SEGMENT_SKYLINEJedes Skyline-Feature stellt einen Beobachter dar. Dies ist die Standardeinstellung.
  • SEGMENT_SKYLINEJede Skyline des Beobachters wird durch die eindeutigen Elemente segmentiert, die zu der Skyline beitragen.
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.

  • VERTICAL_ANGLEDie Skalierung erfolgt unter Berücksichtigung des vertikalen Winkels jedes Stützpunktes im Verhältnis zum Beobachterpunkt. Dies ist die Standardeinstellung.
  • ELEVATIONDie Skalierung erfolgt unter Berücksichtigung der Höhe jedes Stützpunktes im Verhältnis zum Beobachterpunkt.
String
scale_method
(optional)

Der Stützpunkt, der für die Berechnung verwendet werden soll.

  • SKYLINE_MAXIMUMStützpunkte werden im Verhältnis zum vertikalen Winkel (oder zur Höhe) des Stützpunktes mit dem höchsten vertikalen Winkel (oder der größten Höhe) skaliert. Dies ist die Standardeinstellung.
  • EACH_VERTEXStützpunkte werden im Verhältnis zum ursprünglichen vertikalen Winkel (oder zur Höhe) jedes Stützpunktes skaliert.
String
use_curvature
(optional)

Gibt an, ob die Erdkrümmung berücksichtigt werden soll, wenn eine Kammlinie aus einer Oberflächenfunktion generiert wird.

  • CURVATUREDie Erdkrümmung wird berücksichtigt.
  • NO_CURVATUREDie Erdkrümmung wird nicht berücksichtigt. Dies ist die Standardeinstellung.
Boolean
use_refraction
(optional)

Gibt an, ob die atmosphärische Lichtbrechung angewendet werden soll, wenn eine Kammlinie aus einer Oberflächenfunktion generiert wird.

  • NO_REFRACTION Die atmosphärische Lichtbrechung wird nicht berücksichtigt. Dies ist die Standardeinstellung.
  • REFRACTIONDie atmosphärische Lichtbrechung wird berücksichtigt.
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.

  • NO_CREATE_SILHOUETTESDie resultierenden Polylinien-Features stellen die Skyline dar. Dies ist die Standardeinstellung.
  • CREATE_SILHOUETTESDie resultierenden Multipatch-Features stellen Silhouetten dar.
Boolean

Codebeispiel

Skyline: Beispiel 1 (Python-Fenster)

Anhand des folgenden Beispiels wird die Verwendung dieses Werkzeugs im Python-Fenster veranschaulicht.

arcpy.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

# 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.Skyline_3d(inPts, outFC, inSurface, surfRad, surfElev, 
                 obstructionFCs, LOD, fromAzim, toAzim, incAzim, 
                 maxHorizRad, segSky, scale, scaleAcc, scaleMethod)

Lizenzinformationen

  • Basic: Erfordert 3D Analyst
  • Standard: Erfordert 3D Analyst
  • Advanced: Erfordert 3D Analyst

Verwandte Themen