Introduction à QGIS
Estéban Hamel Jomphe
Novembre 2023
- Mise en contexte :
- Objectifs :
- Exercice 1 : Les bassins versants
- Exercice 2 : Faire une carte
- Exercice 3 imagerie satellitaire et géoréférencement
- Exercice 4 : Extension pour GPS
- Exercice 5 : Modeleur Graphique pour les opérations imbriquées.
Mise en contexte :
Cet atelier vise à faire une introduction au logiciel QGIS, un Système d’Information Géographique (SIG) gratuit. Dans cet atelier, nous ferons quelques exemples pour vous familiariser avec l’analyse de données spatiale dans les logiciels SIG. Un des avantages du logiciel QGIS est qu’il est gratuit et que plusieurs extensions sont développées et peuvent être installées au besoin.
Si vous n’avez pas installé le logiciel QGIS, vous pouvez le faire au lien suivant : https://qgis.org/fr/site/forusers/download.html
Objectifs :
Utiliser des données ouvertes;
Manipuler des données vectorielles et matricielles;
Introduire des extensions pour l’analyse hydrographique;
Ajouter une référence spatiale à des images;
Exporter des données sous différents formats;
Développer un outil pour faire une chaine d’opération.
Exercice 1 : Les bassins versants
1.1 Importer des données ouvertes. Exemple RNCan
Mosaïque MNEHR – HRDEM
La description du produit et les différents moyens d’y accéder : https://ouvert.canada.ca/data/fr/dataset/0fe65119-e96e-4a57-8bfe-9d9245fba06b
Pour ajouter comme fond de carte dans QGIS (Web Map Service (WMS)
Dans QGIS :
- Dans l’explorateur (fenêtre de gauche) Clic droit sur WMS/WMTS
- Cliquez sur Nouvelle Connexion
- Nom : ex. Mosaïque MNEHR
- URL : https://datacube.services.geo.ca/ows/elevation
- Cliquez sur OK et cliquez sur la nouvelle connexion pour afficher les couches disponibles
-
Double cliquez sur la couche Hillshade map of the Digital Surface Model / Carte de relief ombré du Modèle numérique de surface
- Zoomer sur la région de Trois-Rivières
- Explorez la région à l’aide de l’outil Identifier les entités
Refaites les étapes précédentes pour établir une connexion WCS.
- L’URL pour cette nouvelle connexion est le suivant :
https://datacube.services.geo.ca/ows/elevation
-
Double cliquez sur la couche Relief map of the Digital Terrain Model / Carte de relief du modèle numérique de terrain
-
Cette dernière manipulation permettra ultimement de télécharger les données affichées.
1.2 Édition/création de couche
Vous allez maintenant créer une couche temporaire pour pouvoir travailler sur les données d’élévation de la région de Trois-Rivières seulement.
- Dans la barre d’outils, sélectionnez « couche »
- Créer une couche
- Nouvelle couche temporaire en mémoire
Le panneau suivant devrait vous apparaitre :
-
Nom de la couche : ex. Region_TR
- Type de géométrie : Polygone/ Polygone de courbes
- Système de coordonnée : EPSG :4326 – WGS 84
- Créez un nouveau champ qui s’appellera « ID »
- Type : Nombre entier
- Longueur : 3
- Cliquez sur « Ajouter à la liste des champs »
- OK
À ce stade, votre couche sera vide et un pictogramme sera indiqué à droite de celle-ci pour signifier qu’il s’agit d’une couche temporaire.
Pour créer les contours d’un polygone, il faudra entrer en mode édition.
- Assurez-vous de cliquer sur la couche temporaire.
- Activer l’édition à l’aide du pictogramme de crayon ou avec un clic droit et « basculer en mode édition.
-
À l’aide de l’outil « ajouter une entité polygonale », vous pourrez dessiner un polygone.
- Votre pointeur se transformera en cible et vous pourrez définir les différentes arrêtes de votre polygone.
- Pour terminer l’édition, faites un clic droit.
- Indiquer le chiffre 1 dans la fenêtre qui s’ouvrira.
Pour compléter l’édition, recliquez sur le pictogramme de crayon et enregistrez vos modifications.
1.3 Exportation des données matricielles
Maintenant que nous avons une superficie délimitée autour de Trois-Rivières, il sera possible d’exporter les données d’élévations pour cette région.
- Clic droit sur la couche d’élévation
- Exporter
- Enregistrer sous
- Modifiez le nom et l’emplacement de votre fichier : ex. test1.tif
- Emprise : « Calculer depuis la couche »
- Choisir : Region_TR
- Résolution : Changer les exposants pour « e- 03 »
- Cliquez sur OK
1.4 Utiliser un algorithme de délimitation des bassins versants
Pour l’exercice, vous délimiterez les contours de sous-bassins versants du territoire donné. L’outil fill bassins (Wang Liu) sera retenu pour cela. Il s’agit d’un algorithme d’hydrologie qui calcule les sous- bassins versants à l’aide de l’information d’un modèle d’élévation.
-
Ouvrez la boite à outils « traitements »
- Traitement : boîte à outils
- Descendez jusqu’aux outils « SAGA » : Terrain Analysis – Hydrology
- Choisir : Fill sinks (wang & liu)
Dans l’outil:
- DEM: Choisir la couche « test1 »
- Décocher les options « Filled DEM » et « Flow Directions »
- Cliquez : OK
1.5 Transformer les données
Maintenant qu’une couche matricielle a été générée, il serait intéressant de pouvoir faire de calcul sur cette dernière. Pour cela, nous allons utiliser un outil de conversion pour passer d’un format matriciel à vectoriel.
- Dans la barre d’outils raster : choisir conversion
- Cliquer sur : Polygoniser (raster vers vecteur)
- Couche source : Bassins versants
- Cliquez sur « OK »
1.5 Modifier la table d’attribut
Un avantage des données sous format vectoriel est qu’il est possible d’ajouter des attributs spatiaux et de bonifier les données existantes. Dans l’exemple suivant, vous pourrez ajouter le calcul de la superficie des différents bassins versants tracés à l’étape précédente.
- Sélectionnez la couche « Vectorisé »
- Basculez en mode édition
- Ouvrez la table d’attributs à l’aide d’un clic droit sur la couche
- Cliquer sur le pictogramme pour ajouter un champ
- Nom : Superficie
- Type : Nombre décimal (réel)
- Ok
Maintenant vous allez modifier le champ « superficie » pour calculer la superficie de chacun des polygones.
- Dans la barre d’outils sélectionnez la calculatrice de champ
- Cochez la case « mise à jour d’un champ existant
- Sélectionnez le champ « Superficie » dans la barre déroulante
- Dans la zone d’expression, copiez la ligne suivante : $area/
- OK
Maintenant que la superficie de chaque polygone est connue, un autre champ pourrait servir à définir la taille de celui-ci. Pour l’exercice, supposons que les polygones inférieurs à 50 hectare seront considérés comme petits, ceux plus grands que 5000 hectares et inférieurs à 50 hectares seront considérés comme moyen et ceux supérieurs à 50 00 hectares seront considérés comme gros.
Toujours dans votre table d’attributs, ajoutez un champ comme aux étapes précédentes.
- Nom : Taille
- Type : Texte (chaîne de caractères)
- Longueur : 15
- Ouvrez la calculatrice de champs
- Cochez la case de mise à jour d’un champ existant
- Sélectionnez « Taille »
- Dans la section d’expression, reprenez les lignes suivantes : Case When “Superficie” <= 50 Then ‘Petit’ When (“Superficie” > 50 AND “Superficie” <= 5000 ) Then ‘Moyen’ When “Superficie” > 5000 Then ‘Grand’ End
- Ok
Une fois ces opérations terminées, vous pouvez enregistrer vos modifications en décochant le pictogramme de crayon et en répondant « Enregistrer » dans la boîte de dialogue qui s’ouvrira.
Exercice 2 : Faire une carte
Le logiciel permet aussi facilement de faire une mise en page d’une carte que vous pourrez exporter ensuite. Basée sur la couche de bassins versants faite précédemment, une première étape sera de changer les couleurs selon le critère de taille du bassin versant. Ensuite vous utiliserez l’outil de mise en page pour faire votre carte.
2.1 Ajuster la symbologie (les couleurs)
- Cliquez à droite sur la couche « Vectorisé »
- Sélectionnez « Propriétés »
- Allez à l’onglet « Symbologie »
- Changer le menu déroulant pour « Catégorisé »
- Valeur : Taille
- Palette de couleur : choisir une de votre choix
- Au bas de la fenêtre cliquez sur « Classer »
Il est ensuite possible de changer les couleurs manuellement et idem pour les classes. D’autres catégories auraient pu être faites. Par exemple, en utilisant le champ de superficie, des catégories auraient pu être entrées manuellement selon la taille exacte des polygones.
2.2 Utiliser le composeur de carte
Pour créer la carte, l’outil de composeur de carte s’active dans une fenêtre à part.
- Cliquez sur « Projet » dans la barre d’outils
- Nouvelle mise en page
- Donnez le nom de votre choix à la mise en page : ex. Carte 1
Dans le composeur de carte, vous pourrez utiliser les différents pictogrammes ou le menu dans le haut de la fenêtre pour ajouter les éléments que vous voudrez. Ici nous prendrons par exemple, un titre, une flèche du nord, une barre d’échelle et une légende. De plus, il vous sera possible de modifier l’ordre des objets avec le panneau de droit.
À l’aide du pictogramme de carte, ajoutez un carré où sera votre carte.
Ajoutez une forme (un rectangle) sur un des côtés.
Dans les propriétés de l’objet « Carte », ajustez l’échelle à 120 000.
Utiliser le pictogramme avec les flèches (en bleu) pour bouger la carte au besoin).
Dans la barre supérieure, ajoutez les objets suivants :
- Flèche du nord;
- Barre d’échelle;
- Étiquette;
- Utilisez le panneau de droit pour personnaliser ces attributs à votre goût;
- Pour exporter votre carte, utilisez un des pictogrammes suivants
Le composeur de carte enregistre simultanément vos changements. Ceux-ci seront sauvegardés dans l’outil de mise en page. Ainsi, vous pourriez revenir plus tard à l’objet « Carte 1 » défini plus tôt et vous auriez vos éléments de cartographie de façon uniforme pour différentes cartes dans ce même projet.
Exercice 3 imagerie satellitaire et géoréférencement
Différentes méthodes existent pour importer des images satellitaires dans QGIS. Avec l’apport de données ouvertes sur différentes plateformes, certains développeurs ont fait des extensions pour faciliter le téléchargement d’imagerie satellitaire, notamment celles disponibles avec Google Earth Engine. Pour cela, il vous faut installer l’extension « Earth Engine » dans QGIS et le configurer avec des commandes Python. Nous ne ferons pas cela aujourd’hui, mais cela peut être très utile si vous utilisez ce genre de données régulièrement.
Pour l’exercice, nous utiliserons une connexion vers une image déjà créée dans Google Earth Engine. De manière similaire aux couches d’élévation précédemment utilisée, nous définirons une connexion XYZ vers une image existante.
3.1 Créer une connexion vers une image existante
- Dans le panneau explorateur : Créer une connexion XYZ
- Clic droit
- Nouvelle connexion
- Nom : imagerie_TR
- URL : https://earthengine.googleapis.com/v1/projects/ee-esteban125/maps/fe5f99ed64a279ae5c474a6b102a7c83-0d554283c4a040f97b1aa49b285883e4/tiles/{z}/{x}/{y}
- Cliquer sur ”OK”
- Vous pouvez ensuite ajouter la couche à celle dans votre panneau de couche en la glissant d’un panneau à l’autre.
Au besoin, allez dans les propriétés de la couche pour modifier les paramètres d’images (luminosité, contraste, saturation).
3.2 Géoréférencer une image
Le géoréférencement est parfois utile lorsqu’on possède une photo et qu’on voudrait lui donner une référence spatiale à un endroit donné. Pour cela il vous faudra quelques points de contrôles et une carte déjà référencée de la région d’intérêt (soit un fond de carte géoréférencé comme Google Map ou un shapefile de la région). L’extension « Georeferencer » doit être téléchargée si l’outil n’est pas déjà dans vos commandes proposé par le logiciel.
- Pour valider, aller dans l’onglet « raster », vérifiez pour voir l’option « Georeferencer ».
- Si ce n’est pas le cas, aller dans les extensions dans l’onglet installé et cocher « Georeferencer GDAL »
Pour l’exercice, prenons par exemple un imprime écran des rues de la ville de Trois-Rivières.
- À l’aide d’un outil de capture d’écran, téléchargez votre image sur votre ordinateur sous un des formats .tif, .jpg, .png.
- Ouvrez votre image dans QGIS en la glissant vers votre panneau de couche ou à l’aide de l’outil ajouter une couche raster.
- L’image nouvellement importée ne devrait pas se superposer avec les autres couches créées au préalable. Il faudra donc lui assigner des points de repère manuellement.
- Supprimez la couche de votre panneau de couche pour le moment
Pour ouvrir l’outil de géoréférencement, cliquez sur la barre d’outils Raster : Choisir « Georeferencer »
-
Ouvrir un raster : naviguer jusqu’à l’image désirée.
- Une fois l’image ajouter, cliquez sur le pictogramme de roue pour ajuster les paramètres de l’image de sortie.
- Type de transformation : Projective
- Mode de rééchantillonnage : Cubic Spline
- SCR cible : WGS – 84
- Raster en sortie : compléter l’extension avec le nom désiré.
- OK
Vous pouvez maintenant passer à la définition des points de contrôle. Utilisez le pictogramme pour ajouter un point.
- Cliquez sur un point facilement reconnaissable sur votre photo et cliquez dessus.
- Répondre « Depuis le canevas de carte » à la fenêtre contextuelle qui s’ouvrira.
- Allez cliquer à l’endroit où se situe votre point de contrôle sur la carte de référence.
La fenêtre contextuelle s’ouvrira à nouveau en indiquant les coordonnées du point ou vous avez cliqué sur votre carte de référence.
- OK
Refaites ces étapes en prenant 4-5 points un peu partout dans votre image.
Lorsque vous avez suffisamment de points de contrôle, vous pouvez cliquer sur « débuter le géoréférencement » pour lancer l’outil.
Votre carte apparaîtra ainsi géoréférencée et sera enregistrée selon les paramètres que vous aurez entrés précédemment.
Exercice 4 : Extension pour GPS
Créer un fond de carte
Une autre utilité du logiciel QGIS est de faire l’intermédiaire entre différents types de fichiers pour pouvoir télécharger des points dans ou hors d’un GPS et créer des fonds de cartes rapidement pour un GPS. L’extension « GarminCustomMap » et « POI Exporter » est cependant nécessaire.
- Dans la barre d’outils, cliquez sur « Extension » et ensuite sélectionnez « Installer/Gérer les extensions ».
- Allez dans l’onglet « Toutes » et dans la barre de recherche cherchez « GarminCustomMap ».
- Cliquez sur « Installer »
- Un pictogramme de GPS devrait apparaitre dans vos outils QGIS.
- Refaite les mêmes étapes, mais cette fois pour l’extension « POI exporter »
Pour créer un fond de carte, ajustez vos différentes couches pour que l’emprise de votre écran corresponde à l’endroit désiré. L’extension « GarminCustomMap » ne permet seulement que de faire une imprime écran d’une zone et de la transformer dans un format qui est lisible par les GPS.
- Une fois la région d’intérêt cibler sur votre écran, démarre l’outil de Canvas en cliquant sur le pictogramme de GPS.
- Naviguer jusqu’à l’endroit où vous sauvegarderez votre fichier
-
Indiquer le nom désiré : exemple Carte_numerilab
- Enregistrer
- Dans la fenêtre contextuelle qui s’ouvrira, ajustez le nombre de pixels désiré dans chacune des lignes et des colonnes (souvent plutôt autour de 3000) pour conserver une précision intéressante sur les images satellitaires.
- Augmenter la qualité de l’image au maximum
- OK
Ajouter des points GPS
Pour l’exercice, vous créerez une couche temporaire de points (Voir étape 1.2).
- Nom de la couche : PointsGPS
- Type de géométrie : Points
- Nom du nouveau champ : ID
- Type : Nombre entier
- Longueur : 2
- Cliquer sur « ajouter à la liste des champs »
- OK
Pour ajouter les points créés précédemment, cliquez sur le pictogramme POI pour lancer l’extension.
Dans la fenêtre qui s’ouvrira, sélectionnez le dossier où sera enregistré votre fichier de points
- Output format : GPX
- Input vector layer : Points_GPS
-
Select category column: ID
- Select column to be used as the POI name: ID
- OK
Note : Dans les deux cas, il faudra ensuite transférer vos fichiers « GPX » pour les points ou « KMZ » pour le fond de carte dans votre GPS.
Exercice 5 : Modeleur Graphique pour les opérations imbriquées.
L’outil modeleur graphique ou « model builder » en anglais permet de combiner plusieurs fonctions dans une chaine de commande prédéterminée. Cela a pour avantage d’uniformiser et d’automatiser des étapes qui sont parfois redondantes dans votre travail. Dans l’exemple suivant, nous reprendrons les différentes étapes faites avec l’exercice 1 pour les intégrer dans le modeleur graphique.
- Débuter par ouvrir le modeleur graphique dans la barre d’outils « Traitement » sélectionnez « Modeleur Graphique »
- Dans l’onglet « Entrées » modifier le nom : par exemple : Modèle
- Toujours dans cet onglet double cliquez sur « couche raster » avec un symbole (+)
- Description : Couche_entree
- OK
- Changez ensuite d’onglet pour afficher les « Algorithmes »
- Allez dans la barre de recherche et tapez « polygoniser »
- Double cliquez sur l’outil choisi dans le panneau de gauche
- Dans la fenêtre contextuelle, changer la couche source pour celle d’entrée du modèle en cliquant sur le pictogramme « 123 »
- Faites calculer votre nouveau champ à l’aide de la fonction « calculatrice de champ » dans les différents algorithmes.
-
Changer la valeur d’entrée pour « sortie d’un algorithme »
- Sélectionnez : Vectorisé créé par l’algorithme « Polygoniser »
- Nom du champ de résultat : Superficie
- Type de champ : flottant
- Longueur : 10
- Précision : 3
- Créer un nouveau champ : oui
- Formule : $area
- OK
Refaite de même pour calculer un second champ qui celui-ci correspondra à la taille
- Nom du champ : Taille
- Type de champ : Chaîne de Caractères
- Longueur : 10
- Créer un nouveau champ : oui
-
Formule : Case When “Superficie” <= 50 Then ‘Petit’ When (“Superficie” > 50 AND “Superficie” <= 5000 ) Then ‘Moyen’ When “Superficie” > 5000 Then ‘Grand’ End
- Calculé : Couche_finale
Votre modèle serait alors complet. Il est possible ensuite de l’enregistrer et le lancer. Avec le
pictogramme suivant :
Le modèle final devrait ressembler à ceci
- Lorsque vous le lancez, une fenêtre contextuelle devrait vous apparaître en vous demandant la couche d’entrée.
- Sélectionnez la couche de bassins versants et testez votre modèle.
*Fin du numérilab*