3.2. Publication d'une carte avec Lizmap

3.2.1. Principes généraux

Quelles sont les grandes étapes à suivre pour la publication d'une carte dans Lizmap ?

  • créer un projet avec QGIS. Ajouter les données au projet. Les données de type fichiers doivent être regroupées dans un sous-répertoire, nommé par exemple donnees ou data. Enregistrer le projet avec l'extension .qgs
  • styler les données (symbologie, étiquettes). Enregistrer le projet
  • configurer les propriétés du projet et des couches pour leur publication avec QGIS Server. Enregistrer le projet
  • toujours dans QGIS, avec l'extension Lizmap, configurer les caractéristiques de la carte à publier (création d'un fichier .qgs.cfg)
  • pour améliorer la présentation de la carte de Lizmap, créer en option une image d'illustration qui porte l'extension .qgs.png

Lorsque vous êtes prêt à publier votre carte, vous pouvez alors copier sur le serveur tous ces fichiers, dans le répertoire prévu à cet effet.

Remarque importante pour les TP

Sur la machine virtuelle utilisée pour la formation, Lizmap est configuré pour afficher les projets stockés dans le répertoire /home/sist/data/mon_travail/3_lizmap/public.

Dans les TP qui suivent, nous modifierons les fichiers présents dans ce répertoire, et nous verrons immédiatement le résultat dans le navigateur. La machine virtuelle fait à la fois office de serveur web, et de client.

Dans les conditions réelles, le client sur lequel nous réalisons l'édition du projet avec QGIS Desktop aurait sans doute été un PC de bureau - puis nous aurions envoyé les fichiers .qgs et .qgs.cfg sur le serveur par FTP ou SFTP, avec un logiciel comme Filezilla.

Avant d'éditer notre premier projet, faisons un tour rapide des fonctionnalités de Lizmap.

3.2.2. Les principales fonctionnalités du client web Lizmap

bouton Couches Ce bouton affiche/masque la liste des couches avec leur légende.

dock Couches

bouton Information Affiche les métadonnées du projet.

dock Info

bouton Popup Affiche ou masque les fenêtres Popup. Lorsqu'une couche est interrogeable (voir dans l'extension Lizmap), on peut cliquer dessus pour connaître les attributs d'une entité, ou la valeur d'un pixel qui apparaît alors dans une fenêtre Popup.

dock Popup

bouton Imprimer Impression : ce bouton optionnel permet de télécharger la carte sous forme de PDF. Il ne fonctionnera que si une mise en page - sur laquelle le PDF sera basé - a été créée dans le projet QGIS.

bouton Mesure Outil de mesure (bouton optionnel) pour les longueurs et les surfaces, semblable à celui de QGIS.

bouton Infobulle Active les info-bulles : propose une liste déroulante avec les couches configurées pour l'info-bulle au survol.

bouton Permalien Affiche un permalien : c'est l'URL pour accéder directement à la carte depuis un autre site. La carte peut aussi être intégrée dans un site tiers sous forme de iframe.

bouton Table Ouvre la table attributaire : affiche une liste déroulante avec les couches dont la table attributaire est consultable (couches publiées en WFS et dont la table est définie comme consultable avec l'extension Lizmap).

dock Table

3.2.3. Configuration du projet pour QGIS Server

Lizmap utilise QGIS Server comme "moteur de rendu" pour les données cartographiques.

A l'aide de QGIS Desktop, l'utilisateur organise les données et définit leur rendu dans un projet QGIS (fichier .qgs), et il décrit les caractéristiques des web services.

Dans les Propriétés du projet (Ctrl+Maj+P), utilisez l'onglet QGIS Server pour définir les caractéristiques ainsi que les métadonnées des web services OGC.

proprietes qgis server

Vous devez être attentif aux paramètres suivants :

  • souhaitez-vous restreindre l'étendue, et les systèmes de coordonnées disponibles pour les couches en WMS ?
  • souhaitez-vous exclure certaines couches du WMS ?
  • souhaitez-vous publier certaines couches vectorielles en WFS ? Cet aspect est important, car certains outils de Lizmap nécessitent la publication en WFS (voir ci-dessous)

Dans les propriétés des couches, l'onglet QGIS Server permet entre autre de définir le nom court utilisé pour identifier les couches dans le web service, ainsi que le titre, le résumé, et l'attribution qui sont repris dans Lizmap. L'onglet Champs permet de restreindre les champs publiés en WMS et en WFS.

A savoir : WFS et Lizmap

Dans Lizmap, les outils suivants, applicables aux couches vectorielles, nécessitent la publication des données en WFS pour fonctionner :

  • outils d'édition (ajout, mise à jour, suppression d'entités),
  • affichage de la table attributaire,
  • export des données vectorielles au format geojson ou GML,
  • info-bulles au survol,
  • outil de localisation par entité.

Avec QGIS Server, vous pouvez aussi publier des couches en WMTS (images tuilées) ou en WCS (web service raster).

TP : Configuration d'un projet pour QGIS Server

Dans ce TP, vous allez configurer un projet QGIS existant en vue de sa publication sur Lizmap. Il s'agit d'un projet dont les couches sont issues de la base de données bdd_sist_solution sur PostGIS. La symbologie des couches est déjà définie. Il vous faut d'abord définir les propriétés pour QGIS Server.

Dans le répertoire /home/sist/data/mon_travail/3_lizmap/public, ouvrez le projet Occitanie_SNCF.qgs avec QGIS.
Vérifiez le SCR du projet (EPSG:2154).
Zoomez sur la couche Départements.
Ouvrez les propriétés du projet avec le menu Projet/Propriétés... puis cliquez sur QGIS Server à gauche.

Dans l'onglet Capacités des services, cochez la case Activer la capacité des services, puis définissez les valeurs suivantes pour les différentes propriétés :

  • nom court = occitanie_sncf
  • titre = Réseau SNCF dans la région Occitanie
  • Organisation = SIST
  • Résumé = Carte interactive du RFN (Réseau Ferré National) et principaux indicateurs INSEE sur la population dans la région Occitanie
  • Contraintes d'accès = Licence
  • Liste de mots-clés = occitanie, sncf, insee, ign, population

Onglet WMS

  • étendue annoncée = Calculer depuis la couche Départements (Remarque : pour que toute la France apparaisse dans le WMS, mais pas plus)
  • restreindre les SCR = Utilisé (pour EPSG:2154)

** Remarque : ne cochez pas la case Utiliser les identifiants de couche comme noms, pour prendre en compte les noms définis plus bas.

Onglet WFS/OAPIF

Cochez la case Publié pour Communes (hab/km2), Départements, Gares (pas de Mise à jour, ni Insérer, ni Effacer)

Pour toutes les autres propriétés, laissez vide.

Revenez sur l'onglet Capacité des services ; en bas, dans Test de la configuration, cliquez sur le bouton Lancer : une remarque relative aux noms de couches doit apparaître. Cliquez sur OK.

Pour remédier à cet avertissement, vous allez modifier la propriété nom_court des couches concernées.

Ouvrez les propriétés de la couche Communes (hab/km2), onglet QGIS Server. Pour le nom court, donnez la valeur : commune.

Pour les couches Gares, Villes, Lignes du RFN, Départements donnez respectivement comme nom court : gare, villes, ligne_rfn, departement.

Enregistrez le projet.

3.2.4. Configuration du projet pour Lizmap

Dans QGIS, l'extension "Lizmap" se présente sous la forme d'une fenêtre dans laquelle l'éditeur va pouvoir paramétrer l'interface (disponibilité des outils, info-bulles et fenêtre popup, données éditables, fonds de carte, etc).

extension Lizmap

Le paramétrage de l'interface défini avec cette extension "Lizmap" va se retrouver dans un fichier de configuration (.qgs.cfg) qu'il faudra copier avec le projet.

A vérifier

Pour être publié dans Lizmap, votre projet devra respecter les conditions suivantes :

  • le projet doit être enregistré avec l'extension .qgs. Lizmap ne reconnaît pas le format .qgz,
  • les fichiers de données (Shapefiles, GeoTiff, etc.) doivent être regroupées dans un ou plusieurs dossiers, au même emplacement que le projet .qgs : idéalement, dans un sous-répertoire nommé data. Plusieurs projets dans un même répertoire peuvent partager les mêmes données.

TP : Configuration d'une carte Lizmap dans QGIS

Nous sommes toujours dans le projet Occitanie_SNCF.qgs avec QGIS. Vous allez maintenant définir la configuration du projet pour Lizmap. Zoomez sur la couche des communes d'Occitanie. Ouvrez l'extension Lizmap (menu Internet/Lizmap).

Dans l'onglet Options de carte, activez les outils : Impression, Outils de mesure, Zoom précédent/suivant.
Pour les cartes dans un système de coordonnées autre que Pseudo-Mercator, il faut définir tous les niveaux d'échelle possibles. Les niveaux d'échelles pour cette carte en Lambert 93 seront : 100000, 250000, 500000, 1000000, 2500000, 5000000. Définissez l'emprise initiale de la carte à partir de la vue courante (pour que la carte Lizmap s'ouvre sur l'emprise de la région Occitanie).

Dans l'onglet Couches, vous allez définir les propriétés des couches. Donnez pour chaque couche un titre (qui sera affiché dans la liste des couches sur le site) et si possible, un résumé. Cliquez sur Cochée pour afficher les couches à l'ouverture de la carte. Pour la couche Communes, cliquez la case Popup pour autoriser les popup. Pour la couche Départements, cochez la case Fond de carte pour la définir comme fond de carte. Pour toutes les couches, décochez Tuile unique dans Options de carte et cochez Cache de tuiles serveur pour les publier sous forme de tuiles.

Dans l'onglet Fond de carte, définir Départements comme fond de carte actif au démarrage.

Dans l'onglet Table attributaire, ajouter Communes comme table à exposer dans Lizmap (avec le champ id comme Clé primaire).

Dans l'onglet Infobulles, ajouter Gares avec libelle comme champ à afficher dans les info-bulles, au survol des gares.

Cliquez sur OK. L'extension Lizmap affiche quelques recommandations que vous pouvez ignorer pour le TP. Vous devez maintenant avoir 2 fichiers : Occitanie_SNCF.qgs et Occitanie_SNCF.qgs.cfg. Enregistrez le projet QGIS pour être sûr que tout est bien sauvegardé.

Rendez-vous sur https://lizmap.local/ pour contrôler l'aspect de la carte publiée. Vérifiez dans la carte que vous pouvez accéder à la table attributaire de la couche Communes avec le bouton Données.

Si la carte publiée comporte des lacunes, vous devez reprendre le workflow : 1) dans QGIS Desktop, configuration QGIS Server + Lizmap puis 2) copier les fichiers .qgs et .qgs.cfg sur le serveur

Pour en savoir plus sur l'utilisation de l'extension Lizmap : https://docs.lizmap.com/current/fr/publish/lizmap_configuration.html

3.2.5. A RETENIR

  • Dans les propriétés relatives à QGIS Server, il faut être attentif aux caractéristiques du service WMS, ainsi qu'au service WFS (étendue, SCR, couches et champs publiés). Les données publiées en ligne en dépendent.
  • Pour l'utilisation de certains outils dans Lizmap (notamment édition et table attributaire) il est nécessaire de publier les couches concernées en WFS.
  • L'extension Lizmap permet dans QGIS Desktop de configurer la disponibilité des outils dans la carte en ligne.
  • L'extension Lizmap génère un fichier .qgs.cfg, à copier sur le serveur dans le même répertoire que le .qgs