Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
introsig [2019/02/26 14:55]
qcbs [3 - Historique des SIG libres]
introsig [2020/04/03 09:04] (current)
qcbs [Introduction aux systèmes d'information géographique avec QGIS et GRASS]
Line 6: Line 6:
 Guillaume Larocque, Professionnel de recherche. (guillaume.larocque@mcgill.ca) Guillaume Larocque, Professionnel de recherche. (guillaume.larocque@mcgill.ca)
  
-29 février et 1er mars 2019, Université McGill. ​ 
  
 ===== Présentation ===== ===== Présentation =====
Line 97: Line 96:
 **É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. ​ **É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+**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 ​ 
 + 
 +<​file>​ 
 +http://​mt0.google.com/​vt/​lyrs=y&​hl=en&​x={x}&​y={y}&​z={z}&​s=Ga 
 +</​file>​
  
 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/​). 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/​).
Line 111: Line 114:
 **É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 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). Définissez des couleurs appropriées pour chaque couche en utilisant l'​onglet Symbologie dans le menu >​Propriétés de la couche. ​+**É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. **É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.
Line 122: Line 125:
  
 **DÉFI 3**: Mettre le fond de carte suivant: https://​leaflet-extras.github.io/​leaflet-providers/​preview/#​filter=Stamen.Watercolor. **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 ====== ====== Exercice 2 - Tampons et analyses simples ======
Line 143: Line 148:
 **É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 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 district ​est la couche de superposition. ​+**É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 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). 
Line 222: Line 227:
 Pour cet exercice, vous devez extraire l'​élévation moyenne ainsi que la couverture du sol à des sites d’occurrence de [[http://​www.gbif.org/​|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: ​ Pour cet exercice, vous devez extraire l'​élévation moyenne ainsi que la couverture du sol à des sites d’occurrence de [[http://​www.gbif.org/​|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 [[https://​open.canada.ca/​fr|Gouvernement ouvert Canada]], les données raster [[http://​ftp.geogratis.gc.ca/​pub/​nrcan_rncan/​elevation/​cdem_mnec/​|d'​élévation]] ​ (Modèle numérique d'​élévation du Canada) pour les zones 33D et 33E à l'​échelle 1:250,000.+  * Sur le portail [[https://​open.canada.ca/​fr|Gouvernement ouvert Canada]], ​téléchargez ​les données raster [[http://​ftp.geogratis.gc.ca/​pub/​nrcan_rncan/​elevation/​cdem_mnec/​|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.    * 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 {{::​qc_land_use_33de.zip|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échargez ce {{::​qc_land_use_33de.zip|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 {{::​occurrence.txt|ce fichier}} contenant la liste des occurrences présentes dans [[http://​www.gbif.org/​|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"​. ​   * Télécharger {{::​occurrence.txt|ce fichier}} contenant la liste des occurrences présentes dans [[http://​www.gbif.org/​|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 (.dem) en un seul fichier raster. ​+  * Vous pouvez ensuite fusionner les fichiers d'​élévation raster (.tifdans zones D et E en un seul fichier raster. ​
   * En utilisant les coordonnées latitude, longitude, ajouter les occurrences de GBIF au canevas. ​   * 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. ​   * "​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. Notez que certains points contiennent un grand nombre d'​occurrences. ​+  * 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**: Utilisez l'​outil "​Kernel Density Estimation"​ dans SAGA (Processing toolbox) pour obtenir un raster affichant la densité des occurrences d'​oiseaux dans la région de Wemindji.+=-=-=-=-=-=-=-=-=-=- 
 + 
 +**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 ====== ====== Exercice 5 - Manipulation de rasters et introduction à l'​imagerie satellitaire ======
  
Line 264: Line 273:
 ++++ ++++
  
-**DÉFI**: 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 {{:​ndvidiff.qml|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.+**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 {{:​ndvidiff.qml|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 ====== ====== 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 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 avec le SCR NAD83 / UTM 18N. Faites de même avec le shapefile Region_Hydrique. ​+**É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. ​Cliquez ​sur '​Ouvrir les outils GRASS', ​cliques ​sur 'arborescence des modules'>'​Gestion de fichiers'>'​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 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 4**: Trouvez la fonction nommée r.in.gdal et importez le fichier 31h05dem.tif dans GRASS. Ajoutez cette nouvelle couche au canevas QGIS. 
Line 279: Line 292:
 **É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 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. Faites la même chose avec les régions hydriques. ​+**É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). ​+**É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 8**: Utilisez la fonction r.null.to pour remplacer la valeur NULL par 0 dans le fichier raster Région hydrique. ​
  
-**Étape 9**: Utilisez r.**mapcalculator** **N'​EXISTE PLUS** ​pour enlever les zones couvertes d'eau du fichier de l'​étape 7. Spécifiez le fichier raster Region Hydrique comme couche A et le fichier créé à l'​étape 7 comme couche B. Cliquez sur "​Utiliser la région de cette couche"​ à côté de la couche A. Dans le boîte de formule, entrez: ​+**É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.
  
 <​file>​ <​file>​
-((A-1)*-1)*B+r.mapcalc expression="​distance_sans_eau=((region_hydrique-1)*-1)*distance_routes" ​
 </​file>​ </​file>​
  
-et donnez un nom au fichier ​en sortie+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: ​ **É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: ​
Line 300: Line 313:
 </​file>​ </​file>​
  
-**Étape 11**: Utilisez la fonction r.reclass pour re-classifier le raster créé à l'​étape 9, et en utilisant les fichier ​de l'​étape 10 pour définir les règles de re-classification. ​+**É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 12**: Utilisez la fonction r.clump pour donner un identifiant unique à toutes les zones contiguës. ​
Line 312: Line 325:
 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.  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. ​+**Étape 15**: Convertissez ensuite ce fichier en vecteur avec la fonction r.to.vect.area ​et visualisez le dans QGIS
  
 ====== Terminologie GRASS====== ====== Terminologie GRASS======