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
Ce bouton affiche/masque la liste des couches avec leur légende.
Affiche les métadonnées du projet.
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.
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.
Outil de mesure (bouton optionnel) pour les longueurs et les surfaces, semblable à celui de QGIS.
Active les info-bulles : propose une liste déroulante avec les couches configurées pour l'info-bulle au survol.
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.
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).
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.
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
ouGML
, - 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 l'onglet QGIS Server.
Cochez la case Capacités des services.
Vous allez définir les propriétés avec les valeurs suivantes :
Capacités des services
- 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
- Frais = Sans conditions
- Contraintes d'accès = Licence
- Liste de mots-clés = occitanie, sncf, insee, ign, population
Capacités WMS
- étendue annoncée = Utiliser l'emprise actuelle du canevas (Remarque : celle des départements, pour que toute la France apparaisse dans le WMS)
- restreindre les SCR = 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.
Capacités WFS
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.
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).
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 Fonds, 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. Vous devez maintenant avoir 2 fichiers : Occitanie_SNCF.qgs
et Occitanie_SNCF.qgs.cfg
.
Rendez-vous sur http://lizmap.localhost/ 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