Dans l’article précédent, ArcHydro : détermination des bassins versants d’un territoire (1), nous nous sommes arrêtés à la définition de notre réseau hydrographique. Nous allons terminer e processus en abordant les trois derniers points:
-
4- Segmentation du réseau d’écoulement
5- Détermination du bassin versant de chaque tronçon du réseau d’écoulement
6- Fusion des bassins versants de chaque élément pour constituer des bassins versant de la taille souhaitée
Segmentation du réseau d’écoulement
Il ne faut pas oublier que nous sommes en train de travailler en mode raster. Chaque pixel (cellule) peut contenir une ou plusieurs valeurs, mais elles sont toutes « indépendantes ». Contrairement au réseau hydrographique de type vecteur, où nous avons des tronçons identifiés, ici rien ne nous permet de dire que deux pixels, mêmes contigus, appartiennent à un même tronçon hydrographique.
L’étape de segmentation à laquelle nous allons procéder répond à ce besoin: la commande va chercher les pixels contigus entre deux nœuds hydrographiques.
Les nœuds considérés sont: les sources, les jonctions, les exutoires.
Les pixels contigus entre deux nœuds auront le même identifiant de tronçon. Et chaque tronçon sera numéroté différemment.
Pour créer ce réseau, nous utilisons la commande « Terrain Preprocessing » -> « Stream Segmentation »
Visuellement, le raster résultant est identique au précédent. Pour voir la différence vous pouvez changer la symbologie en « Valeurs uniques ». Vous verrez alors les pixels appartenant à chaque tronçon avec la même couleur.
Détermination du bassin versant de chaque tronçon du réseau d’écoulement
Maintenant que nous avons construit les tronçons du réseau hydrographique nous allons déterminer les bassins versants de chaque tronçon, c’est à dire les cellule qui se déversent sur chacun des tronçons. Contrairement à notre notion classique de bassin versant qui prend en comte le ruissellement des berges di tronçon ainsi que les apports des tronçons en amont de celui qui est considéré, dans cette étape nous allons seulement prendre en compte le ruissellement direct sur chaque tronçon, sans tenir compte des apports qui peuvent arriver par les biais des affluents du tronçon.
Pour cela nous utiliserons la commande « Terrain Preprocessing » -> « Catchment Grid delineation »
Les entrées sont le raster avec les directions d’écoulement et le raster avec les tronçons hydrographiques.
La sortie sont les bassins versants de chaque tronçon.
Maintenant, nous souhaitons voir les bassins versants tels que nous les connaissons, pas tronçon par tronçon, mais bien par cours d’eau principal. C’est ce que nous allons faire dans la prochaine étape.
Fusion des bassins versants de chaque élément pour constituer des bassins versant de la taille souhaitée
Pour continuer dans cette étape, nous allons quitter le monde raster pour rejoindre le monde vecteur. Même s’il y a moyen de faire ce que nous souhaitons avec des rasters, il est beaucoup plus simple de travailler en mode vecteur.
Nous allons donc convertir en vecteur les bassins versants des tronçons et le réseau de tronçons.
Pour convertir les bassins versants des tronçons, nous utilisons la commande « Terrain Preprocessing » -> « Catchment Polygon Processing »
Pour convertir le réseau de tronçons en polylignes, nous utilisons la commande « Terrain Preprocessing » -> « Drainage Lines Processing »
Vous pouvez voir que les propriétés de chaque tronçon permettent de savoir les nœuds qui le limitent ainsi que le tronçon aval suivant.
Nous allons maintenant calculer les bassins contigus avec la fonction « Adjoint Catchment Processing ».
Cette fonction génère le bassin versant agrégé, cumulé et contigu en amont de chaque bassin de tronçon hydrographique. Pour chaque bassin versant généré, le polygone construit délimite toute la zone contigüe amont du tronçon. Si Deux tronçons confluent vers le tronçon en question, le polygone entoure les trois bassins de tronçons. Puis, on cherche quels bassins de tronçons sont contigus à ce polygone et on en génère un nouveau bassin versant contigu. On effectue ce processus jusqu’à ne plus avoir de bassins de tronçons qui s’écoulent vers le bassin versant généré.
Pour exécuter cette commande on utilise « Terrain Preprocessing » -> « Adjoint Catchment Processing ».
Les entrés sont les lignes d’écoulement (« DrainageLine ») et la couche de polygones bassins versants (« Catchment”). Le résultat est stocké dans une nouvelle couche vectorielle de type polygone (« AdjointCatchment ») que vous pouvez renommer.
Cette couche nous permettra de réaliser toute une série de calculs intéressants, mais la commande a aussi ajouté une champ attribut dans la table de « Catchment » avec l’identifiant du bassin aval et un autre champ attributaire dans la table de DrainageLine avec l’identifiant du bassin versant du tronçon.
Bonjour,
J’ai une question sur l’outil « Adjoint Catchment Processing ». Celui-ci construit bien le bassin versant en associant les sous-bassins se déversant les uns dans les autres. Sauf qu’il ne fait ce process qu’avec les sous-bassins en amont du sous-bassin correspondant au dernier tronçon, celui de l’exutoire. En gros, il n’intègre pas le dernier sous-bassin (le bassin aval), celui qui mène à la mer. Du coup, à quoi sert cet outil, parce que dans votre article, on dirait qu’il s’agit du bassin versant final, or ce n’est pas le cas.
Merci pour votre éclairage.