Extension eVis

Le laboratoire Biodiversity Informatics du Centre pour la Conservation et la Biodiversité (CBC) du Musée américain d’Histoire Naturelle (AMNH) (Cette partie est tirée du Guide eVis (v1.1.0) Horning, N., K. Koy, P. Ersts. 2009. American Museum of Natural History, Center for Biodiversity and Conservation. Disponible à http://biodiversityinformatics.amnh.org, publié sous la licence GNU FDL.) 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 section Gestion 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, vous pouvez soit cliquer sur le bouton event_browser eVis Navigateur d’évènement ou bien cliquer sur le menu Base de données > eVis > Navigateur d’évènement eVis.

La fenêtre de navigateur affiche 3 onglets dans sa partie supérieure. L’onglet affiché 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 Affiché

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

Figure eVis 1:

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

The eVis display window win

  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.

  7. Indicateur d’entité : Cet entête indique quelle entité est affichée et combien d’entités sont disponibles pour l’affichage.

La fenêtre Options

Figure eVis 2:

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

The eVis Options window win

  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 boîte à cocher juste en dessous doit être activé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 une section suivante.

  2. Attribut contenant le compas : Une liste déroulante permet de spécifier le champ contenant les informations sur l’orientation de la photographie affichée. Si cette information est disponible, il est indispensable de cliquer sur la boîte à cocher située à gauche de la liste.

  3. Décalage du compas : Ce décalage peut être utilisé pour compenser une déclinaison (pour passer du nord magnétique au nord géographique) Cliquez sur le bouton radiobuttonon Manuel pour le saisir ou cliquez sur radiobuttonon Depuis l’Attribut pour sélectionner le champ attributaire contenant cette indication. Dans les 2 cas, la déclinaison Est doit être une valeur positive tandis que la déclinaison Ouest doit être négative.

  4. Chemin de base : C’est le chemin à partir duquel le chemin relatif (A) définit dans la figure Figure_eVis_2 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 vidéos et les fichiers audio. Dans le cas contraire, les règles s’appliqueront seulement aux photographies.

  7. Se souvenir de : Si cette case est cochée, les valeurs des paramètres correspondants seront enregistrées pour la prochaine session.

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

  9. Restorer les valeurs par défaut : Réinitialise tous les paramètres à leur valeur par défaut.

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

La fenêtre Configurer les applications externes

Figure eVis 3:

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

The eVis External Applications window win

  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 cellule courante : Effacer 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  http://biodiversityinform.org/testdata/DSC_0170.JPG   10
780596   1784017  pdf:http://www.test.com/attach.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 wiki utilisant une base de données pour la gestion de leurs pages (voir la table evis_examples).

Utilisation du Navigateur d’évènement

Quand la fenêtre du navigateur d’évènement 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 document supporté (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 guilabel:applications externes. Pour l’ouvrir, faites un double-clic sur la ligne en vert. Si un document est référencé, mais nonsurligné 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.

Si aucune indication de compas 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 ce navigateur, cliquez sur le bouton [Fermer] de l’onglet d’affiché.

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 executer cet outil, cliquez sur le bouton event_id Event ID ou bien sur le menu Bases de données > eVis -> Outil ID Evènement. Cela provoquera le changement du curseur en une flèche avec un ‘i’ à son sommet signifiant que l’outil ID est actif.

Pour visonner les photographies liées aux entitées 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 Suivant et Précédent. 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 directement se connecter à 4 types de bases : Microsoft Access, PostgreSQL, MySQL, SQLITE. Il est possible de lire une connexion ODBC telle qu’une feuille Excel, dans ce cas il faut configurer cette connexion via votre système d’exploitation.

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

Cliquez sur le bouton evis_connect Connection à une base de données ou sur le menu Bases de données -> eVis -> connexion à une base de données. Cela ouvrira une fenêtre avec 3 onglets : Requêtes prédéfinies, Connexion à une base, et Requête SQL. La console de sortie en bas de la fenêtre affiche le statut des actions initialisées par les différentes sections de cet outil.

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, cette option n’est pas disponible si vous avez sélectionné “MS Access” comme type. Si la base de données est sur votre ordinateur, vous devrez saisir “localhost”.

Entrez le nom de la base dans la zone de saisie correspondante. Si vous avez sélectionné “ODBC” comme type de base, vous devrez indiquer 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 écrit dans la console de sortie. En cas d’échec, il vous faudra vérifier les paramètres.

Figure eVis 4:

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

The eVis Database connection window win

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

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

  3. Port : Le chiffre du port dans le cas d’une base MYSQL.

  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.

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

  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 Connexion à une base de données.

Faire une requête SQL

Les requêtes SQL sont utilisées pour extraire des informations depuis une base de données ou unesource 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 à http://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.

Figure eVis 5:

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

The eVis SQL query tab win

  1. Zone de texte de requête SQL : Une zone poursaisir 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 et Coordonnée Y 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 à l a 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 espaces blancs.

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 evis_file 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 evis_file 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.

Figure eVis 6:

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

The eVis Predefined queries tab win

  1. Ouvrir le fichier : Lance un explorateur de fichier pour sélectionner le fichier contenant les requêtes au format XML.

  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 tel que définit dans la liste déroulante dans l’onglet de connexion.

databaseport

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

databasename

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

databaseusername

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

databasepassword

Le mot de passe tel que définit dans la liste déroulante dans 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>