Sens de circulation (Spatial Analyst)

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

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

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 :

    Codes de l'outil Direction de flux

    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.

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

    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. 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\ArcGISPro\Raster]).

    Par défaut, cet outil utilise 50 pour cent des cœurs disponibles. Si la taille des données en entrée est inférieure à 5 000 par 5 000 cellules, il est possible d’utiliser moins de cœurs. 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.

Paramètres

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

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

Raster Layer
Forcer l’écoulement vers l’extérieur sur les quatre bords
(Facultatif)

Indique si les tronçons s'écoulent toujours vers l'extérieur ou suivent les règles de flux 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.

  • D8Attribuez une direction de flux en fonction de la méthode de flux 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.
  • MFDAttribuez une direction de flux en fonction de la méthode de flux MFD. Cette méthode attribue plusieurs directions de flux vers tous les voisins de pente descendante.
  • DINFAttribuez une direction de flux en fonction de la méthode de flux D-Infinity à l’aide de la plus grande pente descendante 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 de pente descendante à l’aide des méthodes D8, MFD (Multiple Flow Direction) ou DINF (D-Infinity).

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 tronçons s'écoulent toujours vers l'extérieur ou suivent les règles de flux 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.

  • D8Attribuez une direction de flux en fonction de la méthode de flux 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.
  • MFDAttribuez une direction de flux en fonction de la méthode de flux MFD. Cette méthode attribue plusieurs directions de flux vers tous les voisins de pente descendante.
  • DINFAttribuez une direction de flux en fonction de la méthode de flux D-Infinity à l’aide de la plus grande pente descendante 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 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"

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

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

Rubriques connexes