Oberflächenausrichtung (ArcGIS 3D Analyst)
Zusammenfassung
Berechnet die Ausrichtung bzw. Richtung des steilsten Gefälles für jedes Dreieck in einem TIN- oder Terrain-Dataset und schreibt die Ausgabe als Polygon-Feature-Class.
Bild
Verwendung
Jede Ausrichtung eines Oberflächendreiecks wird in Gradeinheiten angegeben und erhält einen Ausrichtungscode basierend auf der Haupt- oder Ordinalrichtung der Neigung. Das Standardklassifizierungsschema lautet wie folgt:
Code
Neigungsrichtung
Neigungswinkelbereich
-1
Eben
Keine Neigung
1
Nord
0–22.5
2
Nordost
22.5–45
3
Ost
45–135
4
Südost
135–180
5
Süd
180–225
6
Südwest
225–270
7
West
270–315
8
Nordwest
315–337.5
9
Nord
337.5–360
Benachbarte Dreiecke mit dem gleichen Code werden in ein Feature zusammengeführt.
Angepasste Klassendefinitionen können über eine Tabelle für Klassengrenzen bereitgestellt werden. Die Tabelle muss zwei Spalten enthalten. Die erste Spalte gibt den Ausrichtungsgrenzpunkt in Grad an, die zweite definiert den Codewert. Nachstehend ist ein Beispiel aufgeführt:
Unterbrechung
Aspect_Code
90.0
1
180.0
2
270.0
3
360.0
4
Die Tabelle kann jedes unterstützte Format haben (.dbf, .txt oder Geodatabase-Tabelle). Der Name der Felder ist unbedeutend, da jeweils das erste für Klassengrenzen und das zweite für Ausrichtungscodes verwendet wird.
Syntax
Parameter | Erläuterung | Datentyp |
in_surface |
Das Eingabe-Terrain oder die TIN-Oberfläche. | Terrain Layer; TIN Layer |
out_feature_class |
Die Ausgabe-Feature-Class. | Feature Class |
class_breaks_table (optional) |
Eine Tabelle mit den Klassifizierungsgrenzen, die zum Definieren der Ausrichtungsbereiche der Ausgabe-Feature-Class verwendet werden. | Table |
aspect_field (optional) |
Das Feld mit den Ausrichtungscodewerten. | String |
pyramid_level_resolution (optional) |
Der Z-Toleranzwert oder die Kachelungsauflösung der Terrain-Pyramidenebene, der bzw. die von diesem Werkzeug verwendet wird. Der Standardwert ist 0, also volle Auflösung. | Double |
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.SurfaceVolume_3d("sample.gdb/featuredataset/terrain", "surf_vol.txt",
"ABOVE", 300, 1, 5)
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.GetMessage(0)
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)