Stack-Profil (ArcGIS 3D Analyst)
Zusammenfassung
Erstellt eine Tabelle und optional ein Diagramm für das Profil von Linien-Features auf einer oder mehreren Multipatch-, Raster-, TIN- oder Terrain-Oberflächen.
Bild
Verwendung
-
Wenn der Parameter Name des Ausgabediagramms Werte enthält und das Werkzeug in ArcMap, ArcScene oder ArcGlobe ausgeführt wird, wird das resultierende Diagramm auf dem Bildschirm angezeigt.
Das Diagramm befindet sich im Arbeitsspeicher, kann aber auch mit dem Werkzeug Diagramm speichern als Diagrammdatei gespeichert werden.
Die Ausgabe-Tabelle enthält die zum Generieren des Profildiagramms erforderlichen Informationen. Jedes Linien-Feature wird entlang seiner überlappenden Profilziele so verdichtet, dass die Merkmale des Profils erfasst werden, indem neue Stützpunkte entlang der Linie eingeführt werden. Die Höhen- und Entfernungswerte entlang der durch die Verdichtung erstellten Eingabelinien werden in der Ausgabe-Tabelle zusammen mit den zusätzlichen Informationen über die Linien-Features und Profilziele gespeichert. Die Werte in den zugehörigen Feldern können zur Erstellung von Diagrammen in einer Vielzahl externer Anwendungen verwendet werden. Die Felder stellen Folgendes dar:
- FIRST_DIST – Entfernung zum ersten Stützpunkt im Profilsegment.
- FIRST_Z – Höhe des ersten Stützpunktes im Profilsegment.
- SEC_DIST – Entfernung des zweiten Stützpunktes im Profilsegment.
- SEC_Z – Höhe des zweiten Stützpunktes im Profilsegment.
- LINE_ID – Eindeutige ID des Linien-Features, das zur Definition des Profils verwendet wurde.
- SRC_TYPE – Datentyp der Quelle des Profils, entweder eine Oberfläche oder ein Multipatch.
- SRC_ID – Eindeutige ID des Multipatch-Features, für das ein Profil erstellt wird. Nicht anwendbar für Oberflächen-Eingaben.
- SRC_NAME – Name und Pfad der Quelle des Profils.
Syntax
Parameter | Erläuterung | Datentyp |
in_line_features |
Die Linien-Features, für die ein Profil über die Oberflächen-Eingaben erstellt wird. | Feature Layer |
profile_targets [profile_targets,...] |
Die Multipatch-Features und Raster-, Terrain- oder TIN-Datasets, die zum Profil des Oberflächenmodells beitragen. | Feature Layer; Raster Layer; Terrain Layer; TIN Layer |
out_table |
Die Ausgabetabelle, die die Werte enthält, die durch Interpolation der Eingabe-Linien-Features über die Stack-Ziele ermittelt wurden. | Table |
out_graph (optional) |
Der Name des optionalen Ausgabediagramms im Arbeitsspeicher kann mit dem Werkzeug Diagramm speichern auf Festplatte gespeichert werden. | Graph |
Codebeispiel
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.StackProfile_3d('profile_line.shp', 'dem.tif; buildings.shp',
'profile_values.dbf', 'Surface Profile')
Im folgenden Beispiel wird die Verwendung dieses Werkzeugs in einem eigenständigen Python-Skript veranschaulicht:
'''**********************************************************************
Name: Save Profiles to Graph Files
Description: Creates profile graphs of multipatch and surface features,
which are then saved as graph files.
**********************************************************************'''
# Import system modules
import arcpy
import exceptions, sys, traceback
# Set Local Variables
profileLine = arcpy.GetParameterAsText(0)
profileTargets = arcpy.GetParameterAsText(1) # input las files
profileTable = arcpy.CreateUniqueName('profile_table', 'in_memory')
graphName = "Sample Graph"
outGraph = arcpy.GetParameterAsText(2) # output graph file
try:
arcpy.CheckOutExtension('3D')
# Execute StackProfile
arcpy.ddd.StackProfile(profileLine, profileTargets, profileTable, graphName)
# Execute SaveGraph
arcpy.management.SaveGraph(graphName, outGraph)
arcpy.CheckInExtension('3D')
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)