Extension eVis

(Cette section est issue de l’ouvrage Horning, N., K. Koy, P. Ersts. 2009. eVis (v1.1.0) User’s Guide. American Museum of Natural History, Center for Biodiversity and Conservation. Disponible sur https://biodiversityinformatics.amnh.org/ et sortie sous licence GNU FDL.)

Le laboratoire Biodiversity Informatics du Centre pour la Conservation et la Biodiversité (CBC) du Musée américain d’Histoire Naturelle (AMNH) a développé l’outil de visualisation des évènements (eVis) qui fait partit d’une suite logicielle destinée à la gestion et la surveillance des zones naturelles protégées. Cette extension permet à un utilisateur de lier facilement des photographies géocodées (c-à-d avec des coordonnées lat/long ou X/Y renseignées) et d’autres types de documents à des données vectorielles dans QGIS.

eVis est dorénavant installée automatiquement dans les nouvelles versions de QGIS, et comme toutes autres extensions, elle peut être activée ou désactivée dans le Gestionnaire d’extensions (voir La fenêtre des Extensions).

L’extension consiste en 3 modules : l’outil de “Connexion à une base de données”, l’outil “ID d’évènements” et le “Navigateur d’évènement”. Ils fonctionnent ensemble pour permettre l’affichage de documents géoéréfrencés qui sont liés à des entités enregistrées dans des fichiers vectoriels, des bases de données ou des feuilles de tableur.

Navigateur d’évènement

Le navigateur d’évènement fournit la capacité d’afficher des photographies ayant un lien avec les entités vecteurs affichées dans la fenêtre principale de QGIS. Ces entités doivent avoir des informations attributaires associées décrivant l’emplacement et le nom du fichier contenant la photographie et, optionnellement, la direction vers laquelle était pointé l’objectif lors de la prise de vue. Votre couche vectorielle doit être chargée dans QGIS avant le lancement du navigateur d’évènements.

Afficher le navigateur d’évènement

Pour lancer le Navigateur d’évènement , cliquez sur le menu Base de données ‣ eVis ‣ eventBrowser Navigateur d’évènements eVis. Ceci ouvrira la fenêtre du Navigateur d’évènements.

La fenêtre de navigateur affiche 3 onglets dans sa partie supérieure. L’onglet Affichage est utilisé pour voir la photographie et les données attributaires correspondantes. L’onglet des options fournit une série de paramètres qui peuvent être ajustés pour contrôler le comportement de l’extension eVis. Enfin, l’onglet de configurer les applications externes contient une table des extensions de fichiers et des applications qui leur sont associées pour permettre à eVis d’afficher des documents autre qu’une image.

La fenêtre Affichage

Pour voir la fenêtre Affichage, cliquez sur l’onglet Affichage du navigateur d’évènement. Cette fenêtre est utilisée pour visualiser les photographies et leurs données attributaires.

../../../../_images/evisdisplay.png

La fenêtre Affichage d”eVIS

  1. Zone d’affichage : emplacement où s’affichera l’image.

  2. Bouton Zoom + : Zoomez pour voir plus de détails. Si l’image ne peut être affichée entièrement dans la fenêtre, des barres de défilement apparaîtront sur les bords gauches et inférieures pour que vous puissiez bouger l’image.

  3. Bouton Zoom - : Zoomez en arrière pour avoir une vue d’ensemble.

  4. Bouton Zoomer sur l’emprise : Affiche l’emprise maximale de la photographie.

  5. Zone d’informations : Toutes les informations attributaires pour le point associé à la photographie sélectionnée sont affichées ici. Si le type de fichier référencé n’est pas une image, mais d’un type renseigné dans l’onglet configurer les applications externes (il sera alors affiché en vert), un double clic lancera l’application désignée.

  6. Boutons de navigation : Utilisez les boutons [Suivant] et [Précédent] pour charger une autre entité lorsque plusieurs sont sélectionnées.

La fenêtre Options

../../../../_images/evisoptions.png

La fenêtre Options d”eVis

  1. Chemin du fichier : Une liste déroulante permet de spécifier quel est l’attribut contenant le chemin d’accès vers le document devant être affiché. Si l’emplacement est un chemin relatif alors la case située juste en dessous doit être cochée. Le chemin de base peut être saisi dans la zone de texte. Les informations à propos des différentes options pour indiquer le chemin sont expliquées dans la section Spécifier un emplacement et le nom d’une photographie, ci-dessous.

  2. Orientation de la boussole : Une liste déroulante pour définir le champ d’attribut qui contient l’orientation de la boussole associé à la photo affichée. Si des informations d’orientation de la boussole sont disponibles, il est nécessaire de cocher la case dessous le titre de menu déroulant.

  3. Décalage de la boussole : les décalages de la boussole peuvent être utilisés afin de compenser la déclinaison (afin d’ajuster l’orientation collectée par orientation magnétique vers le vrai nord). Cliquez le bouton radio radioButtonOn Manuel pour entrer le décalage dans le champ texte ou cliquez le bouton radio radioButtonOn radioButtonOn Depuis l’attribut afin de sélectionner le champ contenant les décalages. Pour ces deux options, les déclinations est doivent entrées en utilisant des valeurs positives et les déclinaisons ouest des valeurs négatives.

  4. Chemin de base : C’est le chemin à partir duquel le chemin relatif définit dans la figure Figure_eVis_options (A) sera établi.

  5. Remplacer le chemin : Si cette case est cochée alors seul le nom du fichier sera ajouté au chemin de base.

  6. Appliquer la règle à tous les documents : Si cochée, la règle définie pour les photographies sera utilisée pour les autres documents tels que les fichiers textes, les vidéos et les fichiers audio. Dans le cas contraire, les règles s’appliqueront seulement aux photographies.

  7. S’en souvenir : Si cette case est cochée, les valeurs des paramètres correspondants seront enregistrées pour la prochaine session au moment de la fermeture de la fenêtre ou quand le bouton Enregistrer est cliqué.

  8. Réinitialiser : Remet les valeurs par défaut pour ce paramètre.

  9. Restaurer les valeurs par défaut : Réinitialise tous les paramètres à leur valeur par défaut. Il équivaut à cliquer sur tous les boutons Réinitialiser.

  10. Enregistrer : Ceci enregistrera les valeurs sans fermer l’onglet des options.

La fenêtre Configurer les applications externes

../../../../_images/evisexternal.png

La fenêtre Configuration des applications externes d”eVis

  1. Tableau des références : Une table contient tous les types de fichiers qui peuvent être ouverts par eVis. Chaque type de fichier doit avoir une extension qui lui est propre et un chemin vers une application pour l’ouvrir. Ce la permet d’utiliser un large éventail de documents autre que des images.

  2. Ajouter un nouveau type de fichier : Ajoute un nouveau type de fichier avec son extension et une application dédiée.

  3. Effacer la ligne sélectionnée : Efface le type de fichier sélectionné dans la table.

Spécifier un emplacement et le nom d’une photographie

Le nom et l’emplacement d’une photographie peuvent être enregistrés avec un chemin absolu ou relatif ou une URL si l’image se trouve sur un serveur Internet. Des exemples de ces différentes approches sont listés dans la table evis_examples.

X        Y        FILE                                                BEARING
780596   1784017  C:\Workshop\eVis_Data\groundphotos\DSC_0168.JPG     275
780596   1784017  /groundphotos/DSC_0169.JPG                          80
780819   1784015  https://biodiversityinformatics.amnh.org/\
                  evis_testdata/DSC_0170.JPG                          10
780596   1784017  pdf:https://www.testsite.com/attachments.php?\
                  attachment_id-12                                    76

Spécifier l’emplacement et le nom d’un document autre qu’une image

Les documents texte, vidéos ou audio peuvent aussi être affichés par eVis. Pour ce faire, il est nécessaire d’ajouter une entrée dans la table des références fichiers qui pourra être utilisé par l’une des applications externes définies. Il est aussi nécessaire d’avoir le chemin vers le fichier dans la table attributaire de la couche vectorielle. Une possibilité supplémentaire est de spécifier l’extension du fichier avant le chemin (par exemple avi:/chemin/du/fichier), ce qui est très utile pour accéder à des documents placés sur des sites ou des wikis utilisant une base de données pour la gestion de leurs pages (voir la table evis_examples).

Utiliser le Navigateur d’évènements

Quand la fenêtre du Navigateur d’évènements s’ouvre, une photographie apparaîtra dans l’onglet d’affichage si le document référencé dans la table attributaire du fichier vectoriel est une image et que les paramètres d’emplacement sont correctement renseignés. Si la photographie voulue n’apparaît pas, c’est qu’il vous est nécessaire d’ajuster les paramètres de l’onglet des options.

Si un format de document géré (ou une image n’ayant pas d’extension reconnue par eVis) est référencé dans la table attributaire, le champ contenant le chemin vers le fichier sera surligné en vert dans la liste des références fichiers si cette extension a été définie dans la table de configuration des applications externes. Pour l’ouvrir, faites un double-clic sur la ligne en vert. Si un document est référencé, mais non surligné en vert, il est nécessaire d’ajouter une entrée pour son extension. Si le chemin est bien surligné en vert, mais qu’un double-clic reste sans effet, il faudra alors vérifier que l’application associée à l’extension est bien renseignée dans l’onglet Options.

Si aucune indication de boussole n’est fournie dans les options, un astérisque rouge sera affiché au-dessus de l’entité vectorielle concernée par l’image affichée. Si cette indication est disponible alors une flèche pointant la direction de l’objectif apparaîtra. La flèche sera centrée sur le point associé à la photographie ou au document.

Pour fermer le Navigateur, cliquez sur le bouton Fermer de l’onglet d”Affichage.

Outil ID évènement

L’outil “Id évènement” permet d’afficher une photographie en cliquant sur l’entité affichée dans la fenêtre de QGIS. La couche vectorielle doit avoir des attributs associés indiquant l’emplacement, le nom du fichier et l’indication de compas si nécessaire. Cette couche doit être chargée avant d’utiliser cet outil.

Lancement du module ID évènement

Pour lancer l” “outil eVis Id Evenement”, cliquez soit sur eventId outil eVis Id Evenement soit sur Base de données ‣ eVis ‣ Outil eVis Id Evenement. Votre curseur se transformera en une flèche avec un “i” au-dessus signifiant par là que l’outil d’identification est actif.

Pour visionner les photographies liées aux entités de la couche vectorielle active, déplacez le curseur sur l’une d’elles et faites un clic. La fenêtre du Navigateur d’évènement s’ouvre alors en affichant la photographie du point ou proche. Si plus d’une est disponible, vous pouvez faire défiler les différentes entités avec les boutons Précédent et Suivant. Les autres boutons sont décrits dans la section Navigateur d’évènement de ce manuel.

Connexion à une base de données

Cet outil permet de se connecter et d’interroger une base de données ou une ressource ODBC telle qu’un tableur.

eVis peut se connecter directement à ces types de bases de données : PostgreSQL, MySQL et SQLite et peut utiliser des connexions ODBC (par exemple Access). Pour des connexions ODBC (par exemple un fichier Excel), il est nécessaire de configurer votre driver ODBC en fonction de votre système d’exploitation.

L’outil de connexion à une base de données

Pour lancer le module de “Connexion à la base de données”,cliquez soit sur l’icône correspondant evisConnect Connexion eVis à une base de données soit sur Base de données ‣ eVis ‣ Connexion eVis à une base de données. Cette action ouvre la fenêtre Connexion à une base de données. Trois onglets sont disponibles : Requêtes prédéfinies, Connexion à une base de données, et Requête SQL. La fenêtre Console de sortie en bas de la fenêtre affiche le statut des actions initiées dans chacun des onglets de ce module.

Se connecter à une base

Cliquez sur l’onglet Connexion à une base puis sur le menu déroulant Type de la base de données pour sélectionner selectString le type de base à laquelle vous voulez vous connecter. Vous pouvez saisir un nom d’utilisateur et un mot de passe si nécessaire.

Entrez le nom de l’hôte de la base de données dans la zone de texte Hôte de la base de données. Cette option n’est pas disponible si vous avez sélectionné “MS Access” comme type de base de données. Si la base de données est localisée sur votre ordinateur, vous pouvez entrer « localhost ».

Renseignez le nom de la base de données dans la zone de texte Nom de la base de données. Si vous avez sélectionné “ODBC” comme type de base de données, il vous faudra entrer le nom de la source de données.

Quand tous les paramètres sont corrects, cliquez sur le bouton Connecter. Si la connexion est réussie, un message sera affiché dans la console de sortie. En cas d’échec, il vous faudra vérifier les paramètres.

../../../../_images/evisdatabase.png

La fenêtre Connexion à une base de données d”eVIS

  1. Type de base de données : Une liste déroulante pour spécifier le type de base de données qui sera utilisée.

  2. Hôte de la base de données : le nom de l’hôte de la base.

  3. Port : Le numéro du port dans le cas d’une base de données MySQL ou PostGreSQL.

  4. Nom de la base de données : Le nom de la base de données.

  5. Connecter : Ce bouton établit la connexion avec les paramètres définis ci-dessus.

  6. Console de sortie : Console où sont affichés les messages relatifs au déroulement des processus.

  7. Nom d’utilisateur : Nécessaire quand la base est protégée en accès.

  8. Mot de passe : Nécessaire quand la base est protégée en accès.

  9. Requêtes Prédéfinies : Onglet ouvrant la fenêtre de Requêtes Prédéfinies.

  10. Connexion à une base de données : Onglet ouvrant la fenêtre de Connexion à une base de données.

  11. Requête SQL : Onglet ouvrant la fenêtre de Requête SQL.

  12. Aide : Affiche l’aide en ligne.

  13. OK : Ferme la fenêtre principale.

Lancer des requêtes SQL

Les requêtes SQL sont utilisées pour extraire des informations depuis une base de données ou une source ODBC. Dans eVis, le résultat de ces requêtes est une couche vectorielle ajoutée à QGIS. cliquez sur l’onglet Requête SQL pour afficher l’interface. Les commandes SQL peuvent être saisies depuis cette fenêtre de texte. Un tutoriel bien pratique sur les commandes SQL est disponible à https://www.w3schools.com/sql. Par exemple, pour extraire toutes les données d’un fichier Excel, faites select * from [sheet1$]sheet1 est le nom de la feuille concernée.

Cliquez sur le bouton Exécuter la requête pour exécuter la commande. Si la requête est fructueuse, une fenêtre de sélection sera affichée. Dans le cas contraire, un message d’erreur apparaîtra dans la console de sortie.

Dans cette nouvelle fenêtre, entrez le nom de la couche qui sera créée à partir des résultats dans la zone de texte Nom de la Nouvelle Couche.

../../../../_images/evissql_query.png

L’onglet Requête SQL d’eVis

  1. Zone de texte de requête SQL : Une zone pour saisir vos requêtes.

  2. Exécuter la requête : Ce bouton exécute la requête écrite.

  3. Console : Console où sont affichés les messages relatifs au déroulement de la connexion.

  4. Aide : Affiche l’aide en ligne.

  5. OK : Ferme la fenêtre Connexion à une base de données.

Utilisez les menus déroulants Coordonnée X selectString et Coordonnée Y selectString pour choisir les champs stockant les coordonnées en X (ou longitude) et Y (ou latitude). Cliquez sur Ok pour créer la couche vectorielle qui sera affichée sur la carte de QGIS.

Pour enregistrer ce fichier pour une utilisation ultérieure, vous pouvez utiliser la fonction de QGIS “Sauvegarder sous” accessible via un clic droit sur la couche listée dans la zone de légende

Astuce

Créer une couche vectorielle depuis un fichier Microsoft Excel

Lorsque vous créer une couche vectorielle depuis un fichier Excel, vous risquez peut être de voir des zéros (« 0 ») insérés dans les lignes de la table attributaire à la suite de données valides. Cela peut être résolu par l’utilisation de la touche Retour arrière dans une cellule. Pour cela, vous devez ouvrir le fichier (après avoir fermé QGIS si vous y êtes connecté) et utiliser le menu Édition ‣ Effacer le contenu pour supprimer les lignes vides.

Exécuter des requête prédéfinies

Avec les requêtes prédéfinies, vous pouvez sélectionner des requêtes déjà écrites et stockées au format XML. Cela peut être utile si vous n’êtes pas familier avec les commandes SQL. Cliquez sur l’onglet Requêtes prédéfinies pour afficher l’interface.

Pour charger un jeu de requêtes prédéfinies, cliquez sur le bouton evisFile Ouvrir. Une fenêtre s’ouvre pour sélectionner le fichier. Lorsque les requêtes sont chargées, leurs titres définis au format XML apparaîtront dans le menu déroulant situé en dessous du bouton evisFile Ouvrir. La description complète de la requête est affichée dans la zone en dessous de la liste.

Sélectionnez la requête que vous voulez exécuter depuis la liste déroulante et ensuite cliquez sur l’onglet de requête SQL pour observer la requête qui vient d’être chargée. Si c’est la première fois que vous exécutez une requête prédéfinie ou que vous changez de base de travail, vous devrez vous connecter à la base de données.

Cliquez sur le bouton Exécuter la requête dans l’onglet Requête SQL pour lancer la commande. Si la requête est fructueuse, une fenêtre de sélection sera affichée. Dans le cas contraire, un message d’erreur apparaîtra dans la console de sortie.

../../../../_images/evispredefined.png

L’onglet Requêtes prédéfinies d”eVis

  1. Ouvrir le fichier: lance l’explorateur de fichier « ouvrir le fichier » afin de charger le fichier XML contenant les requêtes prédéfinies.

  2. Requêtes prédéfinies : Une liste déroulante affichant toutes les requêtes prédéfinies dans le fichier XML.

  3. Description de la requête : Une courte description de la requête.

  4. Console : Console où sont affichés les messages relatifs au déroulement de la connexion.

  5. Aide : Affiche l’aide en ligne.

  6. OK : Ferme la fenêtre principale.

Le format XML pour les requêtes d’eVis

Les balises XML reconnues par eVis

Balise

Description

query

Définit le début et la fin d’une requête.

shortdescription

Une courte description qui apparaît dans le menu déroulant.

description

Une description plus détaillée.

databasetype

Le type de base de données, défini dans la liste déroulante de l’onglet de connexion.

databaseport

Le port tel que défini dans la liste déroulante de l’onglet de connexion.

databasename

Le nom de la base de données tel que défini dans la liste déroulante de l’onglet de connexion.

databaseusername

Le nom d’utilisateur tel que défini dans la liste déroulante de l’onglet de connexion.

databasepassword

Le mot de passe tel que défini dans la liste déroulante de l’onglet de connexion.

sqlstatement

La commande SQL.

autoconnect

Un interrupteur (« vrai » or « faux ») pour spécifier si les balises précédentes doivent être utilisées pour se connecter automatiquement à une base de données sans passer par les routines de connexion de l’onglet.

Voici un exemple complet avec 3 requêtes:

<?xml version="1.0"?>
<doc>
 <query>
   <shortdescription>Import all photograph points</shortdescription>
   <description>This command will import all of the data in the SQLite database to QGIS
      </description>
   <databasetype>SQLITE</databasetype>
   <databasehost />
   <databaseport />
   <databasename>C:\textbackslash Workshop/textbackslash
eVis\_Data\textbackslash PhotoPoints.db</databasename>
   <databaseusername />
   <databasepassword />
   <sqlstatement>SELECT Attributes.*, Points.x, Points.y FROM Attributes LEFT JOIN
      Points ON Points.rec_id=Attributes.point_ID</sqlstatement>
   <autoconnect>false</autoconnect>
 </query>
  <query>
   <shortdescription>Import photograph points "looking across Valley"</shortdescription>
   <description>This command will import only points that have photographs "looking across
      a valley" to QGIS</description>
   <databasetype>SQLITE</databasetype>
   <databasehost />
   <databaseport />
   <databasename>C:\Workshop\eVis_Data\PhotoPoints.db</databasename>
   <databaseusername />
   <databasepassword />
   <sqlstatement>SELECT Attributes.*, Points.x, Points.y FROM Attributes LEFT JOIN
      Points ON Points.rec_id=Attributes.point_ID where COMMENTS='Looking across
      valley'</sqlstatement>
   <autoconnect>false</autoconnect>
 </query>
 <query>
   <shortdescription>Import photograph points that mention "limestone"</shortdescription>
   <description>This command will import only points that have photographs that mention
      "limestone" to QGIS</description>
   <databasetype>SQLITE</databasetype>
   <databasehost />
   <databaseport />
   <databasename>C:\Workshop\eVis_Data\PhotoPoints.db</databasename>
   <databaseusername />
   <databasepassword />
   <sqlstatement>SELECT Attributes.*, Points.x, Points.y FROM Attributes LEFT JOIN
      Points ON Points.rec_id=Attributes.point_ID where COMMENTS like '%limestone%'
      </sqlstatement>
   <autoconnect>false</autoconnect>
 </query>
</doc>