Zusammenfassung
Generiert eine Multipatch-Feature-Class, die eine Skyline-Barriere oder ein Schattenvolumen darstellt.
Weitere Informationen zur Funktionsweise von "Skyline-Barriere"
Bild
Verwendung
Die Barriere ähnelt einem Dreiecksfächer. Sie wird gebildet, indem eine Linie vom Beobachterpunkt zum ersten Stützpunkt der Skyline gezeichnet und dann durch alle Stützpunkte der Skyline gezogen wird. Mit diesem Werkzeug können Sie ermitteln, ob Features, z. B. Gebäude darstellende Multipatches, durch die Barriere ragen und sie dadurch "verletzen" oder ob ein vorgeschlagenes Gebäude die Skyline verändern würde.
Erstellen Sie zunächst mit dem Werkzeug Skyline eine Skyline oder Silhouette. Durch eine Silhouette wird eine volumetrische Repräsentation des Schattens erstellt, den vom Beobachterpunkt ausgehendes Licht wirft.
Die Parameter Minimaler Radius und Maximaler Radius definieren die Länge der vom Beobachterpunkt ausgehenden Dreieckskanten. Wenn für Minimaler Radius oder Maximaler Radius der Standardwert 0 angegeben ist, wird in der Analyse keine minimale oder maximale Länge verwendet.
Wenn Sie ein geschlossenes Multipatch erstellen möchten, wird die Ausgabe nach der durch den Parameter Basishöhe definierten Höhe extrudiert, und ein horizontaler Ring wird als unterer Bereich der geschlossenen Geometrie erstellt. Ist die angegebene Basishöhe größer als der höchste Stützpunkt in der Skyline-Barriere, stellt die Basis eigentlich die Decke dar.
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
SkylineBarrier_3d (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 | Erläuterung | 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 die die Skyline-Barriere oder das Schattenvolumen eingefügt wird. | Feature Class |
min_radius_value_or_field (optional) | Der minimale Radius der Ausdehnung der Dreieckskanten vom Beobachterpunkt. Die Standardeinstellung ist 0 (d. h. kein Minimum). | Linear Unit; Field |
max_radius_value_or_field (optional) | Der maximale Radius der Ausdehnung der Dreieckskanten vom Beobachterpunkt. Die Standardeinstellung ist 0 (d. h. kein Maximum). | Linear Unit; Field |
closed (optional) | Gibt an, ob die Skyline-Barriere mit einer Umrandung und einer Basis geschlossen werden soll, sodass ein Multipatch entsteht, das einem Festkörper gleicht.
| Boolean |
base_elevation (optional) | Die Höhe der Basis des geschlossenen Multipatch; sie wird ignoriert, wenn die Barriere nicht geschlossen werden soll. Die Standardeinstellung ist 0. | Linear Unit; Field |
project_to_plane (optional) | Gibt an, ob sowohl das vordere Ende (näher zum Beobachter) als auch das hintere Ende (weiter entfernt vom Beobachter) der Barriere auf eine vertikale Ebene projiziert werden sollen. Diese Option ist beim Erstellen eines Schattenvolumens in der Regel aktiviert (ausgewählt).
| 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)
Umgebung
Lizenzierungsinformationen
- ArcGIS for Desktop Basic: Erfordert 3D Analyst
- ArcGIS for Desktop Standard: Erfordert 3D Analyst
- ArcGIS for Desktop Advanced: Erfordert 3D Analyst