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.
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ü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
StackProfile_3d (in_line_features, profile_targets, out_table, {out_graph})
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 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
- ArcGIS Desktop Basic: Erfordert 3D Analyst
- ArcGIS Desktop Standard: Erfordert 3D Analyst
- ArcGIS Desktop Advanced: Erfordert 3D Analyst