3. Créer une table de volume d’étape

Dans la section précédente, nous avons calculé un par un le volume correspondant à une élévation spécifique.

Dans cette section, nous allons calculer de manière itérative le volume pour une plage d'élévations et stocker les résultats dans une table. Pour cela, nous devons écrire un script PyQGIS autour de l'outil Raster Surface Volume.

Tous les outils de traitement que vous avez exécutés sont stockés dans l'historique de la boîte à outils de traitement. Jetons un coup d'œil et voyons comment nous pouvons utiliser cela pour notre script.

1. Dans la boîte à outils de traitement, cliquez sur pour ouvrir l'historique.

Algorithm history

Vous y trouverez ce que nous avons fait dans la section précédente. Essayez de lire ce qui est écrit après processing.run.

Il contient le nom de l'outil: native: rastersurfacevolume. Il contient un dictionnaire avec toutes les entrées du dialogue. Cela signifie que nous pouvons copier ceci et remplacer des parties du dictionnaire dans un script PyQGIS par une variable. Ici, nous devrions itérer pour différentes valeurs de LEVEL de l'élévation minimale à l'élévation maximale du  MNT.

2. Cliquez sur Close pour fermer la boîte de dialogue Historique.

3. Dans le menu principal, choisissez Plugins | Console Python pour ouvrir la console Python.

4. Dans la console Python, cliquez sur pour ouvrir l'éditeur.

5. Accédez à cette page GitHub: https://github.com/jvdkwast/PyQGIS_Hydro/blob/master/scripts/StageVolume.py

6. Copiez le code Python dans l'éditeur et enregistrez le script sous StageVolume.py.

Lisez les commentaires pour comprendre ce qui se passe dans le code.

7. La seule chose à changer est de remplacer projectPath et inputRasterDEM par vos propres noms.

8. Enregistrez le script et cliquez sur pour exécuter le script.

Voici le résultat imprimé dans la console Python:

Le script a également ajouté une couche DEM et la table StageVolume au panneau des couches.

9. Cliquez droit sur StageVolume et choisissez ouvrir la table attributaire Open Attribute Table et inspectez-la.

Stage Volume Table

Nous avons créé le Stage Volume Table avec le champ Level en mètres et le champ VolAbsKm3 contenant les volumes en km3.

Dans la section suivante, nous allons créer la courbe de volume de la scène à l'aide du plugin DataPlotly.

Notez que vous pouvez également ajouter StageVolumeTool de GitHub à la boîte à outils de traitement. L'outil a alors un dialogue. Vous pouvez télécharger l'outil ici: https://github.com/jvdkwast/PyQGIS_Hydro/blob/master/scripts/StageVolumeTool.py