Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Tutoriel QGIS

Premier projet

Une fois que vous avez installé QGIS, lancez le programme et passez par les étapes suivantes pour faire les paramètres fondamentaux:

Panneaux, barres d’outils et greffons

Suivez les instructions illustrées ci-dessous pour activer le QGIS Toolbox.

enable QGIS toolbox

Figure 1:Ouvrez la boîte à outils QGIS depuis le menu principal.

De plus, la barre d’outils Digitizing (View > Toolbars > check Digitizing Toolbar) est requise pour compléter ce tutoriel.

La conversion entre les types de données géospatiales et les grilles numériques (computationnelles) peut être facilitée par des plugins. Pour installer n’importe quel plugin dans QGIS, allez dans le menu Plugins > Gérer et installer des plugins... > All onglet > Rechercher... pour un plugin pertinent et l’installer.

Dans le cadre de l’analyse fluviale, les plugins suivants sont recommandés et utilisés à plusieurs endroits sur ce site:

BASEmesh n’est qu’un seul générateur de mailles (très performant) pour QGIS et Tab. 1 listes d’autres plugins pour générer des mailles de calcul pour les modèles numériques ainsi que des formats de fichiers cibles et des modèles

Cartes de base pour QGIS (Google ou cartes de rue ouvertes)

Pour ajouter une carte de base (p. ex., données satellite, rues ou limites administratives), allez au Browser, faites un clic droit sur XYZ Tiles, sélectionnez Nouvelle connexion..., ajoutez un nom et une URL d’une carte de base en ligne. Une fois la nouvelle connexion ajoutée, elle peut être ajoutée à un projet QGIS par glisser-déposer comme n’importe quelle autre couche de géodonnées. La figure ci-dessous illustre la procédure d’ajout d’une nouvelle connexion et ses tuiles XYZ comme couche au projet. Pour superposer plusieurs cartes de base (ou n’importe quel autre calque), droit-clic sur un calque, puis Propriétés de calque > Transparence > modifier l’opacité** (par exemple à 50 %).

basemap

Ajoutez une carte de base à QGIS : (1) localisez le navigateur (2) clic droit sur XYZ-Tiles et sélectionnez Nouvelle connexion... (3) saisissez un nom et une URL (voir tableau ci-dessous) pour la nouvelle connexion, cliquez sur OK (4) glisser et déposer la nouvelle tuile (ici : Google Satellite) dans le panneau Calques.

L’URL suivante peut être utilisée pour récupérer des tuiles XYZ en ligne (plus d’URL peuvent être trouvées sur Internet).

Créer un fichier de formes

Cette section guide la création d’un point, d’une ligne et d’un polygone Fichier de forme (données vectorielles). Pour en savoir plus sur ces données vectorielles et d’autres types de données spatialement explicites, lisez la section Données géospatiales.

Créer un fichier de formes point

Commencez par charger des images satellite et une carte de base de rue (voir ci-dessus) dans le panneau des calques. Zoom sur l’Europe centrale et à peu près localiser Stuttgart dans le sud-ouest de l’Allemagne. Trouvez la rivière Neckar très perturbée au nord de Stuttgart et déplacez-vous en direction en amont (c.-à-d. direction orientale), passez les villes d’Esslingen et Plochingen jusqu’à la confluence du Neckar et des fleuves Fils. De là, suivez la rivière Fils en direction en amont pendant quelques centaines de mètres et localisez le PEGELHAUS (c.-à-d. une station de jaugeage à la rivière Fils - cliquez pour visiter). Pour faciliter la recherche de la station de mesure à l’avenir, nous allons maintenant créer un fichier de forme de point comme expliqué dans la vidéo suivante et les instructions analogues ci-dessous la vidéo.

Créer un fichier de formes de ligne

Créer un Line Shapefile appelé CenterLine.shp pour dessiner une ligne centrale du Fil ± 200 m autour de la jauge PEGELHAUS, semblable au shapefile point créé ci-dessus. Ajouter un champ text et l’appeler RiverName. Puis tracer une ligne le long de la rivière Fils commençant à 200 m en amont et se terminant à 200 m en aval du PEGELHAUS en suivant la rivière sur la couche OpenStreetMap. Voir plus dans la vidéo suivante.

Créer un fichier de formes Polygon

Pour délimiter différentes zones de rugosité (p. ex., au besoin pour un modèle numérique bidimensionnel), créer un fichier de formes Polygon appelé FlowAreas.shp. Le fichier contiendra des polygones zonant la section considérée des Fils dans la plaine inondable et le lit du canal principal. Nommez le premier champ AreaType (type: Text) et le deuxième champ ManningN (type: Numéro de décret). Voir plus dans la vidéo suivante et les instructions ci-dessous la vidéo.

Pour dessiner les polygones:

Conversion: Rasterize (Polygon en Raster)

De nombreux modèles numériques exigent que la rugosité soit fournie au format Données sur les cellules broyées. À cette fin, cette section présente la conversion du fichier de forme polygone créé ci-dessus (FlowAreas.shp) en une rugosité Données sur les cellules broyées. La vidéo suivante et les instructions ci-dessous décrivent le fonctionnement de la conversion.

Pour convertir un ensemble de données vectorielles géospatiales, utilisez l’outil Rasterize :

Polygonize

The inverse operation of Rasterize is called Raster to Vector, which is documented at https://docs.qgis.org. The creation of a Polygon shapefile from a Raster is described in the video below. The essential steps are:

Pour convertir un Raster en une ligne/point (vecteur) shapfile, les options sont l’outil Contour (Raster menu > Extraction > Contour) ou Raster pixels to points algorithme (Processing toolbox > enter raster pixels to points). Regardez aussi les tutoriels sur geo file conversion with Python.

Travailler avec Rasters

Calculatrice de grille QGIS (algèbre carte)

Certains modèles de préférence (utilisation par défaut) n de Manning, d’autres utilisent le coefficient de rugosité Strickler kstk_{st}, qui est l’inverse de n de Manning (c.-à-d. kst=1/nk_{st} = 1/n - lire plus sur les coefficients de rugosité dans l’exercice 1d Hydraulique (formule Manning-Strickler)). Ainsi, transformer un raster de rugosité Strickler en raster de rugosité Manning nécessite d’effectuer une opération de raster algébrique (pixel par pixel). La vidéo suivante et les instructions ci-dessous présentent l’utilisation du QGIS Raster Calculator pour effectuer de telles opérations algébriques.

Commencez par l’ouverture de la barre de menus QGIS (Raster > Raster Calculator...). Puis, convertissez le raster roughness.tif créé ci-dessus des valeurs n de Manning en un raster de rugosité Strickler :

Raster à XYZ

Les formats de données scientifiques, tels que HDF, fonctionnent mieux avec des ensembles de données géospatiales brutes comme *.xyz fichiers. Un fichier .*xyz contient uniquement des coordonnées X, Y et Z de points (c.-à-d. des nuages de points) avec ou sans en-tête simple. Par exemple, ce livre électronique utilise des données *.xyz pour l’interpolation d’altitude d’une maille de calcul pour le logiciel de modélisation numérique scientifique TELEMAC. Pour générer un *.xyz à partir d’un GeoTIFF raster utiliser le workflow suivant:

Le fichier résultant *.xyz contient également des points avec No-Data pour remplir des espaces vides dans l’image rectangulaire de GeoTIFF (que QGIS a reconnu comme des pixels sans données). Les points sans données peuvent rendre le fichier *.xyz inutilement lourd, en particulier lorsqu’il s’agit d’un DEM d’une rivière naturelle proche du recensement. Pour éliminer les points inutiles de données, ouvrez le fichier *.xyz dans un logiciel de tableur, comme Calc in LibreOffice et utilisez l’outil Sort (en Calc mettre en évidence tous les points aller à Données > Sort...) pour trier par Z valeurs (plus petites à plus petites) et ensuite supprimer toutes les lignes qui ont la valeur No-Data identifiée ci-dessus (-9999) comme Z valeur. Enregistrer le fichier *.xyz et fermer le logiciel de tableur.

Pour finaliser le fichier *.xyz, ouvrez-le dans un text editor et ajoutez un en-tête. Par exemple, utilisez l’en-tête suivant pour travailler avec Blue Kenue:

:FileType xyz  ASCII  EnSim 1.0
:EndHeader

Enregistrer les changements. Le fichier *.xyz est maintenant mince et prêt à être utilisé, par exemple, pour le fichier TELEMAC pre-processing.

Créer la mise en page et les cartes PDF / JPG (ou autre)

Les images géoréférencées dans GeoTIFF ou d’autres formats raster, éventuellement avec des fichiers de forme superpositionnés sur le dessus, sont pratiques et flexibles pour une utilisation avec des logiciels géospatials, comme QGIS, mais ne conviennent pas pour les présentations ou les rapports. À des fins de présentation, les images ou cartes géospatiales devraient de préférence être exportées vers des formats communs, tels que le Portable Doccument Format (PDF) ou JPEG/JPG. Pour créer des cartes généralement formatées avec QGIS, il faut d’abord créer une nouvelle mise en page (imprimée), qui peut ensuite être exportée vers un format de carte commun (par exemple, avec une légende, une barre d’échelle et une flèche nord). La vidéo suivante et les descriptions ci-dessous le guide vidéo à travers le processus de création de carte avec QGIS.

Commencez par créer une nouvelle mise en page en cliquant sur le menu déroulant Project, puis sélectionnez Nouvelle mise en page. Dans la nouvelle mise en page, préparer la carte et l’exporter comme suit :

QGIS a beaucoup d’autres capacités, mais ce tutoriel fondamental aurait dû vous fournir les connaissances nécessaires pour tirer parti de la puissance de QGIS pour de nombreuses applications.

PyQGIS: QGIS et Python

L’interface utilisateur graphique QGIS (GUI) fournit une ligne de commande Python (Plugins > Python Console), qui permet d’automatiser presque n’importe quel clic de souris dans l’interface graphique. Cette ligne de commande Python est appelée PyQGIS et le QGIS developer docs fournit des instructions sur la façon d’importer et d’exécuter des scripts Python autonomes en dehors de l’interface graphique QGIS. Voici le modèle Python de base pour exécuter un script PyQGIS :

from qgis.core import *

# define qgis installation location
QgsApplication.setPrefixPath("/path/to/qgis/installation", True)


# instantiate a QgsApplication, where the second argument (False) disables the GUI
qgs = QgsApplication([], False)


# load providers
qgs.initQgis()

# HERE GOES YOUR CUSTOM CODE

# exit the QGIS application to remove the provider and layer registries from memory
qgs.exitQgis()

Cependant, lorsque vous ouvrez le terminal de votre système ou Anaconda Prompt pour lancer un code PyQGIS, vous pouvez être bloqué sur la première ligne de code déjà: from qgis.core import * rendements ImportError: No module named qgis.core. Selon le QGIS developer docs, cette erreur se produit parce que le Python de votre système ne sait pas où vit l’environnement PyQGIS. Pour que votre terminal reconnaisse PyQGIS, prenez les mesures suivantes selon votre système :

Linux
Windows

Ouvrir le terminal et installer python-qgis:

sudo apt install python-qgis

Après l’installation réussie, essayez si vous pouvez maintenant importer qgis.core:

USER@computer:~$ python
Python 3.8.10 (default, Nov 14 2022, 12:59:47) 
[GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from qgis.core import *
>>> exit()

If from qgis.core import * did not throw any error, you are all set and can stop reading. Otherwise, find and open your .bashrc file (Debian/Ubuntu/Mint: /home/USERNAME/.bashrc). Note that files starting with a . name are hidden on Linux and become visible by toggling with simultaneously pressing the CTRL+H keys.

Au bas de .bashrc ajouter ce qui suit

export PYTHONPATH=/<qgispath>/share/qgis/python

L’expression <qgispath> devrait être remplacée par l’endroit où vit l’environnement PyQGIS. Pour savoir où c’est, tapez (dans Terminal):

dpkg-query -L python-qgis

Ceci indique où vit PyQGIS, qui, sur Ubuntu/Mint est typiquement:

/usr/lib/python3/dist-packages/

Dans ce cas, ajoutez .bashrc:

export PYTHONPATH=/usr/lib/python3/dist-packages/

Ensuite, connectez-vous et reconnectez-vous à votre système (c.-à-d. rechargez .bashrc). La commande from qgis.core import * devrait maintenant fonctionner en Python.

References
  1. Shewchuk, J. R. (1996). Triangle: Engineering a 2D quality mesh generator and Delaunay triangulator. In M. C. Lin & D. Manocha (Eds.), Applied Computational Geometry Towards Geometric Engineering (pp. 203–222). Springer. 10.1007/BFb0014497