É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) | Spécifie le type de paramètre de surface en sortie à calculer.
| String |
Type de surface locale (Facultatif) | Spécifie le type de fonction de surface ajustée autour de la cellule cible.
| String |
Distance du voisinage (Facultatif) | La sortie sera calculée sur cette distance à partir du centre de la cellule cible. Elle détermine la taille du voisinage. La valeur par défaut est la taille de cellule du raster en entrée, soit un voisinage de 3 par 3. | Linear Unit |
Utiliser le voisinage adaptatif (Facultatif) | Spécifie si la distance de voisinage varie selon les changements (variations) 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) | Spécifie l’unité linéaire utilisée pour 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, définissez l’unité z à partir de la liste d’unités pour garantir un calcul géodésique correct. L’unité par défaut est le mètre.
| String |
Mesure de pente (Facultatif) | Unités de mesure (degrés ou pourcentages) qui seront utilisées pour le raster de pente en sortie. Ce paramètre est disponible uniquement si le paramètre Parameter type (Type de paramètre) est défini sur Slope (Pente).
| 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.
Ce paramètre n’est disponible que si le paramètre Parameter type (Type de paramètre) est défini sur Aspect (Exposition). | Boolean |
Utiliser l’aspect équatorial (Facultatif) |
Spécifie si l’exposition est mesurée à partir d’un point sur l’équateur ou à partir du pôle Nord.
Ce paramètre n’est disponible que si le paramètre Parameter type (Type de paramètre) est défini sur Aspect (Exposition). | Boolean |
Masque d’analyse en entrée (Facultatif) | Données en entrée définissant les localisations où l’analyse est effectuée. Il peut s'agir d'un raster ou d'un jeu de données d'entité. Si l’entrée est un raster, le type peut être entier ou à virgule flottante. Si l’entrée correspond à des données d’entités, le type peut être ponctuel, linéaire ou surfacique. Lorsque les données de masque en entrée correspondent à un raster, l’analyse est effectuée dans les localisations qui comportent une valeur valide, y compris zéro. Les cellules NoData dans l’entrée du masque auront une valeur NoData dans la sortie. | Composite Geodataset |
Disponible avec une licence Spatial Analyst.
Disponible avec une licence 3D Analyst.
Synthèse
Détermine les paramètres d’une surface raster, tels que l’exposition, la pente et les 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. Les options de paramètre de surface disponibles pour le paramètre Type de paramètre (parameter_type dans Python) sont Pente, Aspect, Courbure moyenne, Courbure (d’isoligne normale) tangentielle, Courbure (de ligne de pente normale) longitudinale, Courbure (d’isoligne projetée) transversale, Torsion géodésique d’isoligne, Courbure gaussienne et Courbure de Casorati.
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.
- Mean curvature (Courbure moyenne) (MEAN_CURVATURE dans Python) : 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).
- Courbure (de ligne de pente normale) longitudinale (PROFILE_CURVATURE dans Python) : courbure normale géométrique le long de la 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 cette surface est plane.
- Courbure (d’isoligne normale) tangentielle (TANGENTIAL_CURVATURE dans Python) : courbure normale géométrique perpendiculaire à la 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 cette surface est plane.
- Courbure (d’isoligne projetée) transversale (CONTOUR_CURVATURE dans Python) : courbure le long des isolignes.
- Torsion géodésique d’isoligne (CONTOUR_GEODESIC_TORSION dans Python) : vitesse de variation de l’angle de pente le long des isolignes.
- Courbure gaussienne (GAUSSIAN_CURVATURE dans Python) : courbure générale d’une surface. Il est calculé comme le produit de la courbure minimale et de la courbure maximale, et peut prendre des valeurs négatives et positives. Les valeurs positives indiquent que la surface est convexe au niveau de cette cellule, des valeurs négatives indiquant que la surface est concave. Une valeur nulle signifie que cette surface est plane.
- Courbure de Casorati (CASORATI_CURVATURE dans Python) : courbure générale de la surface. Elle peut être nulle ou positive. Des valeurs positives élevées indiquent des zones de pliure nette dans plusieurs directions.
Les unités de tous les types de courbure en sortie sont la réciproque (le carré de la réciproque pour Gaussian curvature [Courbure gaussienne]) des unités x,y de l’environnement Output Coordinate System (Système de coordonnées en sortie).
L’option Quadratic (Quadratique) du paramètre Local surface type (Type de surface locale) (local_surface_type = "QUADRATIC" dans Python) ne s’ajuste pas exactement aux cellules du 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.
- Utilisez la surface quadratique 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 Biquadratic (Biquadratique) du paramètre Local surface type (Type de surface locale) (local_surface_type = "BIQUADRATIC" dans Python) 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. Conservez la distance du voisinage définie par défaut (égale à la taille de cellule).
Le paramètre 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, par exemple 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 Use adaptative neighborhood (Utiliser le voisinage adaptatif) est activé (use_adaptive_neighborhood = "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 pour Z unit (Unité Z) (z_unit dans Python) permet de 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 appliquée automatiquement. 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 des valeurs issues de la pente en sortie dépend des unités de mesure du paramètre Slope measurement (Mesure de pente) (output_slope_measurement dans Python) :
- Degré (DEGREE dans Python) : la plage de valeurs de pente s’étend de 0 à 90.
- 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 Project geodesic azimuths (Projeter les azimuts géodésiques) est activé (project_geodesic_azimuths = "PROJECT_GEODESIC_AZIMUTHS" dans Python), les énoncés suivants sont vrais :
- Le nord est représenté par 360 degrés.
- Les azimuts seront projetés de façon à corriger la distorsion provoquée par une valeur d’environnement Output Coordinate System (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 Use equatorial aspect (Utiliser l’aspect équatorial) est activé (project_geodesic_azimuths = "USE_EQUATORIAL_ASPECT" dans Python), l’exposition sera mesurée à partir d’un point placé sur l’équateur pour corriger la déformation oblique de la direction à l’approche des pôles. Ce paramètre garantit que les axes nord-sud et est-ouest sont perpendiculaires les uns par rapport aux autres.
Activez le paramètre Utiliser l’aspect équatorial si votre terrain est proche du pôle Nord ou Sud.
Utilisez le paramètre Masque d’analyse en entrée (in_analysis_mask dans Python) pour limiter l’analyse aux localisations qui vous intéressent dans le raster de surface en entrée. Les localisations peuvent être définies par des données raster ou d’entités. Le paramètre Masque d’analyse en entrée a priorité sur le paramètre d’environnement Masque.
Lorsque la valeur Raster de surface en entrée (in_raster dans Python) et les données raster Masque d’analyse en entrée (in_analysis_mask dans Python) ont la même taille de cellule et que les cellules sont alignées, elles sont utilisées directement dans l’outil. Elles ne sont pas ré-échantillonnées en interne au cours de l’exécution de l’outil.
Si la taille de cellule est différente, la taille de cellule en sortie correspond à la taille maximale des entrées et la valeur Raster de surface en entrée est utilisée en interne comme raster de capture. Si la taille de cellule est identique, mais que les cellules ne sont pas alignées, la valeur Raster de surface en entrée est utilisée en interne comme raster de capture. L’une de ces situations déclenche un rééchantillonnage interne avant l’exécution de l’opération d’extraction.
Pour plus d’informations, reportez-vous aux rubriques sur l’environnement Taille de cellule et Raster de capture.
Bibliographie :
- James, D. E., Tomer, M. D., and Porter, S. A. 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. et 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
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}, {in_analysis_mask})
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) | Spécifie le type de paramètre de surface en sortie à calculer.
| String |
local_surface_type (Facultatif) | Spécifie le type de fonction de surface ajustée autour de la cellule cible.
| String |
neighborhood_distance (Facultatif) | La sortie sera calculée sur cette distance à partir du centre de la cellule cible. Elle détermine la taille du voisinage. La valeur par défaut est la taille de cellule du raster en entrée, soit un voisinage de 3 par 3. | Linear Unit |
use_adaptive_neighborhood (Facultatif) | Spécifie si la distance de voisinage varie selon les changements (variations) 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) | Spécifie l’unité linéaire utilisée pour 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, définissez l’unité z à partir de la liste d’unités pour garantir un calcul géodésique correct. L’unité par défaut est le mètre.
| String |
output_slope_measurement (Facultatif) | Unités de mesure (degrés ou pourcentages) qui seront utilisées pour le raster de pente en sortie.
Ce paramètre est pris en charge uniquement lorsque le paramètre parameter_type est défini sur SLOPE. | 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.
Ce paramètre n’est pris en charge que si le paramètre parameter_type est défini sur ASPECT. | Boolean |
use_equatorial_aspect (Facultatif) |
Spécifie si l’exposition est mesurée à partir d’un point sur l’équateur ou à partir du pôle Nord.
Ce paramètre n’est pris en charge que si le paramètre parameter_type est défini sur ASPECT. | Boolean |
in_analysis_mask (Facultatif) | Données en entrée définissant les localisations où l’analyse est effectuée. Il peut s'agir d'un raster ou d'un jeu de données d'entité. Si l’entrée est un raster, le type peut être entier ou à virgule flottante. Si l’entrée correspond à des données d’entités, le type peut être ponctuel, linéaire ou surfacique. Lorsque les données de masque en entrée correspondent à un raster, l’analyse est effectuée dans les localisations qui comportent une valeur valide, y compris zéro. Les cellules NoData dans l’entrée du masque auront une valeur NoData dans la sortie. | Composite Geodataset |
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 en 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
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 ?