Expression#
On peut définir sa propre expression QGIS à l'aide de Python. Il existe un chapitre dans le Python cookbook
Dans la fenêtre des expressions QGIS, on peut observer la fonction déjà existante.
feature
, parent
et context
sont des paramètres particuliers dans la signature de la fonction. Si QGIS trouve
le mot-clé, il assigne l'objet correspondant :
feature
: QgsFeature pour l'entité en coursparent
: QgsExpression l'expression QGIS en courscontext
: QgsExpressionContext pour le contexte d'exécution de l'expression
Exemple#
On souhaite utiliser l'API de Wikipédia afin de récupérer la description d'un terme.
Par exemple, si on cherche le terme Montpellier
avec l'API Wikipédia :
https://fr.wikipedia.org/w/api.php?action=query&titles=Montpellier&prop=description&format=json
Il existe plusieurs moyens de faire des requêtes HTTP en Python et/ou PyQGIS. Utilisons la technique Processing avec l'algorithme "Téléchargeur de fichier" (graphiquement, il n'est disponible que dans le modeleur) :
1 2 3 4 5 6 7 8 |
|
Tip
On peut afficher le panneau de débogage et développement de QGIS afin de voir les requêtes HTTP. Il se trouve dans le menu Vue ▶ Panneau ▶ Débogage et développement
On va désormais parser le fichier JSON que l'on obtient avec la libraire json
afin de récupérer la description
:
1 2 3 4 5 6 7 8 9 |
|
Solution complète pour l'expression QGIS
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
|