Disponible avec une licence Spatial Analyst.
Résumé
Crée un raster de direction de flux à partir de chaque cellule vers ses voisins de pente descendante à l’aide des méthodes D8, MFD (Multiple Flow Direction) ou DINF (D-Infinity).
Pour en savoir plus sur le fonctionnement de l'outil Direction de flux
Illustration
Utilisation
L’outil Direction de flux prend en charge trois algorithmes de modélisation de flux. Il s’agit des méthodes D8, MFD (Multi Flow Direction) et DINF (D-Infinity).
La méthode de flux D8 modélise la direction de flux à partir de chaque cellule vers son voisin de plus grande pente descendante.
La sortie de l’outil Direction de flux exécutée avec le type de direction de flux D8 type est un raster d’entier dont les valeurs sont comprises entre 1 et 255. Les valeurs de chaque direction à partir du centre sont les suivantes :
Par exemple, si la direction de la chute la plus escarpée est à gauche de la cellule de traitement sélectionnée, la direction du flux a la valeur 16.
Lorsqu'une cellule est inférieure à ses huit voisins, elle prend la valeur du voisin le plus faible. Le flux est alors régi par cette cellule. Si plusieurs voisins ont la valeur la plus basse, cette valeur est toujours attribuée à la cellule, mais le flux est défini avec l'une des deux méthodes présentées ci-après. Cela permet de filtrer et d'éliminer les cuvettes d'une cellule, car elles font partie du bruitage.
Lorsque vous modifiez la valeur d'une cellule (valeur z) dans un sens ou dans l'autre et que cette cellule est rattachée à une cuvette, la direction du flux est indéterminée. Dans ce cas, la valeur de la cellule dans le raster de direction de flux en sortie est la somme de ces directions. Par exemple, si la modification de la valeur Z est la même vers la droite (direction du flux = 1) et vers le bas (direction du flux = 4), la direction du flux de cette cellule est 1 + 4 = 5. Les cellules ayant une direction de flux non définie peuvent être signalées en tant que cuvettes à l'aide de l'outil Cuvettes.
Si vous modifiez la valeur z d'une cellule en employant plusieurs directions et qu'elle n'est pas rattachée à une cuvette, la direction du flux est alors associée à une table de correspondance qui permet de choisir la direction la plus appropriée Reportez-vous à l'ouvrage de Greenlee (1987).
Le système calcule le raster de pente D8 en sortie. Il divise la valeur z par la longueur du chemin entre les centres des cellules. Vous obtenez un pourcentage. Dans le cas des cellules adjacentes, ce résultat s'apparente au pourcentage de pente entre les cellules. Sur une surface plane, la distance devient la distance par rapport à la cellule la plus proche d'altitude inférieure. Vous obtenez une carte du pourcentage d'élévation de la pente la plus abrupte pour chaque cellule.
Lors du calcul du raster de pente D8 dans les zones plates, la distance par rapport aux cellules adjacentes en diagonale (1.41421 * cell size) est évaluée par 1.5 * cell size pour de meilleures performances.
L’algorithme MFD (Multiple Flow Direction), décrit par Qin et al. (2007), divise le flux d’une cellule pour tous les voisins de pente descendante. Un exposant de division de flux est créé dans le cadre d’une approche adaptative en fonction des conditions de MNT locales et permet de déterminer la fraction de flux qui est drainée vers tous les voisins de pente descendante.
La sortie de la direction de flux MFD lorsqu’elle est ajoutée à une carte affiche uniquement les directions de flux D8. Comme les directions de flux MFD peuvent avoir plusieurs valeurs associées à chaque cellule (chaque valeur correspond à une proportion de flux vers chaque voisin de pente descendante), la visualisation est complexe. Toutefois, un raster en sortie de la direction de flux MFD est une entrée reconnue par l’outil Accumulation de flux qui fait appel aux directions de flux MFD pour adapter et cumuler le flux de chaque cellule vers tous les voisins de pente descendante.
La méthode de flux DINF (D-Infinity), décrite par Tarboton (1997), détermine la direction de flux comme la plus grande pente descendante sur huit facettes triangulaires formées dans une fenêtre de cellule de 3x3 centrée sur la cellule d’intérêt. La sortie de la direction de flux est un raster ponctuel flottant représenté comme angle unique en degrés dans le sens anti-horaire et compris entre 0 (plein est) et 360 (encore plein est).
Avec le paramètre Force all edge cells to flow outward (Forcer l’écoulement vers l’extérieur sur les quatre bords) dans le paramètre non activé par défaut (NORMAL en Python), une cellule au bord du raster de surface s’écoule vers la cellule intérieure, avec la pente la plus élevée dans la valeur Z. Si la pente est inférieure ou égale à zéro, la cellule s'écoule du raster de surface.
Cet outil prend en charge le traitement parallèle. Il est possible d’obtenir de meilleures performances, en particulier sur les jeux de données volumineux, si votre ordinateur est doté de plusieurs processeurs ou de processeurs multicœurs. Pour plus d’informations concernant cette fonctionnalité et sa configuration, consultez la rubrique d’aide Traitement parallèle avec Spatial Analyst.
Lorsque vous utilisez le traitement parallèle, les données temporaires sont écrites pour gérer les blocs de données en cours de traitement. L’emplacement par défaut du dossier temporaire se trouve sur votre disque local C. Vous pouvez contrôler l’emplacement de ce répertoire en définissant une variable d’environnement système appelée TempFolders et en spécifiant le chemin d’accès du répertoire à utiliser (par exemple, E:\RasterCache). Si vous disposez de privilèges administrateur sur votre ordinateur, vous pouvez également utiliser une clé du Registre (par exemple, [HKEY_CURRENT_USER\SOFTWARE\ESRI\Desktop10.6\Raster]).
Par défaut, cet outil utilise 50 pour cent des cœurs disponibles. Si les données en entrée sont inférieures à 5 000 par 5 000 cellules en taille, le nombre de cœurs utilisés peut être moindre. Vous pouvez contrôler le nombre de cœurs que l’outil utilise à l’aide de l’environnement Facteur de traitement parallèle.
Pour plus d’informations sur les environnements de géotraitement qui s’appliquent à cet outil, reportez-vous à la rubrique Environnements d’analyse et Spatial Analyst.
Bibliographie :
Greenlee, D. D. 1987. « Raster and Vector Processing for Scanned Linework. » Photogrammetric Engineering and Remote Sensing 53 (10): 1383–1387.
Qin, C., Zhu, A. X., Pei, T., Li, B., Zhou, C., & Yang, L. 2007. « An adaptive approach to selecting a flow partition exponent for a multiple flow direction algorithm. » International Journal of Geographical Information Science 21(4): 443-458.
Tarboton, D. G. 1997. « A new method for the determination of flow directions and upslope areas in grid digital elevation models. » Water Resources Research 33(2): 309-319.
Syntaxe
FlowDirection(in_surface_raster, {force_flow}, {out_drop_raster}, {flow_direction_type})
Paramètre | Explication | Type de données |
in_surface_raster | Raster en entrée qui représente une surface continue. | Raster Layer |
force_flow (Facultatif) | Indique si les tronçons s'écoulent toujours vers l'extérieur ou suivent les règles de flux normales.
| Boolean |
out_drop_raster (Facultatif) | Raster de suppression en sortie facultatif. Le raster de suppression renvoie le ratio de la modification maximale d'altitude à partir de chaque cellule dans la direction de flux vers la longueur de chemin entre les centres des cellules, exprimé en pourcentage. Cette sortie est de type virgule flottante. | Raster Dataset |
flow_direction_type (Facultatif) | Indique le type de méthode de flux à utiliser lors du calcul des directions de flux.
| String |
Valeur renvoyée
Nom | Explication | Type de données |
out_flow_direction_raster | Raster en sortie qui présente la direction de flux à partir de chaque cellule vers ses voisins de pente descendante à l’aide des méthodes D8, MFD (Multiple Flow Direction) ou DINF (D-Infinity). Cette sortie est de type entier. | Raster |
Exemple de code
Premier exemple d'utilisation de l'outil FlowDirection (fenêtre Python)
Cet exemple permet de créer un raster de direction de flux D8 à partir d’un raster de surface d’altitude Grid en entrée.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outFlowDirection = FlowDirection("elevation", "NORMAL")
outFlowDirection.save("C:/sapyexamples/output/outflowdir01")
Deuxième exemple d'utilisation de l'outil FlowDirection (script autonome)
Cet exemple permet de créer un raster de direction de flux D8 à partir d’un raster de surface d’altitude Grid en entrée.
# Name: FlowDirection_Example.py
# Description: Creates a raster of flow direction from each cell to its
# steepest downslope neighbor.
# Requirements: Spatial Analyst Extension
# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *
# Set environment settings
env.workspace = "C:/sapyexamples/data"
# Set local variables
inSurfaceRaster = "elevation"
outDropRaster = "C:/sapyexamples/output/dropraster"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute FlowDirection
outFlowDirection = FlowDirection(inSurfaceRaster, "FORCE", outDropRaster)
# Save the output
outFlowDirection.save("C:/sapyexamples/output/outflowdir02")
Environnements
- Validation automatique
- Taille de cellule
- Méthode de projection de la taille de cellule
- Compression
- Espace de travail courant
- Étendue
- Transformations géographiques
- Masque
- Mot-clé CONFIG en sortie
- Système de coordonnées en sortie
- Facteur de traitement parallèle
- Espace de travail temporaire
- Raster de capture
- Taille de tuile
Informations de licence
- Basic: Requiert Spatial Analyst
- Standard: Requiert Spatial Analyst
- Advanced: Requiert Spatial Analyst