Zusammenfassung
Erstellt eine Tabelle und optional ein Diagramm, wobei das Profil von Linien-Features auf einer oder mehreren Multipatch-, Raster-, TIN- oder Terrain-Oberflächen dargestellt wird.
Abbildung
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.
Jede Eingabelinie wird verdichtet, um die Höhe entlang ihrer überlappenden Profilziele zu interpolieren. Die Höhen- und Entfernungswerte entlang der durch die Verdichtung erstellten Eingabelinien werden in der Ausgabetabelle zusammen mit Informationen über die Linien-Features und Profilziele gespeichert.
Die folgenden Felder in der Ausgabetabelle liefern die zum Erstellen eines Diagramms in einer beliebigen grafischen Anwendung benötigten Informationen:
- FIRST_DIST: Entfernung zum ersten Stützpunkt im Profilsegment.
- FIRST_Z: Höhe des ersten Stützpunkts im Profilsegment.
- SEC_DIST: Entfernung des zweiten Stützpunkts im Profilsegment.
- SEC_Z: Höhe des zweiten Stützpunkts 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
arcpy.ddd.StackProfile(in_line_features, profile_targets, out_table, {out_graph})
Parameter | Erklärung | 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 abgebildeten Daten, die aus einer beliebigen Kombination aus Multipatch-Features, Rastern und triangulierten Oberflächenmodellen bestehen können. | Feature Layer; LAS Dataset Layer; Mosaic Layer; Raster Layer; Terrain Layer; TIN Layer |
out_table | Die Ausgabetabelle, in der die Höhe gespeichert wird, die für jedes Profilziel interpoliert wird, das die Eingabelinie schneidet. | Table |
out_graph (optional) | Der Name des Ausgabediagramms, das in ArcMap, ArcScene oder ArcGlobe angezeigt werden kann. | Graph |
Codebeispiel
StackProfile: 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.StackProfile_3d('profile_line.shp', 'dem.tif; buildings.shp',
'profile_values.dbf', 'Surface Profile')
StackProfile: Beispiel 2 (eigenständiges Skript)
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)
Umgebungen
Lizenzinformationen
- Basic: Erfordert 3D Analyst
- Standard: Erfordert 3D Analyst
- Advanced: Erfordert 3D Analyst