Statistiques de Zone et calcul d’aire
Site: | OpenCourseWare for GIS |
Cours: | QGIS pour l’analyse de la productivité de l’eau |
Livre: | Statistiques de Zone et calcul d’aire |
Imprimé par: | Guest user |
Date: | mercredi 15 janvier 2025, 16:49 |
Table des matières
- 1. Introduction
- 2. Chargement des données de parcelles
- 3. Créer un GeoPackage
- 4. Téléchargement d’une image Sentinel 2 récente
- 5. Empiler et découper les images
- 6. Calcul du NDVI
- 7. Calcul des statistiques de zone
- 8. Téléchargement de données WaPOR
- 9. Calcul d’aires et de périmètres
- 10. Créer des nuages de points
1. Introduction
Dans ce chapitre, vous apprendrez à utiliser les statistiques de zone.
Avec les statistiques de zone, vous pouvez calculer les statistiques d'un raster pour chaque polygone dans un fichier vecteur de polygones.
Tout d'abord, vous allez télécharger une image Sentinel 2 récente. Ensuite, vous calculerez le NDVI (Indice de végétation par différence normalisée) à partir des bandes Sentinel 2 en utilisant la calculatrice raster de QGIS. Enfin, vous utiliserez la couche contenant les parcelles pour calculer la moyenne, l'écart type, le minimum et le maximum pour les valeurs de NDVI pour chaque parcelle. Vous ajouterez également la taille (aire et périmètre) des polygones de parcelles comme attribut dans le fichier des parcelles.
Vous répéterez l'opération de statistiques de zone sur les données WaPOR 3 de 20 m.
2. Chargement des données de parcelles
1. Ouvrez un nouveau projet QGIS Desktop
2. Allez au panneau Explorateur et cherchez les données de la Leçon 2.
3. Cliquez droit sur le dossier avec les données et choisissez Ajouter aux marque-pages depuis le menu.
4. Ce marque page apparaitra maintenant en haut de l’Explorateur ce qui vous permet un accès rapide aux dossiers que vous utilisez souvent.
5. Développez polygone_308UE.shp
en cliquant la flèche
noire. Développez ensuite Champs.
Vous pouvez ainsi facilement explorer les attributs
des couches vecteurs avant de les ouvrir dans QGIS.
6. Cliquez droit sur polygone_308UE.shp
et choisissez Propriétés
de la couche….
- Vérifiez les Propriétés de la couche. Quelle est la projection de la couche ?
7. Faites glisser la couche depuis l’Explorateur vers la canevas de carte.
Pour obtenir plus de contexte nous allons ajouter une
carte haute résolution de Google en arrière-plan avec le plugin QuickMapServices.
8. Dans le menu principal, sélectionnez Extensions |
Installer/Gérer les extensions.
10. Cliquez Fermer.
11. Dans le menu principal sélectionnez Internet | QuickMapServices | Settings.
12. Dans la fenêtre de dialogue de QuickMapServices allez à l’onglet More services et cliquez Get contributed pack.
13. Cliquez OK dans la fenêtre popup puis Enregistrer.
Vous avez maintenant accès à de nombreux raster (XYZ tiles).
14. Retournez au menu principal et sélectionnez Internet | QuickMapServices | Google | Google Satellite.
Vous pouvez maintenant voir les parcelles superposées sur l'image satellite de haute résolution.
15. Dans le panneau Couches, sélectionnez la couche polygone_308UE et ouvrez le style de couche en cliquant .
16. Dans le panneau Style de couche sélectionnez Catégorisé. Dans Valeur, sélectionnez crop_type. Utilisez ‘random colors’ (couleurs aléatoires) et cliquez Classer.
Vous voyez maintenant les différentes cultures de différentes couleurs sur la carte.
Notez que le dernier élément de la légende toutes les autres valeurs est ajouté pour représenter les polygones avec des valeurs nulles (NULL).3. Créer un GeoPackage
La couche de polygones couvre une zone trop large.
Concentrons-nous sur la zone représentée ci-dessus.
1. Zoomez sur les parcelles de l’image.
2. Dans la barre d’outils cliquez sur pour sélectionnez les parcelles sur la carte.
3. Dans le panneau Couches, cliquez droit sur polygone_308UE et choisissez Exporter | Sauvegarder les entités sélectionnées sous….
4. Modifiez le Format pour sélectionner GeoPackage.
5. Cliquez pour choisir le dossier où les données de cet exercice
sont sauvegardées. Enregistrez le GeoPackage sous le nom database.gpkg
.
6. Tapez parcels pour Nom de la couche.
7. Changez le SCR à EPSG:30791.
8. Cliquez OK.
L’outil va maintenant reprojeter les polygones
sélectionnés et les enregistrer dans un nouveau GeoPackage.
Vous avez probablement remarqué que la nouvelle couche
a maintenant un style par défaut. Nous pouvons copier le style de la couche
originale et l’appliquer à la nouvelle couche.
9. Dans le panneau Couches, cliquez droit sur polygone_308UE et choisissez Styles | Copier le style | Toutes les catégories de style.
10. Cliquez droit sur database – parcels et choisissez Styles | Coller le style | Toutes les catégories de style.
11. Retirez la couche polygone_308UE.
Sauvegardons aussi notre projet dans le GeoPackage.
12. Dans le menu principal, sélectionnez Projet | Enregistrer sous | GeoPackage….
13. Dans la fenêtre popup naviguez jusqu’à votre GeoPackage et enregistrez-y votre projet.
L’image satellite haute résolution n’est pas
appropriée pour faire les calculs dont nous avons besoin. Nous allons donc
télécharger une autre image.
4. Téléchargement d’une image Sentinel 2 récente
Pour commencer, nous allons télécharger une image récente de Sentinel 2 pour notre zone d’étude. Nous utiliserons les bandes rouge et infrarouge proche (near infrared, NIR) pour calculer le NDVI. La résolution spatiale des bandes rouge et NIR est de 10m.
Pour télècharger les bandes de Sentinel 2, nous allons utiliser l’extension (plugin) STAC API Browser. STAC signifie SpatioTemporal Asset Catalogs ou Catalogue de ressources spatio-temporelles ce qui est un standard pour partager les données spatio-temporelles.1. Installez l’extension STAC API Browser à partir du gestionnaire d’extensions : dans le menu principal, allez à Extensions | Installer/gérer les extensions....
2. Dans la barre d’outils, cliquez sur l’icône pour ouvrir la fenêtre de dialogue du STAC API Browser.
3. Choisissez Microsoft Planetary Computer STAC API, Fetch collections, puis Sentinel-2 Level-2A.
4. Cochez la case Filter by date et choisissiez un intervalle de dates dans le mois passé.
5. Cochez la case Extent et utilisez l’étendue de la couche parcels que vous avez crée précédemment.
6. Cliquez sur Search.
Vous verrez maintenant les résultats de la recherche. Vous aurez un aperçu de l'image ainsi qu'une description comprenant la date d'acquisition et le pourcentage de couverture nuageuse. Si vous ne voyez que des images nuageuses, veuillez étendre la plage de dates.
7. Si vous avez trouvé une image sans nuages , cliquez sur View assets.
Maintenant, vous verrez les bandes disponibles. Pour le calcul du NDVI, nous avons besoin des bandes rouge (R) et proche infrarouge (NIR) , qui sont respectivement les bandes 4 et 8.
8. Nous les ajouterons comme couches temporaires: cochez les cases Bande 4 et Bande 8 devant Select to add as layer. Cliquez ensuite sur Add selected assets as layers (2).
9. Les bandes sont maintenant ajoutées à la carte.
Notez qu'il s'agit de couches temporaires. Si vous souhaitez les conserver, vous devez choisir Select to download. Vous pouvez aussi les rendre permanentes en les exportant vers un GeoTIFF sur votre disque dur.
5. Empiler et découper les images
L'image téléchargée couvre une zone plus étendue que notre zone d'étude et chaque bande est dans un raster séparé.
L'avantage d'utiliser un raster virtuel est qu'il n'est pas nécessaire de copier toutes les données ; seul un petit fichier est créé. Il est idéal pour les données intermédiaires pendant que vous suivez une suite d'opérations de traitement.
1. Dans le menu principal, allez à Raster | Divers | Construire un raster virtuel....
2. Dans la boite de dialogue, cliquez sur à côté de Input layers et sélectionnez les 2 bandes Sentinel.
3. Cliquez la flèche bleue où OK pour revenir à la fenêtre principale.
4. Cochez la case Place each input file into a separate band.
5. Enregistriez le résultat sous le nom
Sentinelb4_b8.vrt
et cliquez Exécuter.Nous allons maintenant découper le raster pour couvrir seulement la zone de la couche de parcelles.
6. Dans le panneau Couches, cliquez droit sur Sentinelb4_b8 et choisissez Exporter | Enregister sous....
7. Dans la boite de dialogue, choisisses
Sentinelb4_b8.tif
comme Nom de fichier et modifiez le SCR
de sortie en EPSG:30791.8. Sous Emprise choisissez Calculer depuis Couche puis database – parcels.
9. Changez la Résolution à 10 m.
10. Cliquez sur OK.
11. Retirez le raster virtuel avec les bandes Sentinel et retirez les bandes individuelles.
Nous pouvons maintenant calculer le NDVI.
6. Calcul du NDVI
Avec les bandes Sentinel 2 téléchargées dans la
section précédente, nous pouvons maintenant calculer l'indice de végétation par
différence normalisée (NDVI). L’équation du NDVI est la suivante :
NIR est la bande proche infrarouge et Red est la bande rouge. L'équation donne des valeurs comprises entre -1 et 1. Les valeurs de 0 à 1 indiquent une augmentation de la végétation verte/couverture végétale.
Nous allons utiliser la Calculatrice Raster pour calculer le NDVI.
1. Ouvrez la Calculatrice Raster depuis le menu principal Raster | Calculatrice Raster....2. Dans Calculatrice Raster tapez l’expression telle quelle est ci-dessous et enregistrez les résultats en GeoTIFF sous le nom
ndvi.tif
.Sous Raster Bandes, les couches raster sont répertoriées. S'il s'agit d'un raster multibandes, le @ permet d'indiquer le numéro de bande. Notez que nous ne pouvons pas stocker les noms des bandes, ce qui constitue une limitation importante.
3. Cliquez sur OK pour effectuer l’opération.
Une fois l’opération effectuée, le résultat apparait sur la carte.
Ouvrez la fenetre de Style de Couche et utilisez Pseudo-couleur à bande unique pour choisir une échelle de couleurs utile à la représentation du NDVI.
Certains pixels ont des valeurs négatives et selon la définition du NDVI, ceux-ci ne doivent pas avoir de végétation.
Créons un raster booléen, avec Vrai (1) pour le NDVI négatif et Faux (0) pour le NDVI positif.5. Revenez
à la Calculatrice raster et créez l'expression
"ndvi@1" < 0
6. Au lieu de sauvegarder le résultat de l’opération en tant que couche permanente, cochez la case Créer un raster à la volée au lieu d’écrire la couche sur le disque. Utilisez nonveg comme Nom de la couche.
7. Cliquez sur OK pour effectuer l’opération.
8. Ouvrez la fenêtre de Style de Couche et assurez-vous que la couche nonveg est activée.
- Quel type de représentation doit-on utiliser pour la
couche nonveg ?
9. Modifiez la représentation de Bande grise unique à Palette/Valeurs uniques.
10. Cliquez sur Classer.
11. Retirez les zeros en sélectionnant la rangée et en cliquant sur . Choisissez le rouge pour la valeur 1.
13. Inspectez les pixels sans végétation
- à quoi correspondent-ils?
7. Calcul des statistiques de zone
Dans cette section, nous utiliserons un outil de la Boite à outils de traitement pour
calculer les statistiques de zone de la couche NDVI à l'aide des polygones de
parcelles. La boîte à outils de traitement de QGIS fournit de nombreux outils
pour traiter les données SIG. Outre les outils QGIS, elle propose également des
outils de GDAL, GRASS et SAGA qui sont très utiles.
1. Vous pouvez activer la Boite à outils de traitement en choisissant Traitement | Boite à outils depuis le menu principal. Vous pouvez aussi cliquez sur le bouton .
Le panneau Boite
à outils de traitement apparaitra.
2. Dans Boite à outils de traitement cliquez sur Analyse raster | Statistiques de zone (où utilisez la barre de recherche):
3. Dans la boite de dialogue, choisissez parcels comme Couche source et ndvi comme Couche raster. Changez le Préfixe de la colonne en sortie à NDVI_ pour pouvoir distinguer ce calcul des autres que nous effectuerons plus tard.
4. Cliquez sur pour choisir les statistiques que vous souhaitez
calculer. Choisissez Moyenne, Ecart-type, Minimum et Maximum et
cliquez sur OK.
5. Dans le champ Zonal Statistics, utilisez le
menu déroulant pour choisir Enregistrer dans un GeoPackage. Naviguez
jusqu’au GeoPackage de ce projet et indiquez dans la fenêtre popup que vous
voulez appeler la couche parcels with ndvi.
6. Cliquez sur Executer. Cliquez sur Fermer après l’opération pour fermer la fenêtre.
Vous verrez l’erreur ci-dessous. Cela signifie qu'il
existe des erreurs géométriques dans la couche de parcelles que nous devons
corriger avant de pouvoir continuer.
7. Allez à la Boite à outils de traitement.
8. Dans la barre d’outils, cliquez sur Éditer les entités sur place .
Une fois cette option activée, nous n'avons pas besoin
de créer une copie de notre couche et les modifications seront directement
enregistrées dans la couche d'origine.
9. Assurez-vous que la couche des parcelles est activée dans le panneau Couches et sélectionnez Géométrie vectorielle | Réparer les géométries dans le menu principal.
10. Gardez les options par défaut et cliquez sur Modifier toutes les entités.
11. Cliquez sur Fermer après l’opération.
12. Sur la barre d’outils, cliquez sur pour sortir du mode édition et confirmez que vous voulez enregistrer vos modifications.
13. Répétez les étapes 2 – 6. Vous pouvez facilement le faire en cliquant sur dans la barre d'outils de Boite à outils de traitement. Cherchez votre exécution précédente des Statistiques de zone et double cliquez dessus. Tout sera déjà rempli comme vous l'avez fait auparavant.
14. Cliquez sur Exécuter.
Maintenant l’opération est réussie.
15. Cliquez sur Fermer.
16. Vérifiez les statistiques calculées par parcelle dans la table attributaire.
17. Modifiez le style de parcels with ndvi en utilisant la représentation Graduée et utilisez une échelle de couleurs verte pour visualiser le NDVI moyen des parcelles.
On peut facilement visualiser les autres statistiques
en dupliquant la couche parcelles with ndvi.
18. Dans le panneau Couches, cliquez-droit sur parcels with ndvi et choisissez Dupliquer la couche depuis le menu.
19. Renommez la couche originelle parcels with ndvi avec le nouveau nom : parcels with mean ndvi.
20. Renommez parcels with ndvi copie avec le nouveau nom : parcels with max ndvi.
21. Cachez parcels with mean ndvi et rendez parcels with max ndvi visible.
22. Modifiez le style de parcels with max ndvi.
23. Répétez cette opération pour les autres statistiques et choisissez une bonne représentation.
8. Téléchargement de données WaPOR
Nous allons maintenant télécharger les données WaPOR et
calculer leurs statistiques selon nos parcelles.
1. Allez à : https://data.apps.fao.org/wapor/?lang=fr
2. Login
3. Cliquez sur Commencer la visite.
4. Allez à Sub-National | Algeria | Mitidja.
5. Cliquez sur Actual evapotranspiration and interception (Mitidja, Algeria – Monthly – 20m) – WaPOR v3.
6. Lisez les métadonnées.
7. Cliquez sur Download the data from the bucket.
8. Téléchargez le fichier .tiff pour le même mois que votre image NDVI (où aussi proche que possible) en cliquant sur .
9. Localisez la couche dans l’Explorateur sous Marque-pages et faites la glisser sur la carte.
Les données WaPOR ne sont pas dans la même projection
que la couche parcelles. Elles couvrent également une zone beaucoup plus vaste.
Rectifions cela.
10. Cliquez droit sur le raster WaPOR choisissez Exporter | Enregistrer sous….
11. Dans la fenêtre de dialogue, enregistrez le résultat en GeoTIFF (utilisez la date dans le nom), avec le SCR EPSG:30791. Sous Emprise, cliquez sur Calculer depuis Couche choisissez la couche des parcelles. Tapez la valeur de 20 m pour la résolution.
12. Allez au panneau Style de couche et modifiez le style de la couche.
- Le raster est-il booléen, discret ou continu ?
- Quelle représentation faut-il utiliser ?
13. Calculez maintenant les statistiques zonales pour cette couche WaPOR pour les parcelles. Utilisez la couche parcelles with ndvi comme entrée, afin que les statistiques soient ajoutées à la table attributaire avec AETI_ comme préfixe.
14. Répétez l’opération pour la production primaire nette de WaPOR : WaPOR Net primary production (Mitidja, Algeria – Monthly – 20m) – WaPOR v3.
15. Modifiez le style de tous les rasters et résultats sur parcelles pour avoir des couleurs intuitives.
9. Calcul d’aires et de périmètres
Outre les statistiques zonales, nous souhaitons
souvent connaître la superficie et le périmètre des parcelles.
1. Ouvrez la table attributaire de la couche des parcelles, qui contient toutes les statistiques calculées dans la section précédente.
2. Cliquez sur pour activer le mode édition.
3. Cliquez sur pour ouvrir la calculatrice de champ.
4. Tapez surface
en tant que Nom.
Changez Type à Nombre décimal (réel).
5. Dans le panneau du milieu, développez Géométrie et double-cliquez sur $area
. Vous pouvez lire l'explication de la fonction dans
le panneau de droite.
Le dialogue devrait maintenant ressembler à
ceci :
6. Cliquez sur OK.
7. Vérifiez les resultats.
- Quelles sont les unités?
- Quelle expression doit-on utiliser pour calculer la surface en ha ?
9. Cliquez sur pour désactiver le mode édition et confirmer que vous souhaitez enregistrer le résultat.
10. Fermez la table attributaire.
10. Créer des nuages de points
Vous pouvez exporter les tables attributaires vers une
feuille de calcul pour effectuer une analyse plus approfondie. Ici, nous
utiliserons le plugin Data Plotly
pour créer un nuage de points.
1. Installez l’extension Data Plotly depuis le gestionnaire d’extensions.
2. Cliquez sur pour ouvrir le panneau Data Plotly. Fermez les autres panneaux s'ils vous bloquent.
Créons d'abord un nuage de points entre la moyenne du NDVI et la NPP.
3. Assurez-vous que le Type de graphique est défini sur Scatter Plot et que Couche est la couche contenant toutes les statistiques (NDVI, AETI et NPP).
4. Pour Champ X, choisissez NDVI_mean et pour Champ Y, choisissez NPP_mean. Modifiez les autres paramètres si vous le souhaitez.
5. Cliquez sur .
6. Donnez un titre au graphique et modifiez les étiquettes X et Y.
7. En bas du panneau, cliquez sur Créer le graphique.
8. Vérifiez le résultat.
9. Cliquez sur Effacer le graphique puis répétez l'opération pour AETI versus NDVI et AETI versus NPP.