Dériver le cours d’eau en tant que ligne (Spatial Analyst)

Disponible avec une licence Spatial Analyst.

Synthèse

Génère des entités linéaires de cours d’eau à partir d’un raster de surface en entrée sans que le remplissage préalable d’une cuvette ou d’une dépression soit nécessaire.

Utilisation

  • Le raster de surface en entrée peut être un modèle numérique de terrain (MNT) sans remplissage préalable des cuvettes ou de MNT conditionné du point de vue hydrologique. L’outil n’est pas sensible aux erreurs dans le raster de surface opérant comme des dépressions ou des cuvettes où se termine l’écoulement ; le remplissage des cuvettes ou des dépressions est inutile.

  • Le paramètre Entités d’écoulement en sortie génère une entité polyligne en sortie qui correspond aux lignes de cours d’eau ayant atteint le seuil d’accumulation, spécifié via le paramètre facultatif Seuil d’accumulation (accumulation_threshold dans Python). Si aucune valeur Accumulation threshold (Seuil d’accumulation) n’est fournie, par défaut, l’outil calcule un seuil de surface en fonction de la taille du raster de surface en entrée (0,2 % du nombre total de cellules). La direction de flux et l’accumulation de flux sont calculées en interne pour dériver les cours d’eau, mais ne correspondent pas à une sortie. Utilisez Dériver le flux continu pour obtenir les rasters d’accumulation de flux et de direction de flux à l’aide de la même méthodologie.

  • Lorsque le raster de surface en entrée contient des dépressions effectives dans le raster de surface, les dépressions doivent être spécifiées dans les données d’entités de dépressions ou raster en entrée (in_depressions_data dans Python) pour être considérées comme des cellules dans lesquelles l’eau se déverse, mais ne s’échappe pas (évacuation). Les informations sur la zone de dépression peuvent correspondre à un raster ou une classe d’entités. La classe d’entités peut être ponctuelle, polyligne ou surfacique

  • Une valeur de raster de pondération d’accumulation en entrée (in_weight_raster dans Python) peut être spécifiée pour appliquer une pondération à chaque cellule lors de l’étape intermédiaire de la dérivation de l’accumulation. Si un raster de pondération est appliqué, sélectionnez un seuil d’accumulation de flux approprié dans Seuil d’accumulation (accumulation_threshold dans Python).

  • Spécifiez une valeur de seuil d’accumulation (accumulation_threshold dans Python) qui reflète la complexité du terrain de la zone d’étude ou qui correspondant à la taille de la surface de captation de votre choix. Considérons, par exemple, un seuil de 20 hectares. Seules les cellules de 20 hectares ou plus de flux en amont définissent un raster de cours d’eau.

  • Si les paramètres Input raster or features depressions data (Données raster ou d’entités de dépression en entrée) ou Input accumulation weight raster (Raster de pondération d’accumulation en entrée) ou les données permettant d’appliquer les paramètres d’environnement sont utilisés, la valeur Accumulation threshold (Seuil d’accumulation) par défaut est recalculée en fonction de la surface de l’intersection entre les entrées. Toutefois, une fois que vous avez spécifié une valeur pour le paramètre Accumulation threshold (Seuil d’accumulation), cette valeur n’est plus recalculée en fonction des modifications de la sélection en entrée. La même situation peut se produire si vous exécutez l’outil par lots à l’aide de la valeur Input surface raster (Raster de surface en entrée) en tant que paramètre de traitement par lots, où la valeur Accumulation threshold (Seuil d’accumulation) est calculée en fonction de la première entrée et ne change pas lors du traitement par lots d’autres couches raster.

  • Utilisez le paramètre Méthode de désignation du cours d’eau pour attribuer une valeur unique de sections de cours d’eau entre les intersections ou un ordre aux segments de cours d’eau. L’option Constant (Constante) est la valeur par défaut ; tous les cours d’eau reçoivent la même valeur égale à 1. Lorsque l’option Unique est sélectionnée, une valeur unique est attribuée à chaque section de cours d’eau entre les intersections. Les autres méthodes de hiérarchisation sont les méthodes Strahler, Shreve et Hack. La méthode Strahler augmente l’ordre d’un cours d’eau si des cours d’eau de même ordre s’intersectent. L’ordre Shreve attribue un ordre aux cours d’eau en fonction de leur magnitude. Tous les liens sans affluent ont une magnitude (ordre) de un. Les magnitudes sont des pentes descendantes additives. Lorsque deux liaisons se croisent, leurs magnitudes s'ajoutent et le résultat est attribué au lien de pente descendante. La méthode Hack augmente l’ordre d’un cours d’eau de un en fonction de son ordre de déchargement. La rivière principale a une magnitude de 1 et tous les cours d’eau qui s’y jettent une magnitude de 2 et ainsi de suite.

  • Lorsque le paramètre Simplify features (Simplifier les entités) est sélectionné (simplify dans Python), les lignes d’entités de cours d’eau en sortie sont simplifiées via la suppression de sommets à l’aide de l’algorithme Douglas-Peucker avec une tolérance de sqrt(0.5) * taille de cellule. Cet algorithme conserve les points critiques en identifiant et en supprimant les sommets relativement redondants.

  • Les cellules NoData sont considérées comme du bruit et, par définition, ne sont associées à aucune valeur. L’outil ignore ces cellules à l’identification de la direction du voisin à la pente montante la moins forte, ainsi qu’à la détermination de la direction du flux et de l’accumulation.

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

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

    • Douglas, David H., et Thomas K. Peucker. 1973. "Algorithms for the Reduction of the Number of Points Required to Represent a Digitised Line or its Caricature." The Canadian Cartographer, 10(2): 112–122.

    • Ehlschlaeger, C. R. 1989. « Using the AT Search Algorithm to Develop Hydrologic Models from Digital Elevation Data. » International Geographic Information Systems (IGIS) Symposium 89: 275-281.

    • Hack, J. T. 1957. « Studies of Longitudinal Stream Profiles in Virginia and Maryland. » Geological Survey Professional Paper 294: 45–95.

    • Jenson, S. K., and Domingue, J. O. 1988. « Extracting Topographic Structure from Digital Elevation Data for Geographic Information System Analysis. » Photogrammetric Engineering and Remote Sensing 54 (11): 1593–1600.

    • Metz, M., Mitasova, H., & Harmon, R. S. 2011. « Efficient extraction of drainage networks from massive, radar-based elevation models with least cost path search. » Hydrology and Earth System Sciences 15(2): 667-678.

    • Shreve, R. 1966. « Statistical Law of Stream Numbers » Journal of Geology.74: 17-35

    • Strahler, A. N. 1957. « Quantitative analysis of watershed geomorphology » Transactions of the American Geophysical Union8 (6): 913-920

Paramètres

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

Raster de surface en entrée.

Raster Layer
Entités polylignes en sortie

Classe d’entités en sortie qui contient les cours d’eau identifiés.

Feature Class
Données raster ou d’entités de dépression en entrée
(Facultatif)

Jeu de données définissant les dépressions effectives.

Les dépressions peuvent être définies par un raster ou des données d’entités.

Si l’entrée est un raster, les cellules des dépressions doivent inclure une valeur valide, zéro compris, et les zones qui ne sont pas des dépressions doivent avoir la valeur NoData.

Composite Geodataset
Raster de pondération d’accumulation en entrée
(Facultatif)

Jeu de données raster en entrée facultatif qui définit la fraction du flux contribuant à l’accumulation de flux à chaque cellule.

La pondération n’est appliquée qu’à l’accumulation de flux.

Si aucun raster de pondération d’accumulation n’est spécifié, une pondération par défaut de 1 est appliquée à chaque cellule.

Raster Layer
Seuil d’accumulation
(Facultatif)

Seuil visant à déterminer si une cellule donnée fait partie d’un cours d’eau en termes de surface totale qui se déverse dans la cellule en question.

Areal Unit
Méthode de désignation du cours d’eau
(Facultatif)

Spécifie la valeur unique ou l’ordre des cours d’eau dans la table attributaire en sortie.

  • ConstantLes segments de cours d’eau en sortie sont tous égaux à 1. Il s’agit de l’option par défaut.
  • UniqueChaque cours d’eau possède un ID unique entre les intersections dans la sortie.
  • StrahlerLa méthode de Strahler, selon laquelle l’ordre des cours d’eau augmente si des cours d’eau de même ordre s’intersectent, est utilisée. L’intersection d’une liaison de premier ordre et d’une liaison de deuxième ordre reste une liaison de deuxième ordre, mais ne crée pas une liaison de troisième ordre.
  • ShreveLa méthode de Shreve, selon laquelle l’ordre des cours d’eau est affecté par magnitude, est utilisée. Tous les liens sans affluent ont une magnitude (ordre) de un. Les magnitudes sont des pentes descendantes additives. Lorsque deux liaisons se croisent, leurs magnitudes s'ajoutent et le résultat est attribué au lien de pente descendante.
  • HackLa méthode de Hack, selon laquelle chaque segment de cours d’eau reçoit un ordre supérieur à celui du cours d’eau ou de la rivière dans lequel il se déverse, est utilisée. Par exemple, le canal principal de la rivière reçoit l’ordre 1, tous les segments de cours d’eau qui s’y déversent, l’ordre 2, tout cours d’eau qui se déverse dans un cours d’eau d’ordre 2, l’ordre 3 et ainsi de suite.
  • ToutLa table attributaire en sortie indique chaque désignation de segment de cours d’eau en fonction de toutes les méthodes.
String
Simplifier des entités
(Facultatif)

Indique si les lignes de cours d’eau en sortie sont lissées en formes plus simples.

  • Activé : les lignes d’entités de cours d’eau sont simplifiées à l’aide de l’algorithme Douglas-Peucker avec une tolérance de sqrt(0.5) * taille de cellule. Il s’agit de l’option par défaut.
  • Désactivé : les lignes des entités d’écoulement ne sont pas lissées.
Boolean

DeriveStreamAsLine(in_surface_raster, out_stream_features, {in_depressions_data}, {in_weight_raster}, {accumulation_threshold}, {stream_designation_method}, {simplify})
NomExplicationType de données
in_surface_raster

Raster de surface en entrée.

Raster Layer
out_stream_features

Classe d’entités en sortie qui contient les cours d’eau identifiés.

Feature Class
in_depressions_data
(Facultatif)

Jeu de données définissant les dépressions effectives.

Les dépressions peuvent être définies par un raster ou des données d’entités.

Si l’entrée est un raster, les cellules des dépressions doivent inclure une valeur valide, zéro compris, et les zones qui ne sont pas des dépressions doivent avoir la valeur NoData.

Composite Geodataset
in_weight_raster
(Facultatif)

Jeu de données raster en entrée facultatif qui définit la fraction du flux contribuant à l’accumulation de flux à chaque cellule.

La pondération n’est appliquée qu’à l’accumulation de flux.

Si aucun raster de pondération d’accumulation n’est spécifié, une pondération par défaut de 1 est appliquée à chaque cellule.

Raster Layer
accumulation_threshold
(Facultatif)

Seuil visant à déterminer si une cellule donnée fait partie d’un cours d’eau en termes de surface totale qui se déverse dans la cellule en question.

Areal Unit
stream_designation_method
(Facultatif)

Spécifie la valeur unique ou l’ordre des cours d’eau dans la table attributaire en sortie.

  • CONSTANTLes segments de cours d’eau en sortie sont tous égaux à 1. Il s’agit de l’option par défaut.
  • UNIQUEChaque cours d’eau possède un ID unique entre les intersections dans la sortie.
  • STRAHLERLa méthode de Strahler, selon laquelle l’ordre des cours d’eau augmente si des cours d’eau de même ordre s’intersectent, est utilisée. L’intersection d’une liaison de premier ordre et d’une liaison de deuxième ordre reste une liaison de deuxième ordre, mais ne crée pas une liaison de troisième ordre.
  • SHREVELa méthode de Shreve, selon laquelle l’ordre des cours d’eau est affecté par magnitude, est utilisée. Tous les liens sans affluent ont une magnitude (ordre) de un. Les magnitudes sont des pentes descendantes additives. Lorsque deux liaisons se croisent, leurs magnitudes s'ajoutent et le résultat est attribué au lien de pente descendante.
  • HACKLa méthode de Hack, selon laquelle chaque segment de cours d’eau reçoit un ordre supérieur à celui du cours d’eau ou de la rivière dans lequel il se déverse, est utilisée. Par exemple, le canal principal de la rivière reçoit l’ordre 1, tous les segments de cours d’eau qui s’y déversent, l’ordre 2, tout cours d’eau qui se déverse dans un cours d’eau d’ordre 2, l’ordre 3 et ainsi de suite.
  • ALLLa table attributaire en sortie indique chaque désignation de segment de cours d’eau en fonction de toutes les méthodes.
String
simplify
(Facultatif)

Indique si les lignes de cours d’eau en sortie sont lissées en formes plus simples.

  • NO_SIMPLIFYLes lignes des entités d’écoulement ne sont pas lissées.
  • SIMPLIFYLes lignes d’entités de cours d’eau sont simplifiées à l’aide de l’algorithme Douglas-Peucker avec une tolérance de sqrt(0.5) * taille de cellule. Il s’agit de l’option par défaut.
Boolean

Exemple de code

Exemple 1 d’utilisation de l’outil DeriveStreamAsLine (fenêtre Python)

Cet exemple illustre l’utilisation de l’outil DeriveStreamAsLine pour générer des entités linéaires d’écoulement à partir d’un raster de surface en entrée sans remplissage préalable d’une cuvette.

from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapy/examples/data" 
DeriveStreamAsLine("surface.tif", "C:/sapyexamples/output/streams.shp", "", "", "", "")
Exemple 2 d’utilisation de l’outil DeriveStreamAsLine (script autonome)

Cet exemple génère des entités linéaires d’écoulement à partir d’un raster de surface en entrée sans remplissage préalable d’une cuvette et dépression réelle. Les cours d’eau commencent aux localisations où le flux cumulé est collecté d’une surface supérieure ou égale à deux hectares.

# Name: DeriveStreamAsLine_standalone.py
# Description: Generates stream lines from an input surface raster without prior sink filling. 
#              The streams start from locations where the accumulated flow is collected from an area 
#              larger or equal to 2 Hectares considering depressions (polygons).
# Requirements: Spatial Analyst Extension

# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *

# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")

# Set the analysis environments
env.workspace = "C:/sapyexamples/data"

# Set the local variables
in_surface_raster = "surface.tif"
in_depressions_data = "depressions.shp"
in_weight_raster = ""
out_streams = "C:/sapyexamples/output/streams.shp"
area_threshold = "2 Hectares"
stream_designation_method = "CONSTANT"

# Execute
DeriveStreamAsLine(in_surface_raster, out_streams, in_depressions_data, 
                   in_weight_raster, area_threshold, stream_designation_method)

Informations de licence

  • Basic: Nécessite Spatial Analyst
  • Standard: Nécessite Spatial Analyst
  • Advanced: Nécessite Spatial Analyst

Rubriques connexes