Direction de flux (Spatial Analyst)

Disponible avec une licence Spatial Analyst.

Synthèse

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

Illustration de l’outil Direction de flux
Flow_Dir = FlowDirection(Elev_Ras, #, #, D8)

Utilisation

  • L'outil Direction de flux prend en charge trois algorithmes de modélisation de flux : D8, MDF (Multiple 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é à l'aide du type de direction de flux D8 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 :

    Valeurs de direction de flux

    Par exemple, si la direction de la plus forte chute est à gauche de la cellule de traitement actuelle, sa valeur de direction de flux est de 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 possèdent 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 décrites 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 cette 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.

  • L’algorithme MFD, décrit par Qin et al. (2007), divise le flux d’une cellule entre tous les voisins en aval. 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.

    Remarque :

    Le type de direction de flux MFD prend uniquement en charge la création d’un raster de direction de flux en sortie au format CRF (Cloud Raster Format), tel que flowdir1.crf, dans un espace de travail de dossier.

    La sortie de la direction de flux MFD lorsqu’elle est ajoutée à une carte affiche uniquement les directions de flux D8. Les directions de flux MFD pouvant avoir plusieurs valeurs associées à chaque cellule (chaque valeur correspond à la proportion du flux vers chaque voisin en aval), 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 en aval.

  • La méthode de flux DINF, 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 3 par 3 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 (toujours plein est).

  • Avec le paramètre Forcer l’écoulement vers l’extérieur sur les quatre bords décoché (paramètre par défaut) (force_flow = "NORMAL" dans Python), une cellule au bord du raster de surface s’écoule vers la cellule intérieure, avec la plus grande pente 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, des données temporaires sont écrites afin de gérer les blocs de données en cours de traitement. L’emplacement par défaut du dossier temporaire se trouve sur votre disque 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 d’administration sur votre ordinateur, vous pouvez également utiliser une clé de registre (par exemple, [HKEY_CURRENT_USER\SOFTWARE\ESRI\ ArcGISPro\Raster]).

    Par défaut, cet outil utilise 50 pourcent 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é 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.

  • Lorsque le format raster en sortie est .crf, cet outil prend en charge l’environnement de stockage raster Pyramide. Des pyramides seront créées dans la sortie par défaut. Pour tout autre format en sortie, cet environnement n’est pas pris en charge et aucune pyramide n’est créée.

  • 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.

Paramètres

ÉtiquetteExplicationType de données
Raster de surface en entrée

Raster en entrée qui représente une surface continue.

Raster Layer
Force all edge cells to flow outward (Forcer l’écoulement vers l’extérieur sur les quatre bords)
(Facultatif)

Indique si les quatre bords s’écoulent toujours vers l’extérieur ou suivent les règles d’écoulement normales.

  • Désactivé : si la pente maximale d'un tronçon est supérieure à zéro, la direction de flux est déterminée de la manière habituelle ; dans le cas contraire, elle sera orientée vers le tronçon. Les cellules qui devraient s'écouler du tronçon de la surface raster vers l'intérieur s'écouleront ainsi. Il s’agit de l’option par défaut.
  • Coché : toutes les cellules du tronçon de la surface raster s'écouleront vers l'intérieur à partir de la surface raster.
Boolean
Raster de suppression en sortie
(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
Type de direction de flux
(Facultatif)

Indique le type de méthode de flux à utiliser lors du calcul des directions de flux.

  • D8La direction de flux est déterminé par la méthode D8. Cette méthode attribue une direction de flux au voisin de plus grande pente descendante. Il s’agit de l’option par défaut.
  • MFDLa direction de flux en fonction de la méthode de flux MFD. La direction de flux est répartie sur tous les voisins de pente descendante selon un exposant de répartition adapté.
  • DINFLa direction du flux est basée sur la méthode de flux DINF. Cette méthode affecte la direction de flux à la pente la plus forte d’une facette triangulaire.
String

Valeur renvoyée

ÉtiquetteExplicationType de données
Raster de direction de flux en sortie

Raster en sortie qui présente la direction de flux à partir de chaque cellule vers ses voisins en aval ou ses voisins à l’aide de la méthode D8, MFD ou DINF.

Cette sortie est de type entier.

Raster

FlowDirection(in_surface_raster, {force_flow}, {out_drop_raster}, {flow_direction_type})
NomExplicationType de données
in_surface_raster

Raster en entrée qui représente une surface continue.

Raster Layer
force_flow
(Facultatif)

Indique si les quatre bords s’écoulent toujours vers l’extérieur ou suivent les règles d’écoulement normales.

  • NORMALSi la pente maximale d'un tronçon est supérieure à zéro, la direction de flux est déterminée de la manière habituelle ; dans le cas contraire, elle sera orientée vers le tronçon. Les cellules qui devraient s'écouler du tronçon de la surface raster vers l'intérieur s'écouleront ainsi. Il s’agit de l’option par défaut.
  • FORCEToutes les cellules sur le tronçon de la surface raster s'écouleront vers l'intérieur à partir de la surface raster.
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.

  • D8La direction de flux est déterminé par la méthode D8. Cette méthode attribue une direction de flux au voisin de plus grande pente descendante. Il s’agit de l’option par défaut.
  • MFDLa direction de flux en fonction de la méthode de flux MFD. La direction de flux est répartie sur tous les voisins de pente descendante selon un exposant de répartition adapté.
  • DINFLa direction du flux est basée sur la méthode de flux DINF. Cette méthode affecte la direction de flux à la pente la plus forte d’une facette triangulaire.
String

Valeur renvoyée

NomExplicationType de données
out_flow_direction_raster

Raster en sortie qui présente la direction de flux à partir de chaque cellule vers ses voisins en aval ou ses voisins à l’aide de la méthode D8, MFD ou DINF.

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"

# Execute FlowDirection
outFlowDirection = FlowDirection(inSurfaceRaster, "FORCE", outDropRaster)

# Save the output 
outFlowDirection.save("C:/sapyexamples/output/outflowdir02")

Rubriques connexes