Oberflächenneigung (3D Analyst)

Zusammenfassung

Erstellt Polygon-Features, die Neigungswertbereiche für triangulierte Oberflächen darstellen.

Abbildung

Oberflächenneigung

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 CODEPERCENT 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_BREAKCODE

    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.

Parameter

BeschriftungErläuterungDatentyp
Eingabe-Oberfläche

Das TIN-, Terrain- oder LAS-Dataset, dessen Neigungsdaten in das Ausgabe-Polygon-Feature geschrieben werden.

LAS Dataset Layer; Terrain Layer; TIN Layer
Ausgabe-Feature-Class

Die Feature-Class, die erstellt wird.

Feature Class
Neigungseinheiten
(optional)

Die Maßeinheiten zum Berechnen der Neigung.

  • ProzentDie Neigung wird als Prozentwert angegeben. Dies ist die Standardeinstellung.
  • GradDie Neigung wird als Neigungswinkel von einer horizontalen Ebene ausgedrückt.
String
Tabelle für Klassengrenzen
(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
Neigungsfeld
(optional)

Das Feld mit den Neigungswerten.

String
Z-Faktor
(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
Auflösung der Pyramidenebene
(optional)

Die verwendete Auflösung der Z-Toleranz oder der Kachelung der Terrain-Pyramidenebene. Der Standardwert ist 0, also volle Auflösung.

Double

arcpy.ddd.SurfaceSlope(in_surface, out_feature_class, {units}, {class_breaks_table}, {slope_field}, {z_factor}, {pyramid_level_resolution})
NameErläuterungDatentyp
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 erstellt wird.

Feature Class
units
(optional)

Die Maßeinheiten zum Berechnen der Neigung.

  • PERCENTDie Neigung wird als Prozentwert angegeben. Dies ist die Standardeinstellung.
  • DEGREEDie Neigung wird als Neigungswinkel von einer horizontalen Ebene ausgedrückt.
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 verwendete Auflösung der Z-Toleranz oder der Kachelung der Terrain-Pyramidenebene. 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.

arcpy.env.workspace = "C:/data"
arcpy.SurfaceSlope_3d("sample.gdb/featuredataset/terrain", "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

# 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.")

Lizenzinformationen

  • Basic: Erfordert 3D Analyst
  • Standard: Erfordert 3D Analyst
  • Advanced: Erfordert 3D Analyst

Verwandte Themen