Bandeau haut

Outils pour utilisateurs

Outils du site


fonctions:automatisation:langages:qgis3

Scripting sous QGIS 3.X

Il est possible de développer des scripts et plugins sous QGIS en Python 3 afin d’étendre ou d’améliorer les fonctionnalités du logiciel, mais également d’automatiser des tâches complexes ou répétitives. QGIS dispose d’une API appelée PyQGIS qui permet d’accéder en Python à l’intégralité des fonctionnalités et de l’interface de QGIS.

Informations générales

L’interface de Python pour QGIS s’articule principalement autour de deux bibliothèques :

  • Qt 5, et son binding Python PyQt 5, qui va permettre de gérer le graphique de manière générale (fenêtres, boutons, etc.).
  • PyQGIS qui hérite énormément de Qt 5 va principalement gérer les aspects spatiaux du logiciel : fenêtre de carte, gestion des couches, outils, mais également le réseau entre autres.

Ainsi, pour développer sous QGIS, il est possible de se référer aux documentations de ces deux composants qui sont très fournies :

(La documentation de PyQGIS est essentiellement en anglais pour le moment, mais il est possible de contribuer à l'effort de traduction !)

Attention ! QGIS 2 s’interfaçait avec Python 2 et Qt 4. QGIS 3 s’interface avec Python 3 et Qt 5, dont la syntaxe diffère assez pour casser la compatibilité avec la version précédente. De plus, de nombreuses fonctions de l’API ont été modifiées en profondeur et il est important de se référer à la documentation de la version sur laquelle on souhaite développer !

Réaliser et exécuter un script

Pour scripter en Python sous QGIS 3, il est nécessaire de passer par la console Python, accessible depuis le menu Extension → Console Python, ou par la combinaison de touche CTRL+ALT+P. Celle-ci se présente sous la forme d'un panneau dockable, à l'origine placé sous la carte. Il s'agit d'une console Python 3 classique permettant d'exécuter du code ligne par ligne, mais également des scripts à l'aide d'un éditeur intégré permettant de créer, charger et exécuter un script Python.

Générer des fonctions pour effectuer des recherches paramètres

Une fonctionnalité bien connue dans Qgis est celle intitulée sélectionner les entités en utilisant une expression“. On l'utilise généralement avec du SQL, pour faire des requêtes attributaires efficaces. Mais on peut aller plus loin en utilisant l'onglet éditeur de fonction une fois la fenêtre d'expression ouverte. On se retrouve cette fois dans une boite qui nous propose de rentrer du Python, pour faire des requêtes en se basant sur le Pyqgis, le langage de script de Qgis.

Automatiser des tâches sans coder

A l'instar d'un logiciel comme Arcgis, on trouve dans Qgis un modeleur de traitement de données (Traitement → Modeleur Graphique) . L'avantage d'un tel outil est triple:

  • L'automatisation de tâches sans coder, ce qui peut faire gagner du temps.
  • Un rendu visuel, ce qui permet de facilement réexploiter un traitement crée par quelqu'un d'autre.
  • La possibilité d'intégrer des variables en entrée, les modèles sont donc utilisables sur des couches différentes.

un exemple de modèle:

Les modèles développés peuvent être centralisés dans la barre de traitements de Qgis dans l'onglet traitement, de la même manière que la toolbox d'Arcgis.

En outre, un traitement avec un modeleur graphique peut-être lancé en masse en faisant un clic droit sur le modèle dans la boîte de traitement et en cliquant sur exécuter par lots

fonctions/automatisation/langages/qgis3.txt · Dernière modification : //27/01/2021 15:35// de jacquemond

Bandeau bas