Skip to content
Snippets Groups Projects
getfeatureinfo.md 5.16 KiB
Newer Older
# Interrogation GetFeatureInfo

Armand Bahi's avatar
Armand Bahi committed
*Disponible uniquement à partir de vMap 2018.03.00*

Dans vMap il est possible d'interroger les calques au travers d'objets métiers qui permettront en plus de la consultation des attributs, de mettre à jour la base de données, effectuer des jointures, visualiser des formulaires personnalisés interactifs etc...
Les objets métiers sont adaptés à l'utilisation dans vMap : ils ne permettront pas d'interroger une couche externe, ni d'interroger de façon attributaire une couche vMap depuis un logiciel tiers (FME, QGIS ...). Pour faire cela il faudra utiliser les fonctionnalités d'interrogation WMS par requête GetFeatureInfo.
Le GetFeatureInfo est une fonction du protocole WMS permettant d'intérroger une couche dans le but de recevoir les informations attributaires au format JSON, HTML, image ou texte. Dans la majeur partie des cas et dans vMap c'est le format HTML qui sera utilisé.

Depuis le mode cartographie, il suffira de cliquer sur la carte pour interroger toutes les couches actives au GetFeatureInfo. L'administrateur pourra définir à l'avance les couches interrogeables depuis le mode **calques et cartes** et l'utilisateur pourra à tout moment cocher/dé-cocher les couches interrogeables depuis le menu **jeux de données** situé sur la gauche.

![Utilisation GetFeatureInfo dans vMap](../images/getfeatureinfo/mode_carto.jpg)

## Utilisation dans le mode cartographie

### Sélection des calques et couches à interroger

L’administrateur aura déterminé à l’avance quels sont les calques interrogeables via GetFeatureInfo (voir partie administration), lors du dépliage du volet de gauche pour les calques définis comme interrogeables GetFeatureInfo une nouvelle boite à cocher apparaîtra et permettra à l’utilisateur de définir si le calque ainsi que ses couches seront interrogés.
Les boîtes à cocher peuvent avoir 3 états pour gérer les configurations intermédiaires (calques partiellement interrogeables).

![Selection couches GetFeatureInfo](../images/getfeatureinfo/mode_carto_2.jpg)



Les calques interrogeables sont ceux pour lesquels le service GetFeatureInfo a été défini. Cette définition n'est pas obligatoire, elle reste de la responsabilité du fournisseur de service.

### Clic sur la carte

Après avoir sélectionné la méthode d’interrogation, quand on clique sur un objet cartographique de la carte une fenêtre apparaît avec les différentes couches ainsi que le résultat HTML de la requête.
Comme la hauteur et la largeur du résultat peuvent être grandes, des barres de défilement apparaissent automatiquement.

![Utilisation GetFeatureInfo dans vMap](../images/getfeatureinfo/mode_carto.jpg)

On voit apparaître sur la carte en bleu le point qui a été cliqué, sur la droite de la carte une fenêtre résultante apparaît : on y retrouve la liste des couches potentiellement interrogeables de la carte, en cliquant sur un des éléments de cette dernière le résultat de la requête GetFeatureInfo correspondant s’inscrit sur la partie de droite de la fenêtre.

Sur la liste des couches interrogeables, on distinguera les couches avec et sans résultat.

Si pendant que la fenêtre résultante est affichée l’utilisateur effectue un autre clic sur la carte, alors les informations se rechargent, si une couche était sélectionnée dans la fenêtre elle restera affichée même si aucun résultat n’est ressorti.

La fermeture de la fenêtre contenant les informations entraîne la suppression du point bleu (localisation du clic).
Le résultat affiché est celui de la requête GetFeatureInfo, il peut donc être potentiellement incohérent si le serveur renvoie un message d'erreur ou des documents non html (xml, json…).

## Activation depuis l'interface d'administration

Pour activer les fonctionnalités d'interrogation WMS par requête GetFeatureInfo il faudra agir sur la **configuration de l'application**, sur les couches depuis le mode **MapServer** et sur les calques depuis le mode **calques et cartes**.

### Configuration

Dans le mode **configuration** puis dans la section **Configuration vMap** il est possible d'activer la fonctionnalité.

![Activation GetFeatureInfo](../images/getfeatureinfo/config_vmap.jpg)

### Mode MapServer

Pour que les couches puissent générer du GetFeatureInfo il faudra leur associer un **template**, pour cela il faudra le générer puis renseigner son emplacement dans la définition.

![Administration couche GetFeatureInfo](../images/getfeatureinfo/admin_couche.jpg)

Armand Bahi's avatar
Armand Bahi committed
Pour administrer le template il faudra de cliquer sur le bouton **Template GetFeatureInfo** qui va permettre d'éditer, générer et enregistrer le fichier au format HTML sur le serveur.
Armand Bahi's avatar
Armand Bahi committed
![Administration couche GetFeatureInfo](../images/getfeatureinfo/admin_couche_2.jpg)

Une fois le fichier enregistré, il faudra dans la définition de la couche placer dans chaque balise **CLASS** la ligne suivante :
```
TEMPLATE "../template/getfeatureinfo/{LAYER_NAME}.html"
```

### Mode calques et cartes

Enfin il faudra au travers du formulaire du calque définir que ce dernier est interrogeable au travers de la requête GetFeatureInfo.

![Administration couche GetFeatureInfo](../images/getfeatureinfo/admin_calque.jpg)