Bandeau haut

Outils pour utilisateurs

Outils du site


fonctions:automatisation:langages:qgis

Langage de développement Qgis 2.6

L'automatisation sous le logiciel QGis se fait l'aide du langage de programmation Python, travers l'interface en python. Apprendre mêler Qgis et Python nécessite un temps d'apprentissage qui peut très vite rentabilisés, avec des possibilités d'automatisation de tâches supérieures celles du SQL classique. Notons que dans cette partie, nous nous cantonnons l'utilisation de scripts dans Qgis, l'API Qgis est traite part.

Il existe quatre moyens de faire fonctionner le Python dans le logiciel Qgis :

partir de la console en ligne de commande

On y accède par Extension console Python. La console de Qgis offre quelques outils pour faciliter son utilisation. Ainsi, les options suivantes sont proposes:

  • Un système de glisser-déposer: On peut glisser directement du texte dans la console pour visiter une opération d'import manuelle de texte, ou encore une réecriture.
  • Un système d'auto-complétion: Les suggestions sont automatiques. Mais l'utilisateur peut utiliser le raccourci Ctrl+Alt+Espace pour afficher la liste disponible.
  • Des boutons graphiques:
    • Nettoyer la console
    • Importation: Permet d'importer la classe processing de Qgis en 2 clics, mais aussi PyQt4.QtCore et Qtgui.
    • Exécuter des commandes: La même chose qu'appuyer sur Entre.
    • Paramètres: Permet de définir les styles du texte et les comportements de l’auto-complétion, ainsi que le chargement de fichiers d'API pr chargs.
    • Afficher l'éditeur : Permet d'ouvrir un éditeur de texte a coté de la console. Pratique pour apporter des modifications mineurs un code.

La console est très puissante car elle permet d'accéder des fonctions de diverse bibliothèques: Le python classique certes, mais aussi PyQgis, ou encore PyQt4 qui offre des fonctions pour faire des interfaces graphiques en QT.

les scripts peuvent ainsi êtres directement tapés dans la console, dans l'interpréteur, ou bien être tapés dans l'éditeur qui permet de faire des modifications avant de lancer son code, ou de l'enregistrer pour une utilisation ultérieure.

Sous forme de plugin Python

pouvant posséder sa propre interface graphique (GUI). Ces plugins peuvent êtres installes manuellement, ou être activés dans le logiciel l'aide du Gestionnaire de plugins (Extension Gestionnaire d'extension), qui centralise des plugins et permet leur installation en 1 clic la plupart du temps.

Les plugins python peuvent être récupérés grâce l'installeur d'extension python:

  • des applications tierces en Python avec leur propre interface peuvent utiliser les fonctionnalités de la bibliothèque PyQGIS.

Nous noterons que dans ce cas, bien que les plugins soient développés partir de scripts Python, on s’éloigne de la notion de scripts, puisque ceux-ci devient invisibles pour l'utilisateur.

Centralisation des plugins dans la bote outils

Des scripts ont t centralisés et sont téléchargeables par l'utilisateur directement depuis la bote de traitement dans l'onglet scripts. On a par exemple un script pour obtenir les “centroïdes réels” d'un polygone. Ces scripts peuvent ensuite êtres adaptés et modifiés selon les besoins de l'utilisateur. On peut également mettre en raccourci dans la barre de traitement les scripts de son propre cru.

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 bote qui nous propose de rentrer du Python, pour faire des requêtes en se basant sur le Pyqgis, le langage de script de Qgis, bas sur du Python. Dans cet exemple, nous pouvons faire des sélections de points selon des critères de latitude, chose qui n'est probablement pas possible en SQL classique.

Les fonctions peuvent ensuite êtres stockes et facilement rappelées avec des critères personnalisables:

On voit bien dans cette illustration la possibilités de définir le paramètre passé dans la fonction.

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. 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 executer par lots

fonctions/automatisation/langages/qgis.txt · Dernière modification : //31/01/2016 16:59// de duthel

Bandeau bas