Étiquette | Explication | Type de données |
Raster de surface en entrée | Raster de surface en entrée. | Raster Layer |
Raster en sortie | Raster en sortie. Il sera de type virgule flottante. | Raster Dataset |
Type de paramètre (Facultatif) | Détermine le type de paramètre de surface en sortie à calculer.
| String |
Type de surface locale (Facultatif) | Détermine la fonction du type de surface ajustée autour de la cellule cible.
| String |
Distance du voisinage (Facultatif) | La sortie est calculée sur cette distance à partir du centre de la cellule cible. Elle détermine la taille du voisinage. La valeur par défaut correspond à la taille de la cellule raster en entrée, soit un voisinage 3 x 3. | Linear Unit |
Utiliser le voisinage adaptatif (Facultatif) | Autorise la variation de la distance du voisinage selon les modifications du paysage. La distance maximale est déterminée par la distance du voisinage. La distance minimale est égale à la taille de cellule raster en entrée.
| Boolean |
Unité Z (Facultatif) | Unité linéaire des valeurs z verticales. Elle est définie par un système de coordonnées verticales s'il en existe un. En l'absence d'un système de coordonnées verticales, l'unité z doit être définie à partir de la liste d'unités pour garantir un calcul géodésique correct. Le mètre est la valeur par défaut.
| String |
Mesure de pente en sortie (Facultatif) | Lorsque le type de paramètre est défini sur Slope (Pente), l’option détermine les unités de mesure (degrés ou pourcentage) du raster de pente en sortie.
| String |
Projeter les azimuts géodésiques (Facultatif) | Spécifie si les azimuts géodésiques sont projetés pour corriger la distorsion d’angle due à la référence spatiale en sortie.
| Boolean |
Utiliser l’aspect équatorial (Facultatif) | Mesure l’aspect à partir d’un point placé sur l’équateur.
| Boolean |
Disponible avec une licence Spatial Analyst.
Disponible avec une licence 3D Analyst.
Synthèse
Détermine les paramètres d’une surface raster tels qu’une exposition, une pente et des courbures.
En savoir plus sur le fonctionnement des paramètres de surface.
Utilisation
Les paramètres en sortie sont calculés cellule après cellule en ajustant une surface locale autour d’une cellule cible. Il est possible de calculer cinq paramètres de surface : Slope (Pente), Aspect (Exposition), Mean curvature (Courbure moyenne), Tangential (normal contour) curvature (Courbure d’isoligne normale tangentielle) et Profile (normal slope line) curvature (Courbure de ligne de pente normale). Ces options sont disponibles pour le paramètre Type de paramètre (parameter_type dans Python).
Tous les paramètres en sortie sont calculés à l’aide de coordonnées géodésiques et d’équations.
Lorsque l’option Pente (SLOPE dans Python) est spécifiée pour Type de paramètre, la sortie représente le taux de changement d’élévation pour chaque cellule du modèle numérique d’élévation (MNE). C’est la première dérivée d’un MNE. La plage des valeurs issues de la pente en sortie dépend du type des unités de mesure.
Lorsque l’option Exposition (ASPECT dans Python) est spécifiée pour Type de paramètre, la sortie identifie la direction de la boussole à laquelle fait face la pente descendante pour chaque emplacement. L’option est exprimée en degrés positifs compris entre 0 et 360, mesurés dans le sens horaire, à partir du nord.
La courbure permet de décrire la forme d’une surface. Dans le cadre des sciences de la Terre, elle aide à comprendre les effets de la gravité, de l’érosion et d’autres forces sur la surface, et avec d’autres paramètres de surface, d’identifier et de classer les reliefs.
- L’option Courbure moyenne (MEAN_CURVATURE dans Python) mesure la courbure globale de la surface. Elle est calculée comme la moyenne de la courbure minimale et la courbure maximale. Lorsqu’elle est spécifiée pour le type de paramètre, la sortie équivaut à la médiane d’une courbure longitudinale (ligne de pente normale) et tangentielle (isoligne normale). Son signe, positif ou négatif, n’est pas un indicateur définitif hormis pour les valeurs extrêmes. Les valeurs positives élevées indiquent des zones de dénudation maximale et les valeurs négatives élevées des zones d’accumulation maximale (Minár et al., 2020).
- La courbure longitudinale (ligne de pente normale) (PROFILE_CURVATURE dans Python) mesure la courbure normale géométrique le long de la ligne de pente. Les valeurs positives élevées indiquent les zones d’accélération de l’écoulement sur la surface et l’érosion. Les valeurs négatives élevées indiquent les zones de décélération de l’écoulement sur la surface et les dépôts. Une courbure longitudinale (ligne de pente normale) positive indique que la surface est convexe par rapport à cette cellule dans la direction de la pente. Une courbure négative indique que la surface est concave par rapport à cette cellule dans cette même direction. Une valeur nulle signifie que la surface est plane.
- Le paramètre Courbure tangentielle (isoligne normale) (TANGENTIAL_CURVATURE dans Python) mesure la courbure normale géodésique perpendiculaire à la ligne de pente, tangente à l’isoligne. Les valeurs positives élevées indiquent les zones de divergence de l’écoulement sur la surface. Les valeurs négatives tangentielles indiquent les zones de convergence de l’écoulement sur la surface. Une courbure (d’isoligne normale) tangentielle positive indique que la surface est convexe par rapport à cette cellule perpendiculaire à la direction de la pente. Une courbure négative indique que la surface est concave par rapport à cette cellule dans la direction perpendiculaire à la pente. Une valeur nulle signifie que la surface est plane.
Les unités des trois types de courbure en sortie sont la réciproque des unités xy du système de coordonnées en sortie.
L’option Quadratique (QUADRATIC dans Python) du paramètre Type de surface locale (local_surface_type dans Python) ne correspond pas exactement aux cellules de voisinage. Il s’agit de l’option par défaut ; elle est recommandée pour la plupart des applications et des données.
- La surface quadratique minimise l’effet des données de surface comportant du bruit comme la surface lidar haute résolution, ce qui est particulièrement important lors du calcul de la courbure.
- La surface quadratique doit être utilisée si vous spécifiez une taille de voisinage supérieure à la taille de cellule et si vous utilisez l’option de voisinage adaptatif.
L’option Biquadratique (BIQUADRATIC dans Python) dans Type de surface locale ajuste exactement les données des cellules du voisinage.
- Cette option convient à une surface en entrée très précise.
- Si la distance du voisinage est supérieure à la taille de cellule raster en entrée, les avantages en termes de précision du type de surface biquadratique sont perdus. La distance du voisinage définie par défaut doit être conservée (égale à la taille de cellule).
L’option Distance du voisinage (neighborhood_distance dans Python) détermine la taille du voisinage et calcule le paramètre de surface sur cette distance à partir du centre de la cellule cible.
- Elle ne peut pas être inférieure à la taille de cellule raster en entrée.
- Une plus faible distance de voisinage capture davantage de variabilité locale dans le paysage, c’est-à-dire des caractéristiques d’entités de paysage plus petites. Avec des données d’élévation haute résolution, des distances plus importantes sont plus appropriées.
Si le paramètre Utiliser le voisinage adaptatif est activé (use_adaptive_neighborhood est défini sur ADAPTIVE_NEIGHBORHOOD dans Python), la distance de voisinage change en fonction de la variabilité du terrain. La distance de voisinage diminue en cas de forte variabilité dans la fenêtre de calcul.
Spécifier la valeur Unité Z de la surface (z-unit dans Python) est important pour s’assurer de la conformité du calcul de la pente en sortie.
Si une unité z est disponible dans le système de coordonnées verticales du raster en entrée, elle est automatiquement appliquée. Il est conseillé de définir une unité z pour le raster en entrée s'il n'en existe pas. Vous pouvez utiliser l’outil Définir une projection pour spécifier une unité z. Si vous n'en définissez pas, le mètre est utilisé par défaut.
La plage de valeurs de la sortie de pente dépend du type des unités Mesure de la pente en sortie (output_slope_measurement dans Python) :
- Pour Degrés (DEGREE dans Python), la plage de valeurs de pente s’étend de 0 à 90.
- Pour Pourcentage d’élévation (PERCENT_RISE dans Python), la plage s’étend de 0 à l’infini. Une surface plane est à 0 % et une surface à 45 degrés est à 100 %. Plus la surface est verticale, plus le pourcentage d'élévation grandit.
Si le paramètre Projeter les azimuts géodésiques est sélectionné (project_geodesic_azimuths est défini sur PROJECT_GEODESIC_AZIMUTHS dans Python), les affirmations suivantes sont vraies :
- Le nord est toujours représenté par 360 degrés.
- Les azimuts seront projetés de façon à corriger la distorsion provoquée par un système de coordonnées en sortie non conforme. Ces angles peuvent être utilisés pour localiser précisément les points le long de la pente descendante la plus raide.
Si le paramètre Utiliser l’aspect équatorial est sélectionné (project_geodesic_azimuths est défini sur USE_EQUATORIAL_ASPECT dans Python), l’aspect est mesuré à partir d’un point le long de l’Équateur afin de corriger la distorsion de la direction qui se produit à l’approche des pôles. Cette option garantit que les axes nord-sud et est-ouest sont perpendiculaires les uns par rapport aux autres.
Activez le paramètre Use equatorial aspect (Utiliser l’aspect équatorial) si votre terrain est proche du pôle Nord ou Sud.
Bibliographie :
- James D.E., M.D. Tomer, S.A. Porter. (2014). Trans-scalar landform segmentation from high-resolution digital elevation models. Poster présenté à la Conférence annuelle des utilisateurs d’ESRI Annual Users Conference, juillet 2014, San Diego, Californie.
- Minár, J., Evans, I. S., & Jenčo, M. (2020). A comprehensive system of definitions of land surface (topographic) curvatures, with implications for their application in geoscience modelling and prediction. Earth-Science Reviews, 103414. https://doi.org/10.1016/j.earscirev.2020.103414
Paramètres
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})
Nom | Explication | Type de données |
in_raster | Raster de surface en entrée. | Raster Layer |
out_raster | Raster en sortie. Il sera de type virgule flottante. | Raster Dataset |
parameter_type (Facultatif) | Détermine le type de paramètre de surface en sortie à calculer.
| String |
local_surface_type (Facultatif) | Détermine la fonction du type de surface ajustée autour de la cellule cible.
| String |
neighborhood_distance (Facultatif) | La sortie est calculée sur cette distance à partir du centre de la cellule cible. Elle détermine la taille du voisinage. La valeur par défaut correspond à la taille de la cellule raster en entrée, soit un voisinage 3 x 3. | Linear Unit |
use_adaptive_neighborhood (Facultatif) | Autorise la variation de la distance du voisinage selon les modifications du paysage. La distance maximale est déterminée par la distance du voisinage. La distance minimale est égale à la taille de cellule raster en entrée.
| Boolean |
z_unit (Facultatif) | Unité linéaire des valeurs z verticales. Elle est définie par un système de coordonnées verticales s'il en existe un. En l'absence d'un système de coordonnées verticales, l'unité z doit être définie à partir de la liste d'unités pour garantir un calcul géodésique correct. Le mètre est la valeur par défaut.
| String |
output_slope_measurement (Facultatif) | Lorsque parameter_type est défini sur SLOPE, l’option détermine les unités de mesure (degrés ou pourcentage) du raster de pente en sortie.
| String |
project_geodesic_azimuths (Facultatif) | Spécifie si les azimuts géodésiques sont projetés pour corriger la distorsion d’angle due à la référence spatiale en sortie.
| Boolean |
use_equatorial_aspect (Facultatif) | Mesure l’aspect à partir d’un point placé sur l’équateur.
| Boolean |
Exemple de code
L'exemple suivant illustre l'utilisation de cet outil dans la fenêtre Python.
Cet exemple génère un raster de pente avec des valeurs en sortie exprimées sous forme de pourcentages, à l’aide de la méthode de voisinage adaptatif. La distance de voisinage maximale est de 5 mètres.
from arcpy.ddd import *
SurfaceParameters("elevation_1m.tif", "C:/data/output/outsurfaceparameters01.tif",
"", "", "5 METERS", "ADAPTIVE_NEIGHBORHOOD", "", "PERCENT_RISE")
L'exemple suivant illustre l'utilisation de cet outil dans un script Python autonome.
Cet exemple génère un raster de courbure (de ligne de pente normale) longitudinale à l’aide de la méthode de voisinage adaptatif. La valeur maximale de la distance du voisinage est de 10 mètres.
# 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)
L'exemple suivant illustre l'utilisation de cet outil dans un script Python autonome.
Cet exemple génère un raster d’exposition à l’aide d’une distance de voisinage égale à 5 mètres. Corrigez les distorsions de la direction en cas d’utilisation d’une projection non conforme.
# 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)
Environnements
Cas particuliers
Informations de licence
- Basic: Nécessite 3D Analyst ou Spatial Analyst
- Standard: Nécessite 3D Analyst ou Spatial Analyst
- Advanced: Nécessite 3D Analyst ou Spatial Analyst
Rubriques connexes
Vous avez un commentaire à formuler concernant cette rubrique ?