Vous écrivez des scripts Python autonomes à l'aide de PyQGIS?

17

J'ai appris à utiliser la console Python dans QGIS en utilisant les références de qgisworkshop.org . Je suis familier avec l'écriture de scripts autonomes dans ArcGIS et je veux apprendre à faire de même avec QGIS.

Par exemple, dans ArcGIS 10, un simple script python autonome serait:

import arcpy 

setFolder = ''

doProcess

Je comprends comment faire cela en utilisant la console python dans QGIS, mais je n'ai pas réussi à trouver un exemple pour effectuer les mêmes étapes à l'aide d'un script autonome. Je pense que je n'ai pas eu de chance avec ma recherche. Existe-t-il des exemples clairs de la façon de procéder en ligne?

djq
la source

Réponses:

15

Je n'ai pas encore écrit de scripts autonomes basés sur l'API QGIS, mais le livre de recettes PyQGIS utilise l'initialisation suivante:

Tout d'abord, vous devez importer le module qgis, définir le chemin QGIS où rechercher les ressources - base de données de projections, fournisseurs, etc. . L'appel à la fonction initQgis () est important pour permettre à QGIS de rechercher les fournisseurs disponibles.

from qgis.core import *

# supply path to where is your qgis installed
QgsApplication.setPrefixPath("/path/to/qgis/installation", True)

# load providers
QgsApplication.initQgis()

Maintenant, vous pouvez travailler avec l'API QGIS - charger des couches et effectuer un traitement ou lancer une interface graphique avec un canevas de carte. Les possibilités sont infinies :-)

Lorsque vous avez terminé d'utiliser la bibliothèque QGIS, appelez exitQgis () pour vous assurer que tout est nettoyé (par exemple, effacer le registre des couches de carte et supprimer les couches):

QgsApplication.exitQgis()
obscur
la source
1
Merci @underdark - c'est utile. J'ai trouvé que ce n'était pas anodin de from qgis.core import *travailler sur OSX, donc je prévois de poser une nouvelle question à ce sujet.
djq
Désolé de marquer une autre question ici, mais existe-t-il une documentation en ligne du module qgis? Tout ce que je peux trouver est une référence à ce qu'il soit similaire aux documents c ++, mais pas de lien réel vers les documents python.
djq
Les spécificités de Python se trouvent dans le livre de recettes pyQGIS. Sinon, vous pouvez compter sur les documents normaux de l'API C ++ - ce n'est pas simplement similaire, à mon humble avis c'est la même chose.
underdark
Pour l'utilisateur ubuntu, consultez: gis.stackexchange.com/questions/52919/… pour le chemin d'installation. (c'est "/ usr")
Mr Purple