Zusammenfassung
Erstellt Polygon-Features, die Neigungswertbereiche für triangulierte Oberflächen darstellen.
Abbildung
Verwendung
-
Die Neigung wird mithilfe der Oberflächennormale der einzelnen Dreiecke, die durch das Vektorprodukt von zwei Dreieckskanten angegeben wird, in Prozent oder Grad bestimmt. Die prozentuale Neigung beschreibt das Änderungsverhältnis der Höhe der Oberflächennormale in horizontaler Richtung, während die Gradneigung den Neigungswinkel zwischen der Oberflächennormale und einer horizontalen Ebene angibt.
Jedes resultierende Polygon stellt einen Neigungswertbereich dar, der von den Klassifizierungsgrenzen abhängt, die bei der Ausführung des Werkzeugs verwendet werden. Die Standardklassifizierungsgrenze teilt die Neigungsmessungen in die folgenden neun Gruppen ein:
SLOPE CODE PERCENT DEGREE RANGE 1
0,00 bis 1,00
0,00 bis 0,57
2
1,00 bis 2,15
0,57 bis 1,43
3
2,15 bis 4,64
1,43 bis 2,66
4
4,64 bis 10,0
2,66 bis 5,71
5
10,00 bis 21,50
5,71 bis 12,13
6
21,50 bis 46,40
12,13 bis 24,89
7
46,40 bis 100,0
24,89 bis 45,00
8
100,0 bis 1000,0
45,00 bis 84,29
9
1000.0 <
84,29 bis 90,0
Neigungsklassifizierungen können angepasst werden, indem eine Tabelle mit bis zu zwei Feldern für numerische Werte im Parameter Tabelle für Klassengrenzen angegeben wird. Die erste Spalte identifiziert die Grenzpunkte der Neigungsklassifikation. Wenn eine zweite Spalte enthalten ist, wird mit den darin enthaltenen Werten ein Code verknüpft, der jedem Polygon-Feature zugeschrieben wird. Wenn die unten angegebene Tabelle verwendet wird, werden alle Neigungswerte von 0 bis 10 durch den Code 1 dargestellt, die Werte von 10 bis 25 durch den Code 2 usw. Die Klassengrenzeneinheiten der Tabelle werden im Parameter Neigungseinheiten (units) festgelegt.
CLASS_BREAK CODE 10.0
1
25,0
2
40,0
3
70,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
arcpy.ddd.SurfaceSlope(in_surface, out_feature_class, {units}, {class_breaks_table}, {slope_field}, {z_factor}, {pyramid_level_resolution})
Parameter | Erklärung | Datentyp |
in_surface | Das TIN-, Terrain- oder LAS-Dataset, dessen Neigungsdaten in das Ausgabe-Polygon-Feature geschrieben werden. | LAS Dataset Layer; Terrain Layer; TIN Layer |
out_feature_class | Die Feature-Class, die von diesem Werkzeug erstellt wird. | Feature Class |
units (optional) | Die Maßeinheiten zum Berechnen der Neigung.
| String |
class_breaks_table (optional) | Eine Tabelle mit Klassengrenzen zum Gruppieren der Ausgabe-Features. Die erste Spalte dieser Tabelle gibt den Unterbrechungspunkt an, die zweite enthält den Klassifizierungscode. | Table |
slope_field (optional) | Das Feld mit den Neigungswerten. | String |
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. Der Parameter ist deaktiviert, wenn der Raumbezug der Eingabe-Oberfläche über ein Z-Datum mit einer angegebenen linearen Einheit verfügt. | 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
SurfaceSlope – 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.SurfaceSlope_3d("sample.gdb/featuredataset/terrain", "s_slope.shp", "PERCENT")
SurfaceSlope – Beispiel 2 (eigenständiges Skript)
Im folgenden Beispiel wird die Verwendung dieses Werkzeugs in einem eigenständigen Python-Skript veranschaulicht.
'''****************************************************************************
Name: SurfaceSlope Example
Description: This script demonstrates how to use the
SurfaceAspect and SurfaceSlope tools to generate a polygon
that contains the intersection of both
****************************************************************************'''
# Import system modules
import arcpy
from arcpy import env
# Obtain a license for the ArcGIS 3D Analyst extension
arcpy.CheckOutExtension("3D")
# Set environment settings
env.workspace = "C:/data"
try:
# List all TINs in workspace
listTINs = arcpy.ListDatasets("","TIN")
# Determine whether the list contains any TINs
if len(listTINs) > 0:
for dataset in listTINs:
print dataset
# Set Local Variables
aspect = arcpy.CreateUniqueName("Aspect.shp")
slope = arcpy.CreateUniqueName("Slope.shp")
outFC = dataset + "_Aspect_Slope.shp"
#Execute SurfaceAspect
arcpy.SurfaceAspect_3d(dataset, aspect)
#Execute SurfaceSlope
arcpy.SurfaceSlope_3d(dataset, slope)
#Execute SurfaceSlope
print "Starting Intersect"
arcpy.Intersect_analysis(aspect + " #;" + slope + " #", outFC, "ALL")
print "Completed intersect for " + dataset
del aspect, slope, outFC
else:
print "There are no TINs in the " + env.workspace + " directory."
except:
# Returns any other error messages
print arcpy.GetMessages(2)
del arcpy, listTINs
Umgebungen
Lizenzinformationen
- Basic: Erfordert 3D Analyst
- Standard: Erfordert 3D Analyst
- Advanced: Erfordert 3D Analyst