QGIS - Créer des zones tampons avec Python

La zone tampon est un outil d'analyse de proximité dans les logiciels de SIG. Elle permet de délimiter un espace à une certaine distance d'un point, d'une ligne ou d'un polygone (dans notre exemple, autour d'un aéroport).

 

Dans QGIS Desktop, les outils d'analyses spatiales sont logés dans la boite à outils de traitements dont l'outil Zone tampon (Buffer en anglais).

 

La plupart de ces outils peut s'exécuter en mode graphique ou dans la console Python. Cette dernière donne plus de flexibilité dans les paramètres. Dans ce tutoriel, nous verrons la création de zone tampon à l'aide de la console Python autour d'un point (aéroport).

1. Dans la fenêtre de QGIS Desktop, cliquez sur le menu Extension > Console Python.

2. En dessous de la fenêtre du logiciel, s'affiche le panneau de la console qui se divise en deux principaux espaces. L'espace d'affichage au dessus (en lecture seule) et l'espace de saisie juste en dessous dans lequel est visible le symbole de l'invite primaire (>>>).

L’algorithme de la zone tampon dans la console Python porte le nom suivant: qgis:fixeddistancebuffer. Avant d'utiliser un algorithme en particulier (dans le cas de cet exercice la zone tampon), il est important d'en connaitre les variables d'entrées). Nous utiliserons la commande alghelp pour avoir plus de détails sur l'algorithme de zone tampon.

3. Dans l'espace de saisie de la Console Python, entrez la commande import processing pour appeler les fonctions de géotraitement dans python et validez avec la touche Entrée du clavier.

4. Ensuite saisissez, toujours dans l'espace de saisie, processing.alghelp(“qgis:fixeddistancebuffer”). A noter qu'il n'y a pas d'espace dans ce code. Appuyez la touche Entrée du clavier.

Cinq différents paramètres sont listés dans l'espace d'affichage de la console.

  • INPUT fait référence à la donnée vecteur en entrée.
  • DISTANCE définit la distance de la zone tampon.
  • SEGMENTS concernent le degré d'arrondi du cercle.
  • DISSOLVE s'intéresse à l'union ou non des résultats tampons.
  • OUTPUT est le paramètre qui enregistre le chemin du fichier en sortie.

Nous avons désormais les paramètres à insérer dans la commande python concernant la création de la zone tampon.

5. Entrez dans le panneau de saisie de la console python, la commande suivante: processing.runandload(“qgis:fixeddistancebuffer”,“C:/DONNEES/aeroports.shp”,5000,20,False,“C:/DONNEES/tampon5000.shp”).

6. Tapez la touche Entrée du clavier. La nouvelle couche Tampon devrait apparaitre dans le panneau des Couches à gauche. Glissez cette dernière en dessous de la couche aeroports.

Maintenant procédons à une explication de la commande saisie au-dessus.

Processing comme on a pu le voir précédemment fait appel aux fonctions de géotraitements dans la console python.

Runandload exécute le géotraitement et charge le résultat dans le canevas de la carte de QGIS Desktop. Le nom et les paramètres du géotraitement sont entre parenthèses.

A l'intérieur des parenthèses, vous avez dans l'ordre:

  • INPUT = “C:/DONNEES/aeroports.shp”
  • DISTANCE = 5000 (Il faut noter ici que la distance dépend du système de coordonnées utilisées, si la projection utilisé est en mètres alors cette distance sera en mètres)
  • SEGMENTS = 20 (on obtient un cercle assez arrondi avec ce chiffre)
  • DISSOLVE = False (Ce paramètre fait allusion à l'union des résultats des zones tampons qui se chevauchent. Si vous mettez True comme valeur, deux zones tampons qui se chevauchent seront dissolues en un seul)
  • OUTPUT = “C:/DONNEES/tampon5000.shp” (C'est le chemin du résultat en sortie).

Vous pouvez vérifier la présence du fichier en sortie dans le dossier comme spécifiez dans le paramètre OUTPUT.

Commentaires   

 
0 #2 Kingest 23-11-2015 09:10
Citation en provenance du commentaire précédent de dom :
L'outil Clip ne permet absolument pas de faire des zones tampons...


Vous avez absolument raison. C'est plutôt Buffer. L'erreur a été corrigée. Merci
Citer
 
 
0 #1 dom 22-11-2015 20:04
L'outil Clip ne permet absolument pas de faire des zones tampons...
Citer
 

Ajouter un Commentaire


Code de sécurité
Rafraîchir