Beschriftung | Erläuterung | Datentyp |
Eingabe-Oberflächen-Raster | Das Eingabe-Oberflächen-Raster. | Raster Layer |
Ausgabe-Raster | Das Ausgabe-Raster. Es weist den Typ "Gleitkomma" auf. | Raster Dataset |
Parametertyp (optional) | Gibt den Parametertyp der Ausgabe-Oberfläche an, der berechnet wird.
| String |
Typ der lokalen Oberfläche (optional) | Gibt den Typ der Oberflächenfunktion an, die um die Zielzelle angewendet wird.
| String |
Nachbarschaftsentfernung (optional) | Die Ausgabe wird über diese Entfernung ab dem Mittelpunkt der Zielzelle berechnet. Sie bestimmt die Nachbarschaftsgröße. Der Standardwert ist die Eingabe-Raster-Zellengröße. Das Ergebnis ist eine 3 x 3-Nachbarschaft. | Linear Unit |
Adaptive Nachbarschaft verwenden (optional) | Gibt an, ob sich die Nachbarschaftsentfernung mit Landschaftsänderungen (adaptiv) ändert. Die maximale Entfernung wird durch die Nachbarschaftsentfernung bestimmt. Die minimale Entfernung ist die Eingabe-Raster-Zellengröße.
| Boolean |
Z-Einheit (optional) | Gibt die lineare Einheit an, die für vertikale Z-Werte verwendet werden soll. Sie wird durch ein vertikales Koordinatensystem definiert, sofern vorhanden. Falls kein vertikales Koordinatensystem vorhanden ist, müssen Sie die Z-Einheit mithilfe der Einheitenliste definieren, um eine korrekte geodätische Berechnung sicherzustellen. Die Standardeinstellung lautet Meter.
| String |
Neigungsmesswert (optional) | Die Maßeinheiten (Grad oder Prozent), die für das Ausgabe-Neigungs-Raster verwendet werden. Dieser Parameter ist nur verfügbar, wenn für den Parameter Parametertyp die Option Neigung festgelegt wurde.
| String |
Geodätische Azimute projizieren (optional) |
Legt fest, ob geodätische Azimute projiziert werden, um die durch den Ausgabe-Raumbezug verursachte Winkelverzerrung zu korrigieren.
Dieser Parameter ist nur verfügbar, wenn für den Parameter Parametertyp die Option Ausrichtung festgelegt wurde. | Boolean |
Äquatorausrichtung verwenden (optional) |
Gibt an, ob die Ausrichtung von einem Punkt am Äquator oder vom Nordpol gemessen wird.
Dieser Parameter ist nur verfügbar, wenn für den Parameter Parametertyp die Option Ausrichtung festgelegt wurde. | Boolean |
Eingabe-Analysemaske (optional) | Die Eingabedaten, mit denen die Positionen für die Analyse definiert werden. Hierbei kann es sich um ein Raster oder ein Feature-Dataset handeln. Wenn die Eingabe ein Raster ist, kann dieses ganzzahlig oder ein Gleitkomma-Raster sein. Wenn es sich bei der Eingabe um Feature-Daten handelt, können diese vom Typ "Punkt", "Linie" oder "Polygon" sein. Wenn es sich bei den Eingabe-Maskendaten um ein Raster handelt, erfolgt die Analyse an Positionen mit einem gültigen Wert, einschließlich Null. Zellen, die in der Maskeneingabe einen NoData-Wert aufweisen, weisen in der Ausgabe ebenfalls einen NoData-Wert auf. | Composite Geodataset |
Mit der Spatial Analyst-Lizenz verfügbar.
Mit der 3D Analyst-Lizenz verfügbar.
Zusammenfassung
Ermittelt Parameter einer Raster-Oberfläche, z. B. Ausrichtung, Neigung und Krümmung.
Weitere Informationen zur Funktionsweise von "Oberflächenparameter"
Verwendung
Die Ausgabeparameter werden für jede Zelle einzeln berechnet, indem eine lokale Oberfläche um eine Zielzelle angeordnet wird. Die verfügbaren Oberflächenparameter für den Parameter Parametertyp (parameter_type in Python) sind Neigung, Ausrichtung, Mittlere Krümmung, Tangentialkrümmung (Normalkontur), Profilkrümmung (Normalneigungslinie), Plankrümmung (projizierte Kontur), Geodätische Torsion der Kontur, Gauß'sche Krümmung und Casorati-Krümmung.
Alle Ausgabeparameter werden mit geodätischen Koordinaten und Gleichungen berechnet.
Wenn für Parametertyp die Option NeigungSLOPE ( in Python) angegeben ist, stellt die Ausgabe die Änderungsrate der Höhe für jede Zelle im digitalen Höhenmodell (DEM) dar. Dies ist die erste Ableitung eines DEM. Der Wertebereich aus der Neigungsausgabe hängt vom Typ der Maßeinheiten ab.
Wenn als Parametertyp die Option Ausrichtung (ASPECT in Python) angegeben ist, gibt die Ausgabe die Zielrichtung an, in die ein Gefälle von der jeweiligen Position verläuft. Die Ausrichtung wird als positive Gradangabe von 0 bis 360 ausgedrückt, wobei im Uhrzeigersinn von Norden aus gemessen wird.
Mit der Krümmung wird die Form einer Oberfläche beschrieben. In den Geowissenschaften hilft sie, die Auswirkungen der Schwerkraft, Erosion und anderer auf die Oberfläche wirkender Faktoren zu verstehen. Sie wird zusammen mit anderen Oberflächenparametern verwendet, um Terrains zu identifizieren und zu klassifizieren.
- Mittlere Krümmung (MEAN_CURVATURE in Python): die Gesamtkrümmung der Oberfläche. Sie wird als Mittelwert der minimalen und maximalen Krümmung berechnet. Wenn sie als Parametertyp angegeben ist, entspricht die Ausgabe dem Mittelwert der Profilkrümmung (Normalneigungslinie) und Tangentialkrümmung (Normalkontur). Ihr Vorzeichen (positiv oder negativ) ist außer bei Extremwerten kein definitiver Indikator. Hohe positive Werte geben Bereiche mit maximaler Abtragung und hohe negative Werte Bereiche mit maximaler Akkumulation an (Minár et al., 2020).
- Profilkrümmung (Normalneigungslinie) (PROFILE_CURVATURE in Python): die geometrische Normalkrümmung entlang der Neigungslinie. Positive Werte geben Bereiche mit Beschleunigung des Flusses und der Erosion der Oberfläche an. Eine negative Profilkrümmung gibt Bereiche mit Verlangsamung des Flusses und der Ablagerungen der Oberfläche an. Eine positive Profilkrümmung (Normalneigungslinie) bedeutet, dass die Oberfläche an dieser Zelle in Neigungsrichtung konvex ist. Eine negative Krümmung bedeutet, dass die Oberfläche an dieser Zelle in der gleichen Richtung konkav ist. Der Wert 0 gibt an, dass die Oberfläche eben ist.
- Tangentialkrümmung (Normalkontur) (TANGENTIAL_CURVATURE in Python): die geometrische Normalkrümmung senkrecht zur Neigungslinie, tangential zur Konturlinie. Positive Werte geben Bereiche mit unterschiedlichem Oberflächenfluss an. Negative Tangentialkrümmungen geben Bereiche mit konvergierendem Oberflächenfluss an. Eine positive Tangentialkrümmung (Normalkontur) bedeutet, dass die Oberfläche an der senkrecht zur Neigungsrichtung ausgerichteten Zelle konvex ist. Eine negative Krümmung bedeutet, dass die Oberfläche an der senkrecht zur Neigung ausgerichteten Zelle konkav ist. Der Wert 0 gibt an, dass die Oberfläche eben ist.
- Plankrümmung (projizierte Kontur) (CONTOUR_CURVATURE in Python): die Krümmung entlang der Konturlinien.
- Geodätische Torsion der Kontur (CONTOUR_GEODESIC_TORSION in Python): die Änderungsrate des Neigungswinkels entlang der Konturlinien.
- Gauß'sche Krümmung (GAUSSIAN_CURVATURE in Python): die allgemeine Krümmung der Oberfläche. Sie wird als Produkt der minimalen und maximalen Krümmung berechnet, und die Werte können sowohl negativ als auch positiv sein. Positive Werte weisen auf eine konvexe Oberfläche in dieser Zelle hin, während negative Werte auf eine konkave Oberfläche hinweisen. Der Wert 0 gibt an, dass die Oberfläche eben ist.
- Casorati-Krümmung (CASORATI_CURVATURE in Python): die allgemeine Krümmung der Oberfläche. Sie kann Null oder positiv sein. Hohe positive Werte weisen auf Bereiche mit scharfen Biegungen in mehrere Richtungen hin.
Die Einheiten aller Krümmungstyp-Ausgaben entsprechen dem Kehrwert (Quadrat des reziproken Wertes für Gauß'sche Krümmung) der XY-Einheiten der Umgebungseinstellung Ausgabekoordinatensystems.
Mit der Option Quadratisch für den Parameter Typ der lokalen Oberfläche (local_surface_type = "QUADRATIC" in Python) wird keine genaue Übereinstimmung mit den benachbarten Zellen erzielt. Dies ist die Standardoption, die für die meisten Daten und Anwendungen empfohlen wird.
- Durch die quadratische Oberfläche werden die Auswirkungen verrauschter Oberflächendaten, z. B. einer LIDAR-Oberfläche mit hoher Auflösung, minimiert. Dies ist besonders wichtig, wenn die Krümmung berechnet wird.
- Verwenden Sie die quadratische Oberfläche, wenn eine Nachbarschaftsgröße angegeben wird, die die Zellengröße überschreitet, und wenn die Option "Adaptive Nachbarschaft" verwendet wird.
Mit der Option Biquadratisch für den Parameter Typ der lokalen Oberfläche (local_surface_type = "BIQUADRATIC" in Python) wird eine genaue Übereinstimmung mit den benachbarten Zellen erzielt.
- Diese Option eignet sich für eine äußerst genaue Eingabeoberfläche.
- Wenn die Nachbarschaftsentfernung die Eingabe-Raster-Zellengröße überschreitet, gehen die Genauigkeitsvorteile des Oberflächentyps "Biquadratisch" verloren. Behalten Sie den Standardwert der Nachbarschaftsentfernung (gleich der Zellengröße) unverändert bei.
Der Parameter Nachbarschaftsentfernung (neighborhood_distance in Python) bestimmt die Nachbarschaftsgröße und dient zur Berechnung des Oberflächenparameters über die Entfernung vom Mittelpunkt der Zielzelle.
- Sie darf nicht geringer als die Eingabe-Raster-Zellengröße sein.
- Eine geringe Nachbarschaftsentfernung erfasst eher die lokale Variabilität in der Landschaft, wie z. B. Merkmale kleinerer Landschafts-Features. Bei Höhendaten mit hoher Auflösung sind größere Entfernungen möglicherweise besser geeignet.
Wenn der Parameter Adaptive Nachbarschaft verwenden aktiviert ist (use_adaptive_neighborhood = "ADAPTIVE_NEIGHBORHOOD" in Python), ändert sich die Nachbarschaftsentfernung mit der Variabilität im Terrain. Die Nachbarschaftsentfernung verringert sich, wenn die Variabilität im Berechnungsfenster zu groß ist.
Durch Angabe des Oberflächenparameterwertes Z-Einheit (z_unit in Python) wird sichergestellt, dass die Neigungsausgabe richtig berechnet wird.
Wenn das vertikale Koordinatensystem des Eingabe-Rasters eine Z-Einheit enthält, wird sie automatisch angewendet. Es wird empfohlen, eine Z-Einheit für das Eingabe-Raster zu definieren, wenn keine vorhanden ist. Mit dem Werkzeug Projektion definieren können Sie eine Z-Einheit angeben. Sollte keine vorhanden sein, wird als Standardeinheit Meter verwendet.
Der Wertebereich in der Neigungsausgabe hängt von den Maßeinheiten im Parameter Neigungsmesswert (output_slope_measurement in Python) ab:
- Grad (DEGREE in Python): Der Bereich für die Neigungswerte liegt zwischen 0 und 90.
- Prozentanstieg: (PERCENT_RISE in Python): Es können Werte von 0 bis zu theoretisch unendlich angegeben werden. Eine flache Oberfläche entspricht 0 Prozent, eine Oberfläche mit 45 Grad entspricht 100 Prozent. Wenn die Oberfläche senkrechter wird, verstärkt sich der prozentuale Anstieg.
Wenn der Parameter Geodätische Azimute projizieren aktiviert ist (project_geodesic_azimuths = "PROJECT_GEODESIC_AZIMUTHS" in Python), gilt Folgendes:
- 360 Grad stellt den Norden dar.
- Die Azimute werden projiziert, um die Verzerrung zu korrigieren, die durch einen nicht konformen Umgebungswert vom Typ Ausgabekoordinatensystem verursacht wird. Diese Winkel können verwendet werden, um Punkte entlang der steilsten Abwärtsneigung genau zu verorten.
Wenn der Parameter Äquatorausrichtung verwenden aktiviert ist (project_geodesic_azimuths = "USE_EQUATORIAL_ASPECT" in Python), wird die Ausrichtung ab einem Punkt auf dem Äquator gemessen, um die in der Nähe der Pole auftretende Richtungsverzerrung auszugleichen. Dieser Parameter stellt sicher, dass die Nord-Süd- und Ost-West-Achse senkrecht zueinander ausgerichtet sind.
Aktivieren Sie den Parameter Äquatorausrichtung verwenden, wenn sich das Terrain in der Nähe des Nord- oder Südpols befindet.
Verwenden Sie den Parameter Eingabe-Analysemaske (in_analysis_mask in Python), um die Analyse auf bestimmte zu untersuchende Positionen innerhalb des Eingabe-Oberflächen-Rasters zu begrenzen. Positionen können durch Raster- oder Feature-Daten definiert werden. Der Parameter Eingabe-Analysemaske hat Vorrang vor der Umgebungseinstellung Maske.
Wenn der Wert Eingabe-Oberflächen-Raster (in_raster in Python) und die unter Eingabe-Analysemaske eingegebenen Raster-Daten (in_analysis_mask in Python) dieselbe Zellengröße aufweisen und die Zellen ausgerichtet sind, werden sie direkt im Werkzeug verwendet. Während der Werkzeugausführung erfolgt kein internes Resampling.
Bei Abweichungen der Zellengröße entspricht die Ausgabezellengröße dem Maximum der Eingabedaten, und der Wert Eingabe-Oberflächen-Raster wird intern als Fang-Raster verwendet. Wenn die Zellengröße übereinstimmt, die Zellen jedoch nicht ausgerichtet sind, wird der Wert Eingabe-Oberflächen-Raster intern als Fang-Raster verwendet. In beiden Fällen wird ein internes Resampling ausgelöst, bevor der Extraktionsvorgang ausgeführt wird.
Weitere Informationen finden Sie in den Themen Zellengröße und Fang-Raster zur Umgebung.
Referenzliste:
- James, D. E., Tomer, M. D., and Porter, S. A. Trans-scalar landform segmentation from high-resolution digital elevation models. Poster präsentiert bei der jährlichen Esri User Conference, Juli 2014, San Diego, Kalifornien, USA.
- Minár, J., Evans, I. S., and Jenčo, M. A comprehensive system of definitions of land surface (topographic) curvatures, with implications for their application in geoscience modelling and prediction. Earth-Science Reviews, 103414, 2020. https://doi.org/10.1016/j.earscirev.2020.103414
Parameter
arcpy.ddd.SurfaceParameters(in_raster, out_raster, {parameter_type}, {local_surface_type}, {neighborhood_distance}, {use_adaptive_neighborhood}, {z_unit}, {output_slope_measurement}, {project_geodesic_azimuths}, {use_equatorial_aspect}, {in_analysis_mask})
Name | Erläuterung | Datentyp |
in_raster | Das Eingabe-Oberflächen-Raster. | Raster Layer |
out_raster | Das Ausgabe-Raster. Es weist den Typ "Gleitkomma" auf. | Raster Dataset |
parameter_type (optional) | Gibt den Parametertyp der Ausgabe-Oberfläche an, der berechnet wird.
| String |
local_surface_type (optional) | Gibt den Typ der Oberflächenfunktion an, die um die Zielzelle angewendet wird.
| String |
neighborhood_distance (optional) | Die Ausgabe wird über diese Entfernung ab dem Mittelpunkt der Zielzelle berechnet. Sie bestimmt die Nachbarschaftsgröße. Der Standardwert ist die Eingabe-Raster-Zellengröße. Das Ergebnis ist eine 3 x 3-Nachbarschaft. | Linear Unit |
use_adaptive_neighborhood (optional) | Gibt an, ob sich die Nachbarschaftsentfernung mit Landschaftsänderungen (adaptiv) ändert. Die maximale Entfernung wird durch die Nachbarschaftsentfernung bestimmt. Die minimale Entfernung ist die Eingabe-Raster-Zellengröße.
| Boolean |
z_unit (optional) | Gibt die lineare Einheit an, die für vertikale Z-Werte verwendet werden soll. Sie wird durch ein vertikales Koordinatensystem definiert, sofern vorhanden. Falls kein vertikales Koordinatensystem vorhanden ist, müssen Sie die Z-Einheit mithilfe der Einheitenliste definieren, um eine korrekte geodätische Berechnung sicherzustellen. Die Standardeinstellung lautet Meter.
| String |
output_slope_measurement (optional) | Die Maßeinheiten (Grad oder Prozent), die für das Ausgabe-Neigungs-Raster verwendet werden.
Dieser Parameter wird nur unterstützt, wenn der Parameter parameter_type auf SLOPE festgelegt wurde. | String |
project_geodesic_azimuths (optional) |
Legt fest, ob geodätische Azimute projiziert werden, um die durch den Ausgabe-Raumbezug verursachte Winkelverzerrung zu korrigieren.
Dieser Parameter wird nur unterstützt, wenn der Parameter parameter_type auf ASPECT festgelegt wurde. | Boolean |
use_equatorial_aspect (optional) |
Gibt an, ob die Ausrichtung von einem Punkt am Äquator oder vom Nordpol gemessen wird.
Dieser Parameter wird nur unterstützt, wenn der Parameter parameter_type auf ASPECT festgelegt wurde. | Boolean |
in_analysis_mask (optional) | Die Eingabedaten, mit denen die Positionen für die Analyse definiert werden. Hierbei kann es sich um ein Raster oder ein Feature-Dataset handeln. Wenn die Eingabe ein Raster ist, kann dieses ganzzahlig oder ein Gleitkomma-Raster sein. Wenn es sich bei der Eingabe um Feature-Daten handelt, können diese vom Typ "Punkt", "Linie" oder "Polygon" sein. Wenn es sich bei den Eingabe-Maskendaten um ein Raster handelt, erfolgt die Analyse an Positionen mit einem gültigen Wert, einschließlich Null. Zellen, die in der Maskeneingabe einen NoData-Wert aufweisen, weisen in der Ausgabe ebenfalls einen NoData-Wert auf. | Composite Geodataset |
Codebeispiel
Im folgenden Beispiel wird die Verwendung dieses Werkzeugs im Python-Fenster veranschaulicht.
In diesem Beispiel wird mit einer adaptiven Nachbarschaftsmethode ein Neigungs-Raster mit Ausgabewerten in Prozent generiert. Die maximale Nachbarschaftsentfernung beträgt 5 Meter.
from arcpy.ddd import *
SurfaceParameters("elevation_1m.tif", "C:/data/output/outsurfaceparameters01.tif",
"", "", "5 METERS", "ADAPTIVE_NEIGHBORHOOD", "", "PERCENT_RISE")
Im folgenden Beispiel wird die Verwendung dieses Werkzeugs in einem eigenständigen Python-Skript veranschaulicht.
In diesem Beispiel wird mit einer adaptiven Nachbarschaftsmethode ein Raster mit Profilkrümmung (Normalneigungslinie) generiert. Die maximale Nachbarschaftsentfernung beträgt 10 Meter.
# Name: SurfaceParameters_Ex_02.py
# Description: Derive profile (normal slope line) curvature for a 1m
# resolution elevation raster over an adaptive neighborhood distance of maximum 10m.
# Requirements: 3D Analyst Extension
# Import system modules
import arcpy
from arcpy.ddd import *
# Set environment settings
arcpy.env.workspace = "C:/data"
# Check out the ArcGIS 3D Analyst extension license
arcpy.CheckOutExtension("3D")
# Set local variables
inRaster = "elevation_1m.tif"
outRaster = "C:/data/output/outsurfaceparameters02.tif"
inParameterType = "PROFILE_CURVATURE"
inNeighborhoodDistance = "10 METERS"
inUseAdaptiveNeighborhood = "ADAPTIVE_NEIGHBORHOOD"
# Execute the tool
SurfaceParameters(inRaster, outRaster, inParameterType, "",
inNeighborhoodDistance, inUseAdaptiveNeighborhood)
Im folgenden Beispiel wird die Verwendung dieses Werkzeugs in einem eigenständigen Python-Skript veranschaulicht.
In diesem Beispiel wird mit einer Nachbarschaftsentfernung von 5 Metern ein Ausrichtungs-Raster generiert. Richtungsverzerrungen aufgrund nicht winkeltreuer Projektion werden korrigiert.
# Name: SurfaceParameters_Ex_03.py
# Description: Derive aspect for an elevation surface over a distance of 5m, correct
# for direction distortion from non-conformal projection system.
# Requirements: 3D Analyst Extension
# Import system modules
import arcpy
from arcpy.ddd import *
# Set environment settings
arcpy.env.workspace = "C:/data"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("3D")
# Set local variables
inRaster = "elevation_1m.tif"
outRaster = "C:/data/output/outsurfaceparameters03.tif"
inParameterType = "ASPECT"
inNeighborhoodDistance = "5 METERS"
inProjectGeodesicAzimuths = "PROJECT_GEODESIC_AZIMUTHS"
# Execute the tool
SurfaceParameters(inRaster, outRaster, inParameterType, "", inNeighborhoodDistance,
"", "", "", inProjectGeodesicAzimuths)
Umgebungen
Lizenzinformationen
- Basic: Erfordert 3D Analyst oder Spatial Analyst
- Standard: Erfordert 3D Analyst oder Spatial Analyst
- Advanced: Erfordert 3D Analyst oder Spatial Analyst