Oberflächenausrichtung (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.
Abbildung
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 |
The output 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) |
The z-tolerance or window size resolution of the terrain pyramid level that will be used by this tool. The default is 0, or full resolution. | Double |
Codebeispiel
The following sample demonstrates the use of this tool in the Python window:
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)
The following sample demonstrates the use of this tool in a stand-alone Python script:
'''**************************************************************************** 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)