É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 qui sera ajusté 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 de voisinage. La distance minimale correspond à la taille de cellule du 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 n’est disponible que si le paramètre Parameter type (Type de paramètre) est défini sur Slope (Pente).
| String |
Projeter des azimuts géodésiques (Facultatif) |
Spécifie si les azimuts géodésiques seront projetés afin de corriger la distorsion de l’angle provoquée par 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ù a lieu l’analyse. Il peut s'agir d'un raster ou d'un jeu de données d'entité. Si l’entrée est un raster, elle peut être de type entier ou à virgule flottante. Si l’entrée correspond à des données d’entités, elle peut être de type ponctuel, linéaire ou surfacique. Lorsque les données de masque en entrée correspondent à un raster, l’analyse a lieu à des emplacements ayant une valeur valide, zéro compris. 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 de l’outil Paramètres de surface
Utilisation
Les paramètres en sortie sont calculés cellule par cellule en ajustant une surface locale autour d’une cellule cible. Les options de paramètre de surface disponibles pour le paramètre Parameter type (Type de paramètre) (parameter_type en Python) sont Slope (Pente), Aspect (Exposition), Mean curvature (Courbure moyenne), Tangential (normal contour) curvature (Courbure tangentielle (isoligne normale)), Profile (normal slope line) curvature (Courbure longitudinale (ligne de pente normale)), Plan (projected contour) curvature (Courbure transversale (isoligne projetée)), Contour geodesic torsion (Torsion géodésique des isolignes), Gaussian curvature (Courbure gaussienne) et Casorati curvature (Courbure Casorati).
Tous les paramètres en sortie sont calculés à l’aide de coordonnées et d’équations géodésiques.
Lorsque l’option Slope (Pente) (SLOPE en Python) est spécifiée pour Parameter type (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). Il s’agit de la première dérivée d’un MNE. La plage des valeurs de la pente en sortie dépend du type des unités de mesure.
Lorsque l’option Aspect (Exposition) (ASPECT en Python) est spécifiée pour Parameter type (Type de paramètre), la sortie identifie la direction de la boussole à laquelle fait face la pente descendante pour chaque emplacement. Elle 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. Appliquée aux sciences de la terre, elle permet de mieux comprendre les impacts de la gravité, de l’érosion et d’autres facteurs sur la surface. Elle est utilisée conjointement avec les autres paramètres de surface pour identifier et classer les reliefs.
- Mean curvature (Courbure moyenne) (MEAN_CURVATURE en Python) : courbure moyenne de la surface. Elle est calculée comme étant la moyenne des courbures maximale et minimale. Lorsque cette option est spécifiée pour Parameter type (Type de paramètre), la sortie est équivalente à la moyenne des courbures longitudinale (ligne de pente normale) et tangentielle (isoligne normale). Son signe, positif ou négatif, n’est pas un indicateur définitif, sauf à des valeurs extrêmes. Des valeurs positives élevées indiquent des zones de dénudation maximale, et des valeurs négatives élevées indiquent des zones d’accumulation maximale (Minár et al., 2020).
- Profile (normal slope line) curvature (Courbure longitudinale (ligne de pente normale)) (PROFILE_CURVATURE en Python) : courbure normale géométrique le long de la ligne de pente. Des valeurs positives indiquent des zones d’accélération d’écoulement de surface et d’érosion. Une courbure longitudinale négative indique des zones d’écoulement de surface et de dépôt ralentissant. Une courbure longitudinale (ligne de pente normale) positive indique que la surface est convexe à cette cellule dans la direction de la pente. Une courbure négative indique que la surface est concave à cette cellule dans cette même direction. Une valeur nulle signifie que la surface est plane.
- Tangential (normal contour) curvature (Courbure tangentielle (isoligne normale)) (TANGENTIAL_CURVATURE en Python) : courbure normale géométrique perpendiculaire à la ligne de pente, tangente à l’isoligne. Des valeurs positives indiquent des zones d’écoulement de surface divergeant. Les courbures tangentielles négatives indiquent des zones d’écoulement de surface convergent. Une courbure tangentielle (isoligne normale) positive indique que la surface est convexe à cette cellule perpendiculaire à la direction de la pente. Une courbure négative indique que la surface est concave à cette cellule dans la direction perpendiculaire à la pente. Une valeur nulle signifie que la surface est plane.
- Plan (projected contour) curvature (Courbure transversale (isoligne projetée)) (CONTOUR_CURVATURE en Python) : courbure le long des isolignes.
- Contour geodesic torsion (Torsion géodésique des isolignes) (CONTOUR_GEODESIC_TORSION en Python) : taux de variation de l’angle de pente le long des isolignes.
- Gaussian curvature (Courbure gaussienne) (GAUSSIAN_CURVATURE en Python) : courbure générale d’une surface. Elle est calculée comme le produit des courbures maximale et minimale, et peut avoir des valeurs positives et négatives. Des valeurs positives indiquent que la surface est convexe à cette cellule, tandis que des valeurs négatives qu’elle est concave. Une valeur nulle signifie que la surface est plane.
- Casorati curvature (Courbure Casorati) (CASORATI_CURVATURE en Python) : courbure générale de la surface. Elle peut être égale à zéro ou à un nombre positif. Des valeurs positives élevées indiquent des zones de courbe brusque dans plusieurs directions.
Les unités de toutes les sorties du type de courbure sont la réciproque (le carré de la réciproque du paramètre Gaussian curvature (Courbure gaussienne)) des unités x,y de l’environnement 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" en Python) ne correspond pas exactement aux cellules de voisinage. Il s’agit de l’option par défaut, qui est recommandée pour la plupart des données et applications.
- La surface quadratique réduit l’effet des données surfaciques bruyantes, comme une surface lidar haute résolution, ce qui est particulièrement important lors du calcul de la courbure.
- Utilisez la surface quadratique lorsque vous spécifiez une taille de voisinage supérieure à la taille de cellule et lorsque 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" en Python) correspond exactement aux données des cellules de voisinage.
- Cette option convient à une surface en entrée hautement précise.
- Si la distance de voisinage est supérieure à la taille de la cellule raster en entrée, les avantages en termes de précision liés au type de surface biquadratique sont perdus. Conservez le paramètre de distance de voisinage comme paramètre par défaut (égal à la taille de cellule).
Le paramètre Neighborhood distance (Distance de voisinage) (neighborhood_distance en Python) détermine la taille du voisinage et calcule le paramètre de surface sur cette distance à partir du centre de cellule cible.
- Elle ne peut pas être inférieure à la taille de cellule raster en entrée.
- Une distance de voisinage plus courte permet de saisir une plus grande variabilité locale du paysage, comme la caractéristique des petites entités du paysage. Avec des données d’altitude haute résolution, des distances plus grandes peuvent être plus appropriées.
Si le paramètre Use adaptive neighborhood (Utiliser le voisinage adaptatif) est activé (use_adaptive_neighborhood = "ADAPTIVE_NEIGHBORHOOD" en Python), la distance de voisinage varie avec la variabilité du MNE. La distance de voisinage diminue si la fenêtre de calcul présente une trop grande variabilité.
La spécification de la valeur du paramètre de surface Z unit (Unité Z) (z_unit en Python) garantit le calcul correct 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 recommandé 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 de la pente en sortie dépend des unités de mesure du paramètre Slope measurement (Mesure de pente) (output_slope_measurement en Python) :
- Degree (Degré) (DEGREE en Python) : la plage des valeurs de pente s’étend de 0 à 90.
- Percent rise (Pourcentage d’élévation) (PERCENT_RISE en 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 des azimuts géodésiques) est sélectionné (project_geodesic_azimuths = "PROJECT_GEODESIC_AZIMUTHS" en Python), les éléments 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 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 coché (project_geodesic_azimuths = "USE_EQUATORIAL_ASPECT" en Python), l’exposition est mesurée à partir d’un point sur l’équateur pour corriger la déformation de la direction se produisant à l’approche des pôles. Avec ce paramètre, les axes nord-sud et est-ouest sont perpendiculaires l’un à l’autre.
Cochez le paramètre Use equatorial aspect (Utiliser l’aspect équatorial) si le terrain se trouve à proximité du pôle Nord ou Sud.
Utilisez le paramètre Input analysis mask (Masque d’analyse en entrée) (in_analysis_mask en Python) pour limiter l’analyse à des lieux d’intérêt spécifiques dans le raster de surface en entrée. Les lieux peuvent être définis par des données d’entités ou raster. Le paramètre Input analysis mask (Masque d’analyse en entrée) a priorité sur le paramètre d’environnement Masque.
Lorsque la valeur Input surface raster (Raster de surface en entrée) (in_raster en Python) et les données raster Input analysis mask (Masque d’analyse en entrée) (in_analysis_mask en Python) ont la même taille de cellule et que les cellules sont alignées, elles seront utilisées directement dans l’outil. Elles ne seront pas rééchantillonnées en interne pendant l’exécution de l’outil.
Si la taille de cellule est différente, la taille de cellule en sortie correspond au maximum des entrées et la valeur Input surface raster (Raster de surface en entrée) sera 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 Input surface raster (Raster de surface en entrée) sert de raster de capture en interne. L’un de ces cas déclenche un rééchantillonnage interne avant l’exécution de l’extraction.
Pour plus d’informations, consultez les rubriques d’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. Affiche présentée à la conférence annuelle des utilisateurs ESRI, juillet 2014, San Diego, Californie.
- 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
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 qui sera ajusté 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 de voisinage. La distance minimale correspond à la taille de cellule du 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 n’est pris en charge que si le paramètre parameter_type est défini sur SLOPE. | String |
project_geodesic_azimuths (Facultatif) |
Spécifie si les azimuts géodésiques seront projetés afin de corriger la distorsion de l’angle provoquée par 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ù a lieu l’analyse. Il peut s'agir d'un raster ou d'un jeu de données d'entité. Si l’entrée est un raster, elle peut être de type entier ou à virgule flottante. Si l’entrée correspond à des données d’entités, elle peut être de type ponctuel, linéaire ou surfacique. Lorsque les données de masque en entrée correspondent à un raster, l’analyse a lieu à des emplacements ayant une valeur valide, zéro compris. 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 en pourcentages en utilisant une méthode de voisinage adaptatif. La distance de voisinage maximale est 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 longitudinale (ligne de pente normale) en utilisant une méthode de voisinage adaptatif. La distance de voisinage maximale est 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 en utilisant une distance de voisinage de 5 mètres. Corrigez les distorsions de direction pour les empêcher d’utiliser 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 ?