Zusammenfassung
Berechnet die Fläche und das Volumen der Region zwischen einer Oberfläche und einer Referenzebene.
Bild
Verwendung
Wenden Sie einen Z-Faktor an, um die Genauigkeit von Volumenberechnungen sicherzustellen, wenn die Z-Oberflächenwerte in einer anderen Maßeinheit als die XY-Einheiten ausgedrückt werden. Die Originaldaten werden durch den Z-Faktor nicht geändert. Das Werkzeug legt automatisch den entsprechenden Z-Faktor fest, wenn die XY- und Z-Koordinatensysteme definiert wurden.
Die Ausgabetextdatei speichert den vollständigen Pfad zu der Oberfläche, die zum Erstellen der Ergebnisse verwendeten Parameter sowie die berechnete Fläche und die Volumenmessungen. Wenn dieselbe Ausgabedatei bei mehreren Ausführungen des Werkzeugs angegeben wird, werden die bereits vorhandenen Datensätze beibehalten und die Ergebnisse an die Tabelle angehängt.
Dataset Ebenenhöhe Referenz Z-Faktor 2D-Fläche 3D-Fläche Volumen C:\data\tin
100.00
Oberhalb
1
15984467.82
16354331.40
1886012931.05
C:\data\raster.tif
250.5
Unterhalb
3.28084
0
0
0
C:\data.gdb\fd\terrain
1250
Oberhalb
0.3048
1854238.36
1970550.88
1099221466.89
Wenn die Region, für die Oberflächen- und Volumenberechnungen durchgeführt werden sollen, durch eine nicht rechtwinklige Ausdehnung definiert wird, können Sie ein Polygon erstellen, um die Grenze des Interessenbereichs zu skizzieren, und anschließend das Werkzeug Polygon-Volumen verwenden, um die Berechnungen für die Region zwischen der durch das Polygon definierten Ebene und einer angegebene Oberfläche zu bestimmen.
Eine Raster-Oberfläche wird, im Gegensatz zu der Ausdehnung des gesamten Zellenbereichs, anhand der Ausdehnung des Mittelpunktes jeder Zelle ausgewertet. Die resultierende Analyse verkleinert die Datenfläche des Rasters um eine halbe Zelle relativ zu der Datenfläche, die für das Raster angezeigt wird.
Syntax
SurfaceVolume_3d (in_surface, {out_text_file}, {reference_plane}, {base_z}, {z_factor}, {pyramid_level_resolution})
Parameter | Erläuterung | Datentyp |
in_surface | Die Oberfläche des zu verarbeitenden Raster-, TIN- oder Terrain-Datasets. | Raster Layer; Terrain Layer; TIN Layer |
out_text_file (optional) | Eine kommagetrennte ASCII-Textdatei, die die Flächen- und Volumenberechnungen enthält. Wenn die Datei bereits vorhanden ist, werden die neuen Ergebnisse an die Datei angefügt. | File |
reference_plane (optional) | Die Richtung von der Bezugsebene, für die die Ergebnisse berechnet werden.
| String |
base_z (optional) | Der Z-Wert der Ebene, die zur Berechnung von Fläche und Volumen dient. | Double |
z_factor (optional) | Der Faktor, mit dem Z-Werte multipliziert werden. Dieser wird in der Regel verwendet, um lineare Z-Einheiten zu konvertieren, sodass sie den linearen XY-Einheiten entsprechen. Der Standardwert ist 1, wodurch die Höhenwerte unverändert bleiben. | Double |
pyramid_level_resolution (optional) | Die Auflösung der Z-Toleranz oder der Kachelung der Terrain-Pyramidenebene, die von diesem Werkzeug verwendet wird. Der Standardwert ist 0, also volle Auflösung. | Double |
Codebeispiel
SurfaceVolume – 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.SurfaceVolume_3d("sample.gdb/featuredataset/terrain", "surf_vol.txt",
"ABOVE", 300, 1, 5)
SurfaceVolume – Beispiel 2 (eigenständiges Skript)
Im folgenden Beispiel wird die Verwendung dieses Werkzeugs in einem eigenständigen Python-Skript veranschaulicht.
'''****************************************************************************
Name: Surface Volume Example
Description: This script demonstrates how to use the
Surface Volume tool.
****************************************************************************'''
# Import system modules
import arcpy
from arcpy import env
import exceptions, sys, traceback
try:
# Obtain a license for the ArcGIS 3D Analyst extension
arcpy.CheckOutExtension("3D")
# Set environment settings
env.workspace = "C:/data"
# Set Local Variables
inSurface = "elevation_tin"
#Execute SurfaceVolume
result = arcpy.SurfaceVolume_3d(inSurface, "", "ABOVE", "300", "1", "5")
print result.getMessages()
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