Introduction aux systèmes d'information géographique avec QGIS et GRASS
Centre de la science de la biodiversité du Québec
Guillaume Larocque, Professionnel de recherche. (guillaume.larocque@mcgill.ca)
Présentation
1 - Installation de QGIS et GRASS
QGIS 3.4 et GRASS 7 seront utilisés pour cet atelier. Veuillez vous assurer d'avoir les logiciels proprement installés sur votre ordinateur avant l'atelier.
Installez simplement QGIS et GRASS avec le programme d'installation disponible ici.
2 - Ressources
Générales
- The Geospatial Desktop - Un livre récent qui couvre QGIS et GRASS.
- GIS Stack Exchange - Un système où les utilisateurs peuvent poser des questions et recevoir des réponses de la communauté.
QGIS
- Le guide d'utilisation de QGIS en français est disponible ici.
- Accédez au GIS Stackexchange
- QGIS Tutorials and tip by Ujaval Gandhi.
- Le manuel d'exercices QGIS. Guide détaillé d'utilisation de QGIS, avec des exemples pour aider à l'apprentissage. Une version papier est aussi disponible.
- The Geospatial Desktop - Livre qui offre une bonne introduction aux logiciels SIG libres. Ce site web est consacré au livre.
- Inscrivez-vous au QGIS-User mailing list ici.
GRASS
- Lire Open Source GIS: A Grass Approach en ligne sur le site de Springer (accès restreint selon votre institution).
- Inscrivez-vous à la liste d'envoi de GRASS.
- Accédez au wiki de GRASS.
Portails pour le téléchargement de données géo-spatiales
3 - Historique des SIG libres
Le “Geographic Resources Analysis Support System” (GRASS) est un des systèmes d'information géographique les plus anciens qui est toujours en utilisation active aujourd'hui. Ce logiciel a été développé à l'origine au début des années 1980 par l'armée Américaine comme outil de gestion pour les applications militaires. Ce qui était à l'origine un logiciel avec ligne de commande ne fonctionnant que sur des sytèmes Unix a évolué pour devenir un outil libre et multi-plateformes offrant des possibilités pour l'affichage et l'analyse de données vectorielles et matricielles, pour le traitement d'images, la télémétrie, la gestion de base de données, et beaucoup plus. Ces dernières années, GRASS s'est intégré à la fondation OsGeo (Open Source Geospatial Fondation), une organisation sans buts lucratifs qui s'est donné pour mission de supporter et de promouvoir le développement collaboratif de technologies et de données géospatiales libres et gratuites. Cette fondation supporte aussi de nombreux autres projets pour la cartographie sur le web et les SIG, ainsi que des bibliothèques variées pour la conversion, l'entreposage et l'intéropérabilité des données géospatiales. Un des projets supporté par OSGeo est Quantum GIS (QGIS), un SIG avec un interface convivial et multi-plateformes pour l'affichage, l'édition et le traitement de données géospatiales vectorielles et raster. Les possibilités offertes par QGIS peuvent être grandement étendues grâce à de multiples extensions développées par les utilisateurs du logiciel. Un des aspects intéressants de QGIS est son intégration possible avec GRASS, permettant à l'utilisateur d'effectuer plusieurs opérations de GRASS dans QGIS. Ces multiples possibilités font de QGIS un SIG très polyvalent.
Autres Systèmes d'information géographique libres et gratuits potentiellement intéressants:
- uDIG - Un SIG intéressant et convivial écrit en Java pour l'accès, l'édition et la visualisation de données géospatiales. Ce logiciel est présentement en développement actif.
- SAGA GIS - (System for Automated Geoscientific Analyses) Un SIG qui a de nombreuses fonctions pour l'analyse de données spatiales avancée.
- ILWIS Open - Un SIG et logiciel pour la télémétrie qui intègre des données matricielles, vectorielles et thématiques.
- Whitebox GAT - Powerful software for geo-spatial analysis, modeling and remote sensing.
- ORFEO toolbox - Plate-forme ouverte pour le traitement d'images issues de la télédétection.
- OpenJUMP GIS - La version actuelle de OpenJUMP peut lire et écrire des shapefiles et autres fichiers vectoriels, et offre peu de possibilités pour le traitement d'images. Dans son état actuel, ce logiciel peut être utilisé pour visualiser des données SIG ou pour l'édition simple de la géométrie et des attributs de données vectorielles.
Note: vous pouvez comparer les possibilités offertes avec les logiciels d'aujourd'hui avec le premier SIG créé en 1965 pour le Canada Land Inventory. Voir ces vidéos sur Youtube: Data for decision Part I, Part II et Part III.
4 - Démarrer
- Ouvrir QGIS - Sélectionnez Extensions > Gérer les extensions, et activez (au minimum) fTools, 'Ajouter une couche de texte délimité' et 'GdalTools'.
Des menus apparaîtront maintenant dans QGIS avec des options pour l'analyse vectorielle (fTools), analyse raster (GdalTools) et de nombreux autres extensions (sous l'onglet extension).
- Sélectionnez Préférences> Options > SCR, et cliquez sur 'Activez la reprojection 'à la volée' par default'.
- Démarrez un Nouveau projet ou fermez et ré-ouvrez QGIS.
Maintenant, les couches sous différents systèmes de références seront re-projetées de façon dynamique.
Téléchargez les fichiers qui seront utilisés pour les exercices
Cliquez ici pour télécharger le fichier ZIP contenant tous les fichiers requis pour les exercices.
5 - Exercices
Exercice 1 - Numérisation et affichage
Objectif: Créez une carte sur laquelle on peut voir les deux forêts appartenant à l'Université McGill dans l'Ouest de l'île de Montréal: L'Arboretum Morgan et la Réserve Molson. Faites une proposition d'agrandissement de ces réserves et créez une carte sur laquelle apparaissent les réserves et les agrandissements.
Étape 1: Créez un fichier dans un éditeur de texte (e.g. Notepad sur Windows ou TextEdit sur Mac) et y copier le texte suivant:
ID,Nom,Long,Lat 1,MorganArboretum,-73.9541,45.4303 2,MolsonReserve,-73.9763,45.3943
Sauvez-le ensuite avec un extension .csv. Dans QGIS, ajoutez ce fichier comme couche vectorielle en sélectionnant l'option 'Ajoutez une couche de texte délimitée'. Utilisez Longitude pour la colonne des X et Latitude pour la colonne des Y et indiquez que le fichier est séparé par des virgules. Dans la fenêtre suivante, spécifiez Système de Coordonnée geographique>WGS 84 comme SCR. Vous devriez maintenant voir apparaître deux points indiquant la localisation de la Réserve Molson et de l'Arboretum Morgan.
Étape 2: Cliquez sur Extensions et ajoutez l'extension QuickMapServices. Activez cette extension en la cochant dans la liste des extensions disponibles. Ensuite, cliquez sur Internet>QuickMapServices>Google>Google Hybrid pour ajouter un fond de carte Google.
Alternative à l'étape 2: Ajoutez une couche 'Google Satellite' en Cliquant sur Explorateur (en bas à gauche) et sur XYZ Tiles. Cliquez sur le bouton de droite et sur Nouvelle connexion. Pour Nom, mettre 'Google satellite'. Pour URL mettre
http://mt0.google.com/vt/lyrs=y&hl=en&x={x}&y={y}&z={z}&s=Ga
Notez que le SCR du canevas est maintenant 'Google Mercator' (WGS 84 / Pseudo mercator). Déplacez cette couche en dessous du canevas en cliquant-glissant le nom de la couche vers le bas dans la table des couches à gauche. Autre source de couches (https://leaflet-extras.github.io/leaflet-providers/preview/).
Étape 3: Cliquez sur le menu de changement de SCR en bas à droite. Changez le SCR pour NAD83/UTM Zone 18N.
Étape 4: Numérisez la Réserve Molson et l'Arboretum Morgan. Vous devez d'abord ajouter une nouvelle couche Geopackage de type polygone (Couche>Créer une couche>Créer une couche Geopackage) avec un SCR NAD 83/UTM 18N. Ajouter un nouveau champ pour le nom (Donnée Texte, longueur 80). Donnez à ce fichier Geopackage un nom approprié (e.g. Reserves_McGill). Activer le mode édition (>Couche>Basculer en mode édition) et numérisez les deux réserves en cliquant sur l'icône . Pour vous aider à numériser les deux réserves, utilisez les points que vous avez importés à partir du fichier CSV. Pour la réserve Molson, numérisez la forêt située entre le boulevard résidentiel (Boul Perrot) et l'autoroute 20. Pour l'Arboretum, numérisez la région boisée située autour du point central. L'Arboretum fait approximativement 250 hectares. Ajoutez maintenant des polygones adjacents pour indiquer de quelle façon vous prévoyez étendre les réserves. Pour ce faire, il est important d'activer l'option d'accrochage en cliquant sur l'icône d'aimant rouge et de spécifier un tolérance de 20 m. Si vous ne voyez pas l'aimant rouge, activez la barre d'outils de numérisation sous Vue>Barre d'outils.
Étape 5: Sortez du mode édition en cliquant sur l'icône de crayon et sauvez cette couche.
Étape 6: Désactivez la couche Google Satellite.
Étape 7: À partir du menu 'Propriétés de la couche', changez les couleurs des deux réserves à partir de l'onglet Symbologie. Choisissez 'Catégorisé', spécifiez la colonne contenant les noms des réserves, et choisissez une Palette “Random colors”, avant de cliquer sur Classer. Cliquez sur la case de couleur à côté de chacune des réserves pour choisir une couleur à votre goût. Depuis l'onglet étiquettes, ajoutez ensuite des étiquettes (simples) spécifiant le nom des réserves et définissez des étiquettes pour les extensions des réserves que vous proposez.
Étape 8: Ajoutez-y les routes (Routes.shp), les autres régions boisées (region_boise.shp) et les étendues d'eau (Region_hydrique.shp) à partir du fichier .zip. Définissez des couleurs et des styles de lignes appropriées pour chaque couche en utilisant l'onglet Symbologie dans le menu >Propriétés de la couche.
Étape 9: Cliquez sur Projet>Nouvelle mise en page. Créez une carte qui montre les réserves que vous avez numérisés, les routes et les cours d'eau. Note: pour ajouter la carte sur la page blanche, vous devez cliquer sur l'icône 'Ajouter une nouvelle carte' et cliquer-glisser sur la feuille blanche pour définir l'étendue de la carte sur la feuille.
=-=-=-=-=-=-=-=-=-=-=-=-
DÉFI 1: Ajoutez les pipelines et emprises de lignes hydro-électriques (powerlines) en utilisant le plugin Quick OSM.
DÉFI 2: Ajoutez à votre carte les milieux humides en format Shapefile téléchargés depuis le portail de données ouvertes de la ville Montréal (http://donnees.ville.montreal.qc.ca/). Mettre une palette de couleurs qui est fonction de la grandeur de la zone humide.
DÉFI 3: Mettre le fond de carte suivant: https://leaflet-extras.github.io/leaflet-providers/preview/#filter=Stamen.Watercolor.
DÉFI 4: Visualisez votre carte dans un fureteur en utilisant l'application gis2web.
Exercice 2 - Tampons et analyses simples
Objectif: Trouver la proportion de voteurs vivant à moins de 500 m d'une région boisée plus grande que 10 hectares dans le district électoral de Jacques-Cartier dans l'Ouest de l'île de Montréal.
Étape 1: Démarrez un nouveau projet et ajoutez la couche nommée 'sections_vote_31h5.shp'. Convertissez ce fichier en NAD 83/UTM 18N en les sauvant sous de nouveaux fichiers (Bouton de droite de la souris sur le nom de la couche>Exporter>Sauvegarder les entités sous… Sélectionnez le format Geopackage et appelez le fichier 'Exercice 1' et cliquez sur les (…) pour choisir un endroit approprié pour le mettre sur votre ordinateur. Mettre un nom de couche approprié et spécifier le bon SCR. Répétez ces étapes pour ajouter la couche 'region_boisés.shp' au même fichier Geopackage dans le même SCR.
Étape 2: Spécifiez NAD83/UTM 18N pour le SCR du canevas. Ajoutez-y les deux nouveaux fichiers que vous avez sauvés. Enlevez le fichiers en WGS 84.
Étape 3: Ouvrez la table d'attribut de la couche régions boisées (en cliquant sur le nom de la couche… table d'attributs) et ajoutez-y une colonne spécifiant la superficie de chaque région en hectares. Pour ce faire, passez en mode édition (icône crayon), utilisez la calculatrice de champs (icône de calculatrice en haut) et utilisez l'opérateur Géométrie→$area. Note: le système de coordonnées UTM est en mètres et 1 hectare= 10 000 mètres carrés. Important: spécifiez Nombre décimal (Réel) et augmentez la précision à 2. Sortez du mode édition.
Étape 4: Effectuez une requête (>Couche>Filtrer) pour isoler les surfaces boisées de plus de 10 hectares. Notez que vous ne pouvez pas effectuer de requêtes en mode édition.
Étape 5: Créez un nouveau fichier Geopackage avec un tampon de 500 m entourant ces surfaces boisées (Boîte à outils de géotraitement>Géométrie vectorielle>Tampon). Spécifiez le champs distance et laissez les autres champs aux valeurs par défaut. Dans le champs Mise en Tampon, cliquez sur […] et Enregistrer dans le fichier Geopackage créé plus tôt (Exercice1).
Étape 6: Ajouter une colonne définissant l'aire de chaque polygone dans la table d'attributs de sections_vote_31h5. Ceci nous donne la superficie totale de chaque zone de vote en mètres.
Étape 7: Effectuez une requête (Filtre) pour ne sélectionner que le district électoral Jacques-Cartier (colonne TRI_CEP).
Étape 8: Utilisez la fonction Vecteur>Outils d'analyse>Statistiques basiques pour les champs, pour trouver la somme de la colonne 2008_12_08.
Étape 9: Utilisez la fonction 'Vecteur…Outils de géotraitement…Coupez (Clip)' pour générer une couche vecteur ne contenant que la partie des sections de vote du district électoral Jacques-Cartier qui se situent à l'intérieur du tampon de 500 mètres. Notez que la couche source doit contenir les sections de votes, et le tampon est la couche de superposition.
Étape 10: Ajoutez une nouvelle colonne dans la table d'attributs contenant l'aire de chaque zone de vote après le découpage, donc qui est située à moins de 500 mètres d'un forêt. ($area sur le résultat de l'étape 9).
Étape 11: Afin d'estimer le nombre de voteurs à l'intérieur du tampon de 500 m, nous allons supposer que le nombre de voteurs est proportionnel à la superficie de chaque zone et calculer la proportion de chaque zone qui est à l'intérieur du tampon. Ouvrez la table d'attributs de la couche shapefile créée à l'étape 9. Ajoutez une nouvelle colonne contenant le nombre de voteurs (Colonne 2008_12_08) multiplié par la proportion de l'aire de chaque zone située à l'intérieur du tampon.
2008_12_08*(superficie après le découpage calculée à l'étape 10)/(aire avant le découpage calculée à l'étape 6).
Étape 12: Utilisez la fonction Vecteur>Outils d'analyses>'Statistiques basiques pour les champs' pour trouver la somme de la colonne 2008_12_08. Calculez la proportion de voteurs vivant à moins de 500 m d'une région boisée plus grande que 10 hectares dans le district électoral de Jacques-Cartier en utilisant le résultat de l'étape 8.
=-=-=-=-=-=-=-=-=-=-
DÉFI 1 : Trouvez quel district électoral (Colonne TRI_CEP) sur cette carte contient la plus grande longueur cumulée de routes (fichier 'routes.shp'). Utilisez les fonctions 'Regrouper' et 'Somme des longueurs de lignes' (dans le menu >Vecteurs).
DÉFI 2 : Trouvez la superficie totale de milieux humides de type marécage dans la section de votre no.8124.
Exercice 3 - Interpolation et manipulation de rasters dans QGIS
Objectif: créer deux cartes comparant la distribution spatiale des populations de paruline couronnée au Québec de 1980-1995 et de 1995-2010, à partir de données du Relevé des oiseaux nicheurs (BBS).
Étape 1: Créez un nouveau projet.
Étape 2: Ajoutez le fichier CSV nommé 'BBS_Routes_QC.csv' au canevas en utilisant la fonction 'Ajouter une couche de texte délimitée' (Choisissez 'Délimiteurs sélectionnés->virgule) et spécifiez le CRS NAD83 (Latitude, Longitude- Géographique).
Étape 3: Sauvegardez cette couche comme couches dans un fichier Geopackage créé pour l'exercice 3 avec le SCR: NAD83 Quebec Lambert.
Étape 4: Ajoutez le fichier 'province.shp' au canevas. Sélectionnez la province de Québec et sauvegardez le polygone sous un nouvelle couche Geopackage avec le SCR Quebec Lambert (NAD83).
Étape 5: Changez le SCR du canevas pour Quebec Lambert (NAD83). Enlevez les couches en format Shapefile WGS 84.
Étape 6: Ajoutez la table non-spatiale qui contient les données d'abondance de la paruline 'BBS_Ovenbird_QC.csv' au canevas en utilisant '>Couche>Ajoutez une couche vecteur' et en listant tous les fichier (oui, cette étape est contre-intuitive!).
Étape 7: À partir du menu 'Propriétés de la couche' de 'BBS_Routes_QC', trouvez l'onglet Jointure et joignez la table BBS_Routes et BBS_Ovenbird_QC en utilisant la colonne partagée 'Route' (choisissez 'Route' pour les deux tables). Désélectionnez la case qui indique “Mettre la couche en cache dans la mémoire virtuelle”. Vous devriez maintenant voir le nombre d'observation de parulines par année apparaître dans la table des attributs du fichier 'BBS_Routes_QC'.
Étape 8: Utilisez la 'Calculatrice de Champs' pour ajouter une nouvelle colonne (Nombre entier) à la table BBS_Routes qui contient la somme du nombre d'oiseaux aperçus entre 1980-1994 et 1995-2010. Chaque champ doit être sélectionné un à un depuis “Champs et valeurs” (désolé!). Le type de colonne doit être 'Nombre entier' (longueur 10 ou plus). Les noms des colonnes doivent contenir moins de 10 caractères, doivent commencer par une lettre et ne doivent pas contenir d'espaces ou de caractères spéciaux.
Étape 9: Sauvegardez les changements et sortez du mode d'édition. Les observations par année peuvent être enlevées en désactivant la jointure. Notez que seuls les nouveaux champs créés font vraiment partie de la couche BBS_Routes_QC.
Étape 10: Vous allez maintenant créer une surface interpolée (continue) afin de visualiser la répartition des parulines couronnées pour chaque période. Assurez-vous que le canevas utilise le même SCR que celui du fichier BBS_Routes_QC. Trouvez Interpolation IDW dans la boîte à outil de géotraitement. Spécifier BBS_Routes_QC avec la colonne correspondant à la période 1980-1994 comme Attribut d'interpolation et ajoutez la couche en entrée. Vous devez définir le nombre de colonnes, le nombre de lignes et l'emprise, de façon à obtenir un raster en sortie avec un résolution d'exactement 2km x 2km, de façon à inclure la plupart des Routes (vous pouvez exclure les points au Nord), mais en restant dans les limites de la couverture des points. Utilisez une calculatrice pour vérifier vos calculs. Cette image peut également vous aider:
Étape 11: Utilisez la fonction 'Découper selon une couche de masque' sous Raster>Extraction pour enlever de la carte interpolée les sections qui se trouvent à l'extérieur du Québec. Utilisez la couche province en Quebec Lambert comme couche de masquage.
Répétez les étapes 10-11 pour la période 1995-2010.
Étape 12: Cliquez sur la carte avec l'outil 'Identifier les entités' pour étudier les valeurs de la carte et prenez note des valeurs extrêmes. Dans la fenêtre des propriétés de la première couche interpolée, développez une palette en associant des couleurs aux valeurs de la couche (Symbologie>Type de rendu>pseudo-couleurs à bande unique). Choisissez une interpolation linéaire, cliquez sur le symbole '+' et définissez trois nombres couvrant l'étendu des valeurs sur la carte. Choisissez trois couleurs correspondantes qui offrent un bon contraste. Sauvegardez ce style en cliquant sur Style>Sauvegarder le style, et donnez-lui un nom. Pour le raster couvrant la période de 1995-2010, chargez le style que vous venez de sauvegarder. La même palette de couleurs devrait apparaître pour les deux périodes.
Notez-vous une différence dans l'aire de répartition des parulines couronnées entre les deux périodes?
DÉFI 1: Ajoutez une colonne au fichier BBS Routes contenant la température annuelle moyenne (de la couche raster Quebec_mat_tenths.txt en degrés C x 10) dans un rayon de 20 km autour de chaque route. Vous aurez besoin de l'outil de Statistiques de zones.
DÉFI 2: Recréez vos raster interpolés avec la distribution de parulines couronnées en utilisant l'outil “Multi-level B-Spline Interpolation” dans Saga. Utilisez la boite à outils de géotraitement. Comparez ces cartes avec celles que vous avez obtenues avec la pondération en fonction de l'inverse de la distance (Inverse Distance Weighting).
Exercice 4 - Téléchargement de fichiers, récapitulation et défi!
Pour cet exercice, vous devez extraire l'élévation moyenne ainsi que la couverture du sol à des sites d’occurrence de Global Biodiversity Information Facility (GBIF) se trouvant dans le territoire autochtone de Wemindji, dans la région de la Baie-James au Québec. Vous allez vouloir travailler avec le système de référence UTM 17N NAD83. Pour se faire, vous devez suivre les étapes suivantes:
- Sur le portail Gouvernement ouvert Canada, téléchargez les données raster d'élévation (Modèle numérique d'élévation du Canada) pour les zones 33D et 33E à l'échelle 1:250,000.
- Sur ce même site, téléchargez les Limites législatives des terres autochtones du Canada en format Shapefile (al_ta_ca_shp_gdm_fra.zip). Notez que la région de Wemindji se trouve à la frontière entre les zones 33D et 33E, et le fichier qui vous intéresse a la mention MODIFIE dans le nom.
- Téléchargez ce fichier ZIP qui contient un fichier raster GeoTiff de couverture du sol pour la région, ainsi qu'un fichier .qml de style/couleurs associé. Ouvrez le fichier tif dans QGIS et chargez la palette de couleurs dans l'onglet de Style des propriétés de la couche.
- Télécharger ce fichier contenant la liste des occurrences présentes dans GBIF dans la région de Wemindji avec des localisations en format latitude, longitude WGS84. Notez que ce fichier est délimité par des “TAB”.
- Vous pouvez ensuite fusionner les fichiers d'élévation raster (.tif) dans zones D et E en un seul fichier raster.
- En utilisant les coordonnées latitude, longitude, ajouter les occurrences de GBIF au canevas.
- “Découpez” les occurrences pour n'obtenir que celles présentes dans le territoire de Wemindji.
- Utiliser l'extension 'point sampling tool' pour extraire le nom de chaque espèce en latin, la couverture du sol du fichier raster et l'altitude à chaque endroit où il y a une occurrence GBIF. Pour ce faire, cliquez sur le nom des colonnes désirés dans la longue liste de couches et de colonnes. Notez que certains points contiennent un grand nombre d'occurrences.
=-=-=-=-=-=-=-=-=-=-
DÉFI 1: Utilisez l'outil “Kernel Density Estimation” dans SAGA (Outils de géotraitement) pour obtenir un raster affichant la densité des occurrences d'oiseaux dans la région de Wemindji.
DÉFI 2: Utilisez l'extension Data plotly pour générer un diagramme à barre affichant l'altitude en fonction du règne (Kingdom) des occurrences observées à Wemindji.
Exercice 5 - Manipulation de rasters et introduction à l'imagerie satellitaire
Objectif: créer une image en fausses-couleurs RVB et une carte NDVI (Normalized Difference Vegetation Index), y associer une palette de couleur et extraire le NDVI moyen pour les parcs et terrains de la région. Trouver quel parc a la végétation la moins abondante.
Étape 1: Nous allons d'abord créer une image en fausses couleurs afin de bien visualiser les contrastes. Ajoutez les bandes 2, 3 et 4 dans fichiers Landsat au canevas. Ensuite, trouvez la fonction Raster>Divers>Fusionner. Choisissez les bandes Landsat 4,3 et 2 comme fichier en source, spécifiez Landsat_432.tif comme fichier en sortie, et activez l'option 'Placer chaque fichier en entrée dans une bande séparée'. Vous devrez ensuit inverser l'ordre des couches dans les propriétés de la couche. Votre image finale devrait avoir la végétation de couleur rouge.
Étape 2: Dans la fenêtre de styles de cette couche, vous noterez que le type de rendu est défini comme 'Couleurs à bandes multiples'. Vous pouvez changer les valeurs d'intensité, contraste et saturation pour améliorer l'apparence de l'image. Vous remarquerez qu'il est facile de distinguer la végétation, les banlieues, villes et rivières sur cette carte. Vous pouvez également créer une image composite 5-4-3 et comparer les deux images.
Vous allez maintenant créer une carte de NDVI (Normalized Difference Vegetation Index).
Étape 3: Trouvez la fonction Calculatrice de raster dans la boîte à outil de traitement. Spécifiez NDVI.tif comme nom du fichier en sortie. En trouvant les bandes 3 et 4 dans le menu de gauche, obtenez l'équation suivante dans la boîte d'expression:
(bande4-bande3)/(bande3+bande4)
et spécifiez une des images Landsat comme couche de référence. Ajoutez cette image NDVI au canevas.
Étape 4: Dans la fenêtre de style de cette couche, choisissez pseudo-couleur à bande unique comme type de rendu. Choisissez la palette RdYlGn et cliquez sur classifier. Sur cette carte, les zones en verte foncé représentent des endroits ou la végétation est abondante. Les zones rougeâtres ne sont pas couvertes de végétation.
Étape 5: Ajoutez la couche parcs_terrains_sports.shp au canevas et sauvez-là sous un nouveau fichier avec le SCR NAD 83 / UTM 18N. Ajoutez ce nouveau fichier au canevas et retirez l'ancien.
Étape 6: Trouvez le menu Raster>statistiques de zone. Choisissez le fichier des parcs et terrains comme couche vectorielle et l'image NDVI comme couche raster.
Étape 7: Dans la table des attributs de la couche parcs et terrains, vous allez noter que des colonnes on été ajoutées avec les statistiques des cellules NDVI pour chaque terrain et parc. Quel parc a le NDVI moyen le plus bas? Où est-il situé? Vous pouvez cliquer sur l'icône 'Zoomer la carte sur les lignes sélectionnées' en haut de la table d'attributs pour trouver le parc en question.
=-=-=-=-=-=-=-=-=-=-
DÉFI 1: Aller sur le site web du USGS EarthExplorer http://earthexplorer.usgs.gov/ et créez un compte en cliquant sur 'register'. Ensuite, choisissez une région n'importe où dans le monde de la taille de l'île de Montréal, où vous croyez qu'il y a eu beaucoup de changements au cours des 30 dernières années. Recherchez une image Collection 1 - Landsat 4-5TM image datant de quelque part entre 1980-1984 pour cette région et prise au mois de juillet ou août, qui contient moins de 10% de nuages. Téléchargez ce fichier en format “Level 1 product”. Notez le path/row de cette image et téléchargez une image équivalente pour 2010-2014 (même mois, row et path). Ouvrez-les dans QGIS et calculez le NDVI pour chaque période. Soustrayez le NDVI de la carte ultérieure moins la première carte NDVI. Visualisez la carte résultante avec cette palette pour voir les zones où les changements dans la végétation on été les plus importants.
DÉFI 2: Utilisez la fonction “Cluster Analysis for Grids” dans Outil de géotraitement (Processing Toolbox)>SAGA pour effectuer une classification non-supervisée de vos images en utilisant les bandes 3,4,5 et 7.
Exercice 6 - Utiliser GRASS dans QGIS
Sous Windows, vous devez démarrer QGIS avec l'option “QGIS with GRASS 7 support” dans le menu Démarrer.
Étape 1: Assurez-vous que l'extension GRASS est activée et que les icônes GRASS sont bien visibles dans votre menu. Cliquez sur l'icône 'Nouveau jeu de données' et créez un nouvelle géodatabase GRASS, un nouveau secteur, choisissez le SCR NAD83/UTM 18N, spécifiez la région GRASS par défaut en utilisant l'étendue QGIS courante et choisissez un nom pour le jeu de données.
Étape 2: Sauvez le fichier routes.shp comme une nouvelle couche Geopackage avec le SCR NAD83 / UTM 18N. Faites de même avec le shapefile Region_Hydrique.
Étape 3: Vous devez maintenant importer les fichiers dans GRASS. Dans le menu Extensions>GRASS, cliquez sur 'Ouvrir les outils GRASS', cliquez sur 'Modules'>'Gestion de fichier'>'Importer dans GRASS'>'Importer un vecteur dans GRASS'>'v.in.ogr.qgis'. Sélectionnez le fichier avec les routes créé à l'étape 2 et spécifiez un nom pour le fichier en sortie. Répétez cette étape pour le fichier Région_Hydrique. Ajouter les fichiers nouvellement crées au canevas en cliquant sur l'icône 'Ajouter une couche vectorielle GRASS'.
Étape 4: Trouvez la fonction nommée r.in.gdal et importez le fichier 31h05dem.tif dans GRASS. Ajoutez cette nouvelle couche au canevas QGIS.
Étape 5: Trouvez la fonction g.region.multiple.raster et utiliser le fichier importé à l'étape 4 pour définir la région courante (entrez le nom exact de la couche dans la boîte).
Étape 6: Convertissez la couche des routes en format raster en utilisant la fonction v.to.rast.constant. Acceptez la valeur de 1 par défaut pour le Raster. Faites la même chose avec les régions hydriques.
Étape 7: Utilisez la fonction r.grow.distance pour créer une surface raster continue dans laquelle la valeur de la distance à la route la plus proche est assignée à chaque pixel. Utilisez le fichier raster des routes (Étape 6) comme fichier en entrée et spécifiez un nom pour la carte raster de distance en sortie (laissez la couche de valeurs vide). Je vous encourage à visualiser cette couche dans QGIS et comprendre ce qu'elle représente.
Étape 8: Utilisez la fonction r.null.to pour remplacer la valeur NULL par 0 dans le fichier raster Région hydrique.
Étape 9: Trouvez la console GRASS “GRASS Shell” dans la liste des fonctions et écrivez la commande suivante pour enlever les zones couvertes d'eau du fichier de l'étape 7.
r.mapcalc expression="distance_sans_eau=((region_hydrique-1)*-1)*distance_routes"
en spécifiant les bons noms pour les couches.
Étape 10: Pour exclure les zones situées à moins de 1km des routes, créez un fichier texte (dans Notepad our Text Edit) avec ce contenu:
0 thru 1000 = 0 1000 thru 99999 = 1
Étape 11: Utilisez la fonction r.reclass pour re-classifier le raster créé à l'étape 9, et en utilisant les fichiers de l'étape 10 pour définir les règles de re-classification.
Étape 12: Utilisez la fonction r.clump pour donner un identifiant unique à toutes les zones contiguës.
Étape 13: Utilisez la fonction r.stats pour obtenir l'aire de chaque zone contiguë. Vous devez cliquer sur 'Options avancées', sélectionner 'Afficher le total des aires' et mettre “-” comme nom du fichier en sortie. Vous pouvez également spécifier un nom de fichier avec une extension .txt si vous voulez sauver les résultats dans un fichier texte. Identifier la zone avec la superficie la plus grande.
Étape 14: Trouvez la console GRASS “GRASS Shell” dans la liste des fonctions et écrivez la commande suivante:
r.mapcalc "Largest_patch=if(Etape_12 == ID, 1, null())"
remplacez ID avec l'identifiant de la zone la plus grande, et Etape_12 avec le nom que vous avez donné au raster de l'Étape 12. Cette commande va créer une fichier nommé Largest_patch dans lequel la zone avec la superficie la plus grande sera isolée avec une valeur de 1. Vous pouvez ensuite afficher ce raster et changer la palette pour voir cette zone.
Étape 15: Convertissez ensuite ce fichier en vecteur avec la fonction r.to.vect.area et visualisez le dans QGIS.
Terminologie GRASS
- DATABASE (Géodatabase): Main GRASS directory.
- LOCATION (Secteur): Working directory. SCR unique.
- MAPSET (Jeu de données): Sub-directory under the LOCATION.
- REGION (Région): Définie par une étendue et une résolution spécifiques.
prefix | Description | Example |
---|---|---|
d.* | display (graphical output) | d.rast: views raster map, d.vect: views vector map |
db.* | database management | db.select: selects value(s) from table |
g.* | general file operations | g.rename: renames map |
r.* | raster data processing | r.buffer: buffer around raster features, r.mapcalc: map algebra |
i.* | image processing | i.smap: image classifier |
v.* | vector data processing | v.overlay: vector map intersections |
ps.* | postscript map creation format | ps.map: map creation in Postscript, |
r3.* | raster voxel data processing | r3.mapcalc: volume map algebra |
Liste complète des commandes GRASS est ici.