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
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
Anhand des folgenden Beispiels wird die Verwendung dieses Werkzeugs im Python-Fenster veranschaulicht.
arcpy.env.workspace = "C:/data"
arcpy.SurfaceSlope_3d("sample.gdb/featuredataset/terrain", "slope.shp", "PERCENT")
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
# Set environment settings
arcpy.env.workspace = "C:/data"
# 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)
else:
print("There are no TINs in the " + env.workspace + " directory.")
Umgebungen
Lizenzinformationen
- Basic: Erfordert 3D Analyst
- Standard: Erfordert 3D Analyst
- Advanced: Erfordert 3D Analyst