Zusammenfassung
Generiert eine Multipatch-Feature-Class, die eine Skyline-Barriere oder ein Schattenvolumen darstellt.
Weitere Informationen zur Funktionsweise von "Skyline-Barriere"
Abbildung
Verwendung
Die Barriere gleicht einem Dreiecksfächer, der dadurch entsteht, dass eine Linie vom Beobachterpunkt zum ersten Stützpunkt der Skyline gezeichnet und durch alle Stützpunkte der Skyline gezogen wird. Mit diesem Werkzeug können Sie festlegen, ob Features – z. B. Multipatches, die Gebäude darstellen – die Barriere verletzen, indem sie darüber hinausragen, oder ob ein vorgeschlagenes Gebäude die Skyline verändert.
Verwenden Sie zunächst das Werkzeug Skyline, um eine Skyline oder Silhouette zu generieren. Eine Silhouette ist eine volumetrische Darstellung des Schattens, der durch das vom Beobachterpunkt ausgehende Licht geworfen wird.
Die Parameter Minimaler Radius und Maximaler Radius definieren die Länge der Dreiecksseiten, die vom Beobachterpunkt ausgehen. Wenn für Minimaler Radius oder Maximaler Radius der Standardwert 0 angegeben ist, wird keine minimale bzw. maximale Länge in der Analyse verwendet.
Wenn Sie ein geschlossenes Multipatch erstellen, wird die Ausgabe auf die Höhe des Parameters Basishöhe extrudiert. Dann wird ein horizontaler Ring erstellt, um die Grundfläche der geschlossenen Geometrie zu bilden. Wenn die angegebene Basishöhe größer als der höchste Stützpunkt der Skyline-Barriere ist, bildet die Grundfläche die Decke.
Die neue Multipatch-Feature-Class weist die folgenden Felder auf:
- OBSV_PT_ID: Die FID des Beobachterpunktes, der zur Erstellung der Skyline verwendet wurde, die wiederum zur Erstellung dieses Skyline-Barrieren-Multipatch verwendet wurde.
- ORIGFTR_ID: Die FID des ursprünglichen Features, z. B. ein Gebäude, das durch das Skyline-Segment oder die Silhouette dargestellt wird, das bzw. die zur Erstellung dieses Schattenvolumens verwendet wurde.
- SILHOUE_ID: Die FID des Multipatch-Features (Silhouette), das zur Erstellung dieses Schattenvolumens verwendet wurde (nur für Silhouetten).
Syntax
arcpy.ddd.SkylineBarrier(in_observer_point_features, in_features, out_feature_class, {min_radius_value_or_field}, {max_radius_value_or_field}, {closed}, {base_elevation}, {project_to_plane})
Parameter | Erklärung | Datentyp |
in_observer_point_features | Die Punkt-Feature-Class, die die Beobachterpunkte enthält. | Feature Layer |
in_features | Die Eingabe-Line-Feature-Class, die die Skylines darstellt, oder die Eingabe-Multipatch-Feature-Class, die die Silhouetten darstellt. | Feature Layer |
out_feature_class | Die Ausgabe-Feature-Class, in der die Skyline-Barriere oder das Schattenvolumen geschrieben wird. | Feature Class |
min_radius_value_or_field (optional) | Der minimale Radius für die Ausdehnung der Dreiecksseiten vom Beobachterpunkt aus. Ein Wert von beispielsweise 10 bedeutet, dass alle Ausgabe-Barrieren-Features mindestens 10 Meter vom Ursprung aus weitergeführt werden. Die Standardeinstellung ist 0, wobei keine minimale Entfernung durchgesetzt wird. | Linear Unit; Field |
max_radius_value_or_field (optional) | Der maximale Radius für die Ausdehnung der Dreiecksseiten vom Beobachterpunkt aus. Die Standardeinstellung ist 0, wobei keine maximale Entfernung durchgesetzt wird. | Linear Unit; Field |
closed (optional) | Gibt an, ob der Skyline-Barriere Mantelfläche und Grundfläche hinzugefügt werden, sodass das resultierende Multipatch einem geschlossenen Volumenkörper gleicht.
| Boolean |
base_elevation (optional) | Die Höhe der Basis (Grundfläche) des geschlossenen Multipatch. Dieser Parameter wird ignoriert, wenn für den Parameter closed die Option NO_CLOSED angegeben ist. Die Standardeinstellung ist 0. | Linear Unit; Field |
project_to_plane (optional) | Gibt an, ob die Vorderseite (in der Nähe des Beobachters) und die Hinterseite (vom Beobachter entfernte Seite) der Barriere jeweils auf eine vertikale Ebene projiziert werden. In der Regel ist diese Option auf PROJECT_TO_PLANE festgelegt, um ein Schattenvolumen zu erstellen.
| Boolean |
Codebeispiel
SkylineBarrier – 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.SkylineBarrier_3d("observers.shp", "skyline_outline.shp", "barrier_output.shp")
SkylineBarrier – Beispiel 2 (eigenständiges Skript)
Im folgenden Beispiel wird die Verwendung dieses Werkzeugs in einem eigenständigen Python-Skript veranschaulicht.
'''****************************************************************************
Name: Skyline Barrier Example
Description: This script demonstrates how to use the
Skyline Barrier 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'
inLine = 'skyline.shp'
outFC = 'output_barriers.shp'
minRadius = '0 METERS'
maxRadius = '200 METERS'
#Execute SkylineBarrier
arcpy.SkylineBarrier_3d(inPts, inLine, outFC, minRadius,
maxRadius, 'CLOSED')
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
- Basic: Erfordert 3D Analyst
- Standard: Erfordert 3D Analyst
- Advanced: Erfordert 3D Analyst