Vous êtes sur la page 1sur 3

TP QGIS : Console Python

Console Python de Quantum GIS :


exemples pratiques
Ce document fait partie d’une série de tutoriels destinés au logiciel Quantum GIS dans
sa version 1.8 Lisboa. Il ne remplace pas le manuel utilisateur du logiciel, il est donc
conseillé de s’y référer pour plus de détails sur les fonctionnalités.
Auteur : Marie SILVESTRE – marie.silvestre@upmc.fr
CNRS FR3020 FIRE Fédération Ile-de-France de Recherche sur l’Environnement
Ce document est sous la licence CC BY-SA 3.0 : Creative Commons Paternité – Partage
des conditions initiales à l’identique.

Pour suivre ce document d’une manière pratique, lorsque des actions sont demandées aux
lecteurs, les paragraphes d’instructions sont signalés par une barre verticale.

Notion abordée :
– lancement de script via la console Python.

L’objectif de ce TP est d’aborder l’utilisation de la console Python dans QGIS à travers


quelques exemples pratiques.

Ce tutoriel en Anglais fournit une introduction plus complète de la console Python :


http://www.qgisworkshop.org/html/workshop/python_in_qgis_tutorial2.html.

1 Préparation de l’environnement de travail


Nous allons travailler sur la caractérisation des types d’occupation du sol autour de
points de prélèvements en faisant varier le rayon de recherche de 200 à 800m.

Assurez vous que le projet est dans le SCR RGF93 / Lambert 93.

Charger les couches d’occupation du sol (CLC06_drac.shp) et de points


d’échantillonnage (sampling_points.shp).
Etiquetez les points d’échantillonnage par leur identifiant.

2 Ouverture de la console Python


La console s’ouvre via le menu "Extension / Console Python".

1
TP QGIS Console Python

Figure 1 – Lancement de la console Python dans QGIS.

3 Premiers pas sur la console Python


Par défaut la version de Python qui est utilisée est la version 2.7. La documentation
complète de l’API QGIS se trouve à cette adresse : http://www.qgis.org/api/.

Dans la console, pour accéder aux éléments de l’interface (liste des couches, etc.), il
faut tout d’abord l’instancier en tapant :
>>> q g i s . u t i l s . i f a c e
La liste des couches affichées est stockée via l’objet mapCanvas() et s’obtient en parcourant
la liste layers() :
>>> canvas = q g i s . u t i l s . i f a c e . mapCanvas ( )
>>> for l a y e r in canvas . l a y e r s ( ) : print l a y e r . name ( )
Le nombre de couches affichées se retrouve avec layerCount() et les couches affichées sont
numérotées de haut en bas en partant de 0 :

2
TP QGIS : Console Python

>>> canvas . l a y e r C o u n t ( )
>>> print canvas . l a y e r ( 0 ) . name ( )
>>> print canvas . l a y e r ( 1 ) . name ( )

4 Lancement de scripts via la console Python


Pour exécuter un script écrit en Python via la console il suffit de connaître le chemin
complet vers le fichier et d’utiliser les lignes de code suivantes :
>>> s c r i p t P a t h = "E : /TP_QGIS/ data /12 _Console_Python / scriptName . py "
>>> e x e c f i l e ( s c r i p t P a t h )

Zones tampons croissantes

Ouvrez le script buffer.py dans Notepad++ et modifiez le chemin d’enregistrement


des couches en sortie.
Ce script permet de générer des zones tampons de tailles croissantes (200m, 400m, etc.)
sur la couche sélectionnée au moment de lancer le script.
Lancez le script sur la couche des points d’échantillonnage et affichez les résultats.

Zones tampons croissantes et intersection avec l’occupation du sol

Ouvrez le script buffer_intersect.py dans Notepad++ et modifiez le chemin


d’enregistrement des couches en sortie.
En plus du script précédent, ce script permet de croiser la couche d’occupation du sol
avec chacune des zones tampons générées.
Notez que dans ce script il n’est pas nécessaire de sélectionner la couche des points
d’échantillonnage avant de le lancer, il récupère la couche en effectuant une recherche
sur son nom.
Lancez le script et affichez les résultats.

Vous aimerez peut-être aussi