12.1. Lesson: Configuration de GRASS

L’utilisation de GRASS dans QGIS vous oblige à penser l’interface d’une manière légèrement différente. Rappelez-vous que vous ne travaillez pas directement dans QGIS, mais que vous travaillez dans GRASS via QGIS. Par conséquent, assurez-vous que vous avez installé QGIS Desktop avec le support de Grass.

win To open a QGIS session with GRASS available on Windows you have to click on the QGIS Desktop with GRASS icon.

Le but de cette leçon : commencer un projet GRASS dans QGIS.

12.1.1. basic Follow Along: Start a New GRASS Session

To launch GRASS from within QGIS, you need to activate it as with any other plugin:

  1. Tout d’abord, ouvrir un nouveau projet QGIS.

  2. Dans le Gestionnaire d’extension, activez GRASS dans la liste :

    ../../../_images/enable_grass.png

    La barre d’outils GRASS et le panneau GRASS apparaîtront :

    ../../../_images/grass_toolbar.png

    Fig. 12.22 GRASS toolbar

    ../../../_images/grass_panel.png

    Fig. 12.23 GRASS Panel

Le panneau GRASS n’est pas actif car, avant de pouvoir utiliser GRASS, vous devez créer un « MapSet ». GRASS fonctionne toujours dans un environnement de base de données, ce qui signifie que vous devez importer toutes les données que vous voulez utiliser dans une base de données GRASS.

La base de données GRASS a une structure simple, même si à première vue elle semble très compliquée. La chose la plus importante que vous devez savoir est que le niveau supérieur de la base de données est la « localisation ». Chaque « Localisation » peut contenir différents « Mapset » : dans tous les « Mapset », vous trouverez le « Mapset PERMANENT » car il est créé par défaut par GRASS. Chaque « Mapset » contient les données (raster, vecteur, etc) d’une structure particulière, mais ne vous inquiétez pas, GRASS s’en chargera pour vous.

Rappelez-vous simplement : « Localisation » contient « Cartographie » qui contient les données. Pour plus d’informations, visitez le site web de GRASS` <https://grass.osgeo.org/grass77/manuals/grass_database.html>`_.

../../../_images/grass_database.png

Fig. 12.24 Structure de la base de données GRASS (à partir des documents GRASS)

12.1.2. basic Follow Along: Démarrer un nouveau projet GRASS

  1. Cliquez sur le menu Plugins –> GRASS –> New Mapset :

    ../../../_images/grass_menu.png

    Il vous sera demandé de choisir l’emplacement de la base de données GRASS.

  2. Définissez le dossier qui sera utilisé par GRASS pour y placer sa base de donnée :

    ../../../_images/grass_folder.png
  3. Cliquez sur Suivant

GRASS doit créer une « Localisation », qui décrit l’étendue maximale de la zone géographique dans laquelle vous travaillerez, aussi appelée « Région ».

Note

la Région est extrêmement importante pour GRASS car elle décrit la zone dans laquelle toutes les couches seront prises en compte pour GRASS. Tout ce qui est à l’extérieur ne sera pas pris en compte. Ne vous inquiétez pas, vous pouvez toujours modifier l’étendue de la Région GRASS après la création du Secteur

  1. Appelez le nouveau lieu « Afrique du Sud » :

    ../../../_images/new_location.png
  2. Cliquez sur Suivant

  3. Nous allons travailler avec « TPS 84 », alors cherchez et sélectionnez ce CRS :

    ../../../_images/wgs_84_selected.png
  4. Cliquez sur Suivant

  5. Maintenant, sélectionnez la région Afrique du Sud depuis la liste déroulante et cliquez sur Définir :

    ../../../_images/set_south_africa.png
  6. Cliquez sur Suivant

  7. Créez un jeu de donnée, qui est le fichier sur lequel vous allez travailler.

    ../../../_images/grass_mapset.png

    Une fois que vous avez terminé, vous verrez un dialogue vous demandant un résumé de toutes les informations saisies.

    ../../../_images/grass_final.png
  8. Cliquez sur Terminer.

  9. Cliquez sur OK dans la fenêtre de succès.

Vous verrez que le panneau GRASS deviendra actif et que vous pourrez commencer à utiliser tous les outils GRASS.

12.1.3. basic Follow Along: Chargement des données vecteur dans GRASS

Vous avez maintenant une carte vierge et avant de pouvoir commencer à utiliser tous les outils GRASS, vous devez charger les données dans la base de données GRASS, plus précisément dans le « MapSet ». Vous ne pouvez pas utiliser les outils GRASS avec des couches qui ne sont pas chargées dans un « MapSet » GRASS.

Il existe de nombreuses façons différentes de charger des données dans la base de données GRASS. Commençons par la première.

12.1.3.1. basic Follow Along: Load data using the QGIS Browser

Dans la section Le panneau de recherche nous avons vu que la façon la plus simple et la plus rapide de charger les données dans le QGIS est le panneau Browser.

Les données GRASS sont reconnues par le navigateur QGIS comme des données GRASS réelles et vous pouvez le remarquer car vous verrez l’icône GRASS à côté du jeu de cartes GRASS. De plus, vous verrez l’icône grassMapsetOpen à côté du Mapset qui est ouvert.

../../../_images/grass_browser.png

Note

Vous verrez une réplique de l’emplacement GRASS comme un dossier normal : Les données « MapSet » de GRASS sont celles qui se trouvent dans le dossier grass

Vous pouvez facilement glisser et déposer des couches d’un dossier vers le GRASS Mapset.

Essayons d’importer la couche roads dans le jeu de cartes grass_mapset de la localisation SouthAfrica.

Allez dans le navigateur, et faites simplement glisser la couche roads du fichier training_data.gpkg GeoPackage dans le jeu de cartes grass_mapset.

../../../_images/grass_browser_import.png

C’est tout ! Si vous développez le Mapset, vous verrez la couche roads importée. Vous pouvez maintenant charger dans QGIS la couche importée comme toutes les autres couches.

Astuce

Vous pouvez également charger des couches du panneau Légende des couches vers le jeu de cartes dans le panneau Navigateur. Cela accélérera incroyablement votre flux de travail !

12.1.3.2. basic Follow Along: Load data using the GRASS Panel

Nous allons maintenant utiliser la méthode long pour charger la couche rivers.shp dans le même Mapset.

  1. Chargez les données dans le QGIS comme d’habitude. Utilisez l’ensemble de données rivers.shp (qui se trouve dans le dossier exercise_data/shapefile/)

  2. Dès qu’il est chargé, cliquez sur la case Filtre du panneau GRASS et trouvez l’outil d’importation de vecteurs en entrant le terme v.in.ogr.qgis :

    Avertissement

    Il existe deux outils similaires : « v.in.ogr.qgis » et « v.in.ogr.qgis.loc ». Nous recherchons le premier.

    ../../../_images/grass_panel_import.png

    Le v signifie vecteur, in signifie une fonction pour importer des données dans la base de données GRASS, ogr est la bibliothèque logicielle utilisée pour lire les données vectorielles, et qgis signifie que l’outil va chercher un vecteur parmi les vecteurs déjà chargés dans QGIS.

  3. Une fois que vous avez trouvé cet outil, cliquez dessus pour faire apparaître l’outil lui-même. Choisissez la couche rivers dans la case Charger couche et tapez et nommez le g_rivers pour éviter toute confusion :

    ../../../_images/grass_tool_selected.png

    Note

    hard Notez les options supplémentaires d’import fournies dans Options avancées. Cela inclut la possibilité d’ajouter une clause WHERE pour la requête SQL utilisée lors de l’import de donnée.

  4. Cliquez sur Exécuter pour commencer l’import.

  5. Une fois fait, cliquez sur le bouton Voir le résultat pour voir la nouvelle couche GRASS importée dans la carte.

  6. Fermez d’abord l’outil d’import (cliquez sur le bouton Fermer juste à droite de Voir le résultat), puis fermez la fenêtre Outils GRASS.

  7. Supprimez la couche originale rivers.

Vous ne disposez désormais plus que de la couche GRASS affichée dans la carte QGIS.

12.1.4. basic Follow Along: Chargement des données Raster dans GRASS

Vous pouvez importer une couche raster de la même manière que nous avons importé des couches vectorielles.

Nous allons importer dans le jeu de cartes GRASS la couche srtm_41_19_4326.tif.

Note

la couche raster est déjà dans le bon CRS, « TPS 84 ». Si vous avez des couches dans des CRS différents, vous devez les reprojeter dans le même CRS du jeu de cartes GRASS

  1. Charger la couche srtm_41_19_4326.tif dans QGIS

  2. Ouvrez à nouveau les Outils GRASS.

  3. Cliquez sur l’onglet Liste des modules.

  4. Recherchez « r.in.gdal.qgis » et double-cliquez sur l’outil pour ouvrir la boîte de dialogue de l’outil.

  5. Configurez-le de sorte que la couche d’entrée soit srtm_41_19_4326.tif et la sortie soit g_dem.

    ../../../_images/g_dem_settings.png
  6. Cliquez sur Exécuter.

  7. Une fois l’opération réussie, cliquez sur Voir le résultat.

  8. Vous pouvez Fermer l’onglet actuel puis cliquez dans la boîte de dialogue suivante sur Fermer.

    ../../../_images/g_dem_result.png
  9. Vous pouvez maintenant supprimer la couche srtm_41_19_4326.tif originale.

12.1.5. basic Try Yourself Add Layers to Mapset

Essayez d’importer dans le jeu de cartes GRASS les couches vecteur water.shp et places.shp du dossier exercise_data/shapefile/. Comme nous l’avons fait pour rivers, renommez la couche importée en g_water et g_places pour éviter toute confusion

Check your results

12.1.6. basic Open an existing GRASS Mapset

Si vous avez un jeu de cartes GRASS existant, vous pouvez facilement le rouvrir dans une autre session de QGIS.

Vous avez plusieurs méthodes pour ouvrir une carte GRASS, nous allons en explorer quelques-unes.

Fermons le Mapset en cliquant sur le bouton Close Mapset de la fenêtre GRASS Tools.

12.1.6.1. basic Follow Along: Using the GRASS plugin

  1. Cliquez sur le menu Plugins –> GRASS –> Open Mapset à côté du menu Plugins –> GRASS –> New Mapset que nous avons vu dans la section précédente.

  2. Naviguez vers le dossier de la base de données GRASS : soyez prudent ! Vous devez choisir le dossier parent, et non celui de GRASS Mapset. En effet, GRASS lira toutes les « Locations » de la base de données et tous les « Mapset » de chaque « Localisation » :

    ../../../_images/grass_open_mapset1.png
  3. Choisissez le « Lieu » (guilabel:SouthAfrica) et le « Mapset » (guilabel:”grass_mapset”) que nous avons créés auparavant.

C’est tout ! Le panneau GRASS devient actif, ce qui signifie que le mapset a été correctement ouvert.

12.1.6.2. basic Follow Along: Using the QGIS Browser

L’ouverture d’un « mapset » à l’aide du navigateur QGIS est encore plus rapide et plus facile :

  1. Fermez le Mapset (s’il est ouvert) en cliquant sur le bouton Close Mapset de la fenêtre GRASS Tools.

  2. Dans le navigateur QGIS, naviguez jusqu’au dossier de la base de données GRASS.

  3. Cliquez avec le bouton droit de la souris sur le mapset (rappelez-vous que le jeu de cartes comporte l’icône GRASS grass à côté). Vous verrez quelques options.

  4. Cliquez sur Open mapset :

    ../../../_images/grass_open_mapset_browser.png

Le Mapset est maintenant ouvert et prêt à être utilisé !

Astuce

Un clic droit sur un jeu de cartes GRASS vous offre de nombreux paramètres différents. Essayez de les explorer et de voir toutes les options utiles.

12.1.7. In Conclusion

La méthode de travail de GRASS pour la gestion des données est quelque peu différente de celle de QGIS car GRASS les charge dans une base de donnée à structure spatiale. Toutefois, en utilisant QGIS comme interface, vous pouvez rendre plus facile la création d’un jeu de donnée GRASS grâce aux couches QGIS comme sources de données pour GRASS.

12.1.8. What’s Next?

Maintenant que les données sont importées dans GRASS, nous pouvons nous intéresser aux opérations d’analyses plus évoluées que nous permet GRASS.