Bandeau haut

Outils pour utilisateurs

Outils du site


fonctions:automatisation:langages:qgis3

Ceci est une ancienne révision du document !


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.

fonctions/automatisation/langages/qgis3.1549816536.txt.gz · Dernière modification : //10/02/2019 17:35// de kalsron

Bandeau bas