Skyline-Barriere (3D Analyst)
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 ä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
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
The following sample demonstrates the use of this tool in the Python window:
import arcpy from arcpy import env arcpy.CheckOutExtension("3D") env.workspace = "C:/data" arcpy.SkylineBarrier_3d("observers.shp", "skyline_outline.shp", "barrier_output.shp")
The following sample demonstrates the use of this tool in a stand-alone Python script:
'''**************************************************************************** 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)