Afficher la valeur d'un champ d'une couche active
On peut choisir d'afficher la valeur d'un champ d'une couche active à l'endroit d'un clic.
Ici on propose de renvoyer la valeur du champ NOM_COMM
La syntaxe est de type (action de type Python) :
QtGui.QMessageBox.information(None, "Identification", "[% "NOM_COMM" %]")
Le résultat s'affiche dans une boîte des résultats renvoyés par l'action :
En cliquant sur OK la fenêtre de résultat se referme mais l'action est toujours active tant qu'une autre action n'est pas choisie. On peut donc continuer à utiliser cette action pour consulter les valeurs du même champ en d'autres endroits de la fenêtre cartographique.
On peut aussi afficher la valeur de plusieurs champs en organisant la présentation du résultat sur plusieurs lignes :
La syntaxe de l'action est la suivante :
QtGui.QMessageBox.information(None, "INFORMATIONS", " COMMUNE : [% NOM_COMM %] \n CODE INSEE : [% INSEE_COMM %] \n POPULATION : [% POPULATION %] habitants")
Une fois l'action lancée, un clic dans une commune fait apparaître la boîte de résultat suivante :
Exemple : Action permettant d'afficher le parcellaire d'une commune à partir du service INSPIRE pour le cadastre
Le service WMS INSPIRE pour le cadastre est disponible sur Internet.
Il est possible de créer une action qui utilisera une couche de commune pour télécharger directement le parcellaire.
Par exemple si on utilise la couche COMMUNE de la BdCarto, le champ NOM_COMM donne le nom de la commune et le champ INSEE_COMM le numero INSEE.
L'action python suivante :
from qgis.core import *
import qgis.utils
iface=qgis.utils.iface
uri=u"crs=EPSG:2154&dpiMode=7&featureCount=10&format=image/png&layers=CP.CadastralParcel&styles=DEFAUT&url=http://inspire.cadastre.gouv.fr/scpc/[% "INSEE_COMM" %].wms?"
nom= u"WMS_cadastre_[% "NOM_COMM" %]".replace("'", ' ')
macouche=iface.addRasterLayer(uri, nom, 'wms')
permettra de charge le parcellaire (qui s'affiche si le zoom est suffisant).
« (remerciement à F. MUZZOLON DTT63 pour cette astuce). »