Actions et propriétés des actions
Depuis QGIS il est possible d'exécuter divers programmes pour consulter des données associées ou exécuter des programmes pour en rapatrier les résultats. Plusieurs types d'actions existent. Elles peuvent être exécutées soit à partir de la valeur d'un attribut d'une couche (« résultats identifiés » par une requête), soit par simple clic sur un élément de la couche active.
Les actions présentées ci-dessous ne sont que des exemples pour illustrer les possibilités. Il s'agit pour l'essentiel des actions disponibles par défaut qui ont été adaptées pour les besoins de cette formation.
Définir les propriétés des actions
La première étape consiste à définir les propriétés des actions associées à chaque fois à une couche.
Cliquer sur les propriétés de la couche souhaitée et cliquer sur l'onglet « Actions ».
Il est possible d'ajouter des actions avec le bouton . Celles-ci peuvent être de plusieurs sortes :
Générique
Python
Mac
Windows
Unix
Ouvrir
Le choix entre les différents types d'actions dépend pour partie du système d'exploitation sur lequel fonctionne QGIS (Windows, Mac, Linux) et si l'on fait appel ou pas à du langage Python. Les actions définies pour un système d'exploitation ne seront pas visibles sur les autres.
Le bouton «Créer les actions par défaut », ajoute plusieurs types d'actions pré-enregistrées avec leur type, leur nom, la syntaxe de leur action.
La case « Capture » cochée ou décochée indique si l'action est active dans l'interface utilisateur.
A partir des « actions par défaut », les actions présentées ci-dessous ne sont données qu'à titre d'exemple pour en illustrer les principes et possibilités. On peut trouver bien d'autres exemples d'actions dès lors qu'on se penche un peu sur les différentes syntaxes .
Voici les actions proposées pour la formation :
Type | Nom | Action par défaut proposée par QGIS | Exemple |
---|---|---|---|
Générique | Lancer une application | ogr2ogr -f "ESRI Shapefile" "[% "OUTPUT_PATH" %]" "[% "INPUT_FILE" %]" | Lancer l'application PhotoFiltre : "C:/Program Files/PhotoFiltre/PhotoFiltre.exe" |
Python | Valeur du champ sélectionné (Outil d'identification des entités) | QtGui.QMessageBox.information(None, "Current field's value", "[% $currentfield %]") | Affiche la valeur du champ "NOM" de l'entité pointée dans la couche COMMUNE (BD TOPO) : QtGui.QMessageBox.information(None, "NOM", "[% "NOM" %]") |
Python | Coordonnées du clic (outil d'exécution d'action sur entité) | QtGui.QMessageBox.information(None, "Clicked coords", "layer: [% $layerid %]\ncoords: ([% $clickx %],[% $clickx %])") | QtGui.QMessageBox.information(None, "Coordonnees", "Coord. X et Y:([% $clickx %],[% $clicky %])") |
Ouvrir | Recherche web basée sur la valeur de l'attribut | http://www.google.fr/?q=[% "ATTRIBUTE" %] | Recherche web basée sur la valeur du champ NOM_COMM : http://www.google.fr/search?q=[% "NOM_COMM" %] |
Remarque : Sauvegarde des actions
Les actions doivent être sauvegardées :
soit dans le fichier projet QGS en cours ;
soit dans le style de la couche en lançant la commande "Enregistrer le style" située en bas de la fenêtre de définition des actions.
Rappel : Le fichier de style au format qml associé à la couche peut contenir la définition des actions, mais également le style de représentation de la couche, tout comme on l'a vu précédemment le paramétrage des outils d'édition des données attributaires. S'il possède le même nom que la couche, il est chargé automatiquement en même temps qu'elle.
Lancer les actions
Pour exécuter les actions, il faut retourner dans la fenêtre cartographique de QGIS et afficher le bouton des actions « Exécuter l'action de l'entité». Ce bouton se trouve dans la barre d'outils "Attributs" de QGIS.
Le bouton liste toutes les actions dont la case « Rendu de capture » a été cochée.
On peut également lancer une action depuis la table d'attribut avec le bouton
Complément :
On peut également lancer les actions associées à une couche en passant par l'outil "Identifier les entités" lorsque cette couche est sélectionnée, et en choisissant la section "Actions" de la fenêtre "Identifier les résultats".
Pour que cette section apparaisse, il faut s'assurer que l'option "Ouvrir le formulaire automatiquement" n'est pas cochée dans la fenêtre d'identification. Si c'est le cas et que le formulaire s'ouvre, il est possible d’utiliser l'outil d'identification avec un clic droit et de choisir identifier tout
, puis de décocher la case.