Localiser par couche — L’outil de localisation

Principe

L’idée de cet outil est de présenter à l’utilisateur de Lizmap Web Client une liste déroulante qui permet de zoomer automatiquement sur un ou plusieurs objets spatiaux de la couche.

Cas d’utilisation

Prenons comme exemple une couche vectorielle spatiale Quartiers contenue dans le projet QGIS. On choisit d’ajouter ces quartiers dans l’outil Localiser par couche, pour permettre aux utilisateurs de Lizmap Web Client de se positionner rapidement sur un des quartiers.

Une fois cette couche ajoutée dans l’outil Localiser par couche, une liste déroulante contenant les quartiers s’affiche sur l’interface web de Lizmap.

Lorsque l’utilisateur de la carte web sélectionne un nom dans cette liste, la carte se recentre automatiquement sur le quartier sélectionné, et la géométrie du quartier s’affiche (en option).

Pré-requis

La couche doit publiée en WFS (voir WFS/OAPI) et la clé primaire doit aussi être publiée dans les Propriétés de la couche.

Avertissement

Cet outil n’est pas conçu pour les couches ayant beaucoup d’entités ou beaucoup de géométries complexes. Le navigateur web devra en effet télécharger toutes les entités avec des géométries vectorielles, ce qui rendra le chargement de l’application plus lent. Pour réduire le temps de chargement, vous pouvez réduire les décimales dans les paramètres WFS, par exemple si votre couche est en mètres. Pour de meilleures performances si votre couche est stockée dans PostGIS, utilisez Recherche PostgreSQL.

Configurer l’outil

../../_images/interface-add-locate-layer.jpg

Pour ajouter une couche à cet outil :

  1. Cliquer sur le bouton add_layer_svg.

  2. choisissez la couche via la première liste déroulante parmi les couches vectorielles du projet,

  3. puis la colonne qui contient le libellé que vous souhaitez afficher dans la liste déroulante.

  4. si vous souhaitez ajouter un pré-filtre sur vos données avec un regroupement, utilisez le champ Regroupement optionnel.

  5. Si vous souhaitez que la géométrie liée aux objets soit aussi affichée sur la carte lorsque l’utilisateur sélectionne un élément de la liste, alors on coche l’option Afficher la géométrie.

  6. Si vous définissez une valeur supérieure à 0, l’autocomplétion sera utilisée après ce nombre de caractères pendant que l’utilisateur tape. La combobox classique sera remplacée par une entrée de texte éditable.

  7. Si Lizmap doit déclencher le filtre sur la couche. Seulement les entités sélectionnées seront visibles sur la carte.

  • Pour éditer une couche dans la table, sélectionner la et cliquer sur le bouton edit_layer_svg ou alors double-cliquer sur la ligne.

  • Pour supprimer une couche de la table, cliquez sur celle-ci puis sur le bouton remove_layer_svg.

  • Pour monter ou descendre une couche, vous devez la sélectionner et cliquer down_layer_svg ou up_layer_svg. L’ordre changera dans Lizmap également.

Note

Si vous souhaitez afficher la géométrie, vous devez l’activer dans Propriétés du projet QGIS ‣ QGIS Serveur ‣ WMS, puis Ajouter la géométrie à l’entité de la réponse.

Listes hiérarchiques

Si on reprend l’exemple des quartiers, il peut être intéressant de proposer aussi à l’utilisateur une liste déroulante des sous-quartiers. On souhaite que lorsque l’utilisateur choisit un quartier, alors la liste déroulante des sous-quartiers soit automatiquement filtrée pour n’afficher que les sous-quartiers du quartier choisi.

Pour cela, il existe 2 méthodes :

  • Soit vous avez 2 couches vectorielles séparées : une pour les districts et une pour les sous-districts. Vous devez utiliser une jointure attributaire entre les deux couches pour permettre des listes de filtrage automatique dans Lizmap. Propriétés de la couche ‣ Jointure, voir la documentation QGIS.

  • Soit vous n’avez qu’une seule couche pour les sous-districts. Vous devez définir, dans l’extension, un champ de regroupement.