Tutorial: Délimitation de multiples sous-bassins

Site: OpenCourseWare for GIS
Cours: Tutoriels avancés de QGIS
Livre: Tutorial: Délimitation de multiples sous-bassins
Imprimé par: Guest user
Date: vendredi 26 avril 2024, 09:01

1. Introduction

Dans un autre tutoriel, vous avez appris à délimiter un bassin versant d'un exutoire spécifique. Parfois, cependant, vous souhaitez faire cela pour plusieurs versants ou pour tous les sous-bassins d'un bassin versant.

Après ce tutoriel, vous serez en mesure de:

  1. Reliez les points d'écoulement numérisés à une rivière délimitée
  2. Délimiter les bassins versants des points d'écoulement reliés
  3. Créer des points d'écoulement pour tous les sous-bassins dans un bassin versant
  4. Délimiter tous les sous-bassins dans un bassin versant
Les données fournies avec ce tutoriel contiennent un GeoPackage avec un DEM rempli, une couche de délimitation de bassin versant et l´hydrographie.

Notez que ce tutoriel ne fonctionne pas avec la version QGIS 3.10 LTR et pas (encore) avec la version 3.14.

2. Numériser ‘pour points’

Nous allons d'abord numériser les points d'écoulement ‘pour points’ (points pour lesquels nous voulons délimiter leurs aires d´alimentation, c'est-à-dire les bassins versants).

1. Démarrez QGIS.

2. Dans le menu principal, allez dans Project | Open From | GeoPackage...


3. Dans la boîte de dialogue Charger le projet à partir de GeoPackage, Load project from GeoPackage, accédez data_multiple_subcatchments.gpkg du GeoPackage, choisissez le projet Multiple_Subcatchments et cliquez sur OK.

Dans le projet, vous voyez la délimitation du bassin versant de la Rur, l'hydrographie et le DEM rempli (le remplissage d'un DEM est expliqué dans le tutoriel sur la délimitation des cours d'eau et des bassins versants, que vous devez appliquer à vos propres données avant de suivre les étapes de ce tutoriel).

Nous allons maintenant ajouter une carte de fond à partir de laquelle nous pouvons numériser certains versants. Nous utiliserons OpenStreetMap.

4. Installez le plugin QuickMapServices. Allez dans le menu principal et choisissez Plugins | Gérer et installer les plugins ... Plugins | Manage and Install Plugins...

5. Installez le plugin QuickMapServices et cliquez sur Fermer Close.

6. Dans le menu principal, accédez à Web | QuickMapServices | OSM Standard

7. Désactivez le DEM et l'ombre en décochant la case avant le nom de la couche au niveau du panneau d´affichage des couches.

Rur with OSM

8. Effectuez un zoom sur un emplacement du bassin versant où deux affluents se rejoignent.

9. Dans la barre d'outils, cliquez sur pour créer une nouvelle couche temporaire.

10. Dans la boîte de dialogue de création de la nouvelle couche temporaire, New Temporary Scratch Layer, indiquez Pour Point comme point d'écoulement devant Layer name, choisissez Point en tant Geometry type qui est type de géométrie et sélectionnez la projection du projet (EPSG: 32632). Conservez le reste par défaut.

11. Cliquez sur OK pour créer la couche de vecteur de points vide.

Nous créons cette couche temporaire parce que c'est une étape intermédiaire et nous n'avons pas besoin de conserver cette couche.

Nous allons maintenant numériser le point de la rivière où les affluents se rejoignent.

12. Assurez-vous que l'édition est activée pour le Pour Point qui est la couche de point d'écoulement et cliquez sur pour ajouter un point comme type d´élément.

13. Placez l'élément de type point à l´endroit de la rivière tel qu´indiqué sur la carte où les affluents se rejoignent.

14. Répétez cette opération pour quelques autres points pour lesquels vous souhaitez créer les sous-bassins.

15. Désactivez l'édition en cliquant sur et cliquez sur Enregistrer.

Dans la section suivante, nous allons aligner les points d'écoulement numérisés sur l'hydrographie.

3. Sélectionner en captant des ‘pour points’

Nous ne pouvons délimiter les (sous) bassins versants que si les points d'écoulement sont sur l'hydrographie délimitée, sinon il n'y a pas de rivière selon votre modèle. Nous pouvons y parvenir en enclenchant les points d'écoulement sur la couche d'hydrographie.

1. Ouvrez la boîte à outils de traitement Processing Toolbox. Dans le menu principal, allez dans Processing | Toolbox pour ouvrir le panneau Processing Toolbox.

2. Dans la boîte à outils de traitement, choisissez Vector geometry | Snap geometries to layer.

3. Dans la boîte de dialogue Aligner les géométries sur la couche, Snap geometries to layer, choisissez Pour Point qui est la couche du point d'écoulement comme input et Rur Hydrography comme couche de référence. Modifiez la tolérance à 100 m. Il s'agit du rayon de recherche pour aligner le point sur la ligne. Modifiez le comportement, Behavior, en choisissant Prefer closest point, insert extra vertices where required qui est de Préférer le point le plus proche, insérez des sommets supplémentaires si nécessaire. Vous pouvez jouer avec ce paramètre si les résultats sont bons. Enregistrez Snapped geometry dans le projet GeoPackage sous le nom de Snapped pour points.

4. Cliquez sur Exécuter et fermer la boîte de dialogue après l´exécution.

5. Vérifiez le résultat.

Maintenant que nous avons aligné les points d'écoulement, nous pouvons procéder à la délimitation de leurs bassins versants dans la section suivante.

4. Délimiter plusieurs sous-bassins pour les ‘pour points’

Nous sommes maintenant prêts à calculer les bassins des points d'écoulement alignés. Nous utiliserons un plugin qui n'est pas sur la plateforme officielle.
1. Dans le menu principal, allez dans Paramètres | Profils d'utilisateurs | Ouvrez le dossier de profil actif, soit Settings | User Profiles | Open Active Profile Folder.
2. Accédez au sous-dossier python\plugins et vous pourrez finalement avoir par ex. C:\Users\hansa\AppData\Roaming\QGIS\QGIS3\profiles\subcatchments\python\plugins

3. Accédez maintenant à la platetforme GitHub: https://github.com/jvdkwast/PyQGIS_Hydro
4. Cliquez sur le bouton vert Code, puis choisissez Download ZIP.
5. Ouvrez le fichier zip téléchargé. 7Zip est un excellent outil avec un droit d´accès libre à utiliser. Parcourez le fichier zip et extrayez le sous-dossier points_to_catchments dans votre dossier plugins, que vous avez identifié à l'étape 2.


6. Dans QGIS, allez dans le menu principal et choisissez: Plugins | Gérer et installer les plugins ..., soit Plugins | Manage and install plugins...

7. Allez dans l'onglet Paramètres, Settings et cliquez sur Recharger la platforme, Reload Repository.


8. Revenez à l'onglet Tous All et cochez la case devant le plugin Points to Catchments et fermez Close la boîte de dialogue.


Points to Catchments Plugin

Les outils sont maintenant ajoutés à la boîte à outils de traitement, Processing Toolbox (notez que cela ne fonctionne pas avec QGIS 3.14).


9. Dans la boîte à outils de traitement, accédez à IHE Delft | Hydrology | Calculate catchments from points.


10. Dans la boîte de dialogue, Calculate Catchments From Points, sélectionnez la couche Snapped Pour Points comme couche de points de sortie. Choisissez le DEM rempli, filled DEM, comme couche DEM. Choisissez un nouveau dossier de sortie dans lequel l'outil enregistrera un fichier de formes pour chaque point.



11. Cliquez sur Exécuter et fermer la boîte de dialogue après l´exécution.

12. Accédez au panneau de navigation et faites glisser les fichiers de formes vers le panneau d´affichage des couches pour leur appliquer un style et les visualiser.


subcatchmentssubcatchments

Dans la section suivante, nous le ferons pour tous les sous-bassins du bassin versant.

5. Délimiter tous les sous-bassins dans un bassin versant

De la même manière, nous pouvons délimiter tous les sous-bassins versants du bassin versant de Rur. Cependant, ce serait beaucoup de travail manuel pour la numérisation et l´alignement des points d'écoulement.

Dans cette section, nous allons identifier les jonctions fluviales et appliquerons l'outil Points to catchments à toutes les jonctions.

1. Dans la boîte à outils de traitement, choisissez SAGA | Analyse de terrain - Canaux | Réseau de canaux et bassins versants, soit SAGA | Terrain Analysis - Channels | Channel network and drainage basins.

2. Dans la boîte de dialogue, choisissez le DEM rempli, filled DEM,  pour l'élévation et utilisez pour le Strahler Threshold  un seuil égal à  8 (il est calibré dans la procédure de délimitation des cours d'eau et des bassins versants). Décochez toutes les cases sauf junctions et enregistrez le fichier de formes comme junctions.shp dans votre dossier de projet.


3. Cliquez sur Exécuter Run et fermer Close la boîte de dialogue après l´exécution.

La couche de jonctions couvre plus que le bassin versant de la Rur, nous devons donc d'abord le découper.

4. Dans le menu principal, allez dans Vector | Geoprocessing Tools | Clip...


5. Dans la boîte de dialogue Clip, choisissez la couche de jonctions comme couche input et Rur catchment boundary comme couche de superposition. Enregistrez la couche découpée dans le dossier GeoPackage de ce projet et nommez-le Rur jonctions.

6. Cliquez sur Exécuter Run et fermer Close la boîte de dialogue après l´exécution.

7. Supprimez la couche jonctions du Layers qui est le panneau d´affichage des couches.

8. Cliquez avec le bouton droit de la souris sur la couche de jonctions dans le panneau d´affichage des couches et choisissez Ouvrir la table attributaire Open Attribute Table.

Dans la table attributaire, vous voyez que le champ Type indique si une jonction est une source Spring ressort ou une junction. Nous n'avons besoin que des jonctions, car ce sont les exutoires du sous-bassin. Nous allons supprimer les sources i.e. les Spring.


9. Dans la table attributaire, activez l'édition en cliquant sur  .

10. Cliquez sur Sélectionner les entités à l'aide d'un bouton d'expression .

11. Dans la boîte de dialogue Select by Expression qui permet de sélectionner par atrribut, écrivez l'expression suivante:

 "TYPE"  =  'Spring'

12. Cliquez sur Select Features et fermez Close la boîte de dialogue.

13. Cliquez maintenant sur le bouton Delete selected features  pour supprimer les éléments sélectionnées.

14. Désactivez le mode d'édition avec le bouton  et cliquez sur Enregistrer Save. Fermez la table attributaire.


Cette couche de points a une géométrie MultipointZM que nous ne pouvons pas utiliser. Nous devons le convertir en une couche avec une géométrie de point normale.

15. Dans le menu principal, allez dans Vector | Geometry Tools | Multipart to Singleparts...

16. Dans la boîte de dialogue Multipart to Singleparts, choisissez Rur junctions comme couche d'entrée et enregistrez la couche Single parts dans le dossier GeoPackage de ce projet sous le nom outlets.

17. Cliquez sur Exécuter Run et fermer Close la boîte de dialogue après l´exécution.

18. Supprimez Rur junctions du panneau d´affichage des couches.

Nous pouvons maintenant appliquer l'outil Points to catchments à toutes les jonctions pour délimiter leurs bassins versants.

19. Dans la boîte à outils de traitement, choisissez IHE Delft | Hydrology | Calculate catchments from points.

20. Dans la boîte de dialogue, sélectionnez Rur junctions comme couche de points de sortie, Outflow point layer, et le DEM rempli comme couche pour le DEM Layer.

21. Sélectionnez un nouveau dossier de sortie, Output Folder, dans lequel les fichiers de formes de tous les sous-bassins seront stockés.

22. Cliquez sur Exécuter. Cela prendra un certain temps. Cliquez sur Fermer Close lorsque tous les points sont traités.

23. Accédez au panneau de navigation et faites glisser les 25 fichiers de formes vers la fenêtre d´affichage de carte.

24. Utilisez l'outil Package layers de la Boîte à outils Processing Toolbox pour ajouter la couche au dossier GeoPackage du projet et enregistrer le projet.

25 subcatchments