LizMap : Publier facilement des cartes web dynamiques
Par René-Luc D'Hont le vendredi 9 mars 2012, 11:35 - Système d'Information Géographique (SIG) - Lien permanent
LizMap est une solution complète de publication de cartes sur internet. Elle est basée sur le logiciel Quantum GIS (QGIS), et son serveur cartographique QGIS Server.
LizMap est constituée de 2 élements complémentaires :
- une application à installer sur un serveur : le client web LizMap, qui génère les cartes web dynamiques. Il a été réalisé autour de QGIS Server à l'aide du framework PHP5 Jelix, de jQuery et OpenLayers ;
- un plugin python pour QGIS, qui permet de configurer ses cartes à partir de projets QGIS et de les synchroniser via FTP.
Cette première version de LizMap, disponible sur le hub QGIS, a été réalisée avec le soutien :
Concept
Nous avons conçu LizMap pour faciliter le travail de l'utilisateur. Nous pensons qu'il doit pouvoir se concentrer sur son métier, la représentation de données spatiales, et non devenir un programmeur avancé.
Tout le travail de construction, de configuration de la carte et de sémiologie se fait directement dans QGIS. L'utilisateur n'a pas de fichier de configuration à éditer, il utilise l'interface conviviale du plugin LizMap pour modifier les options générales de la carte et celles liées aux couches. Une fois son projet enregistré sous QGIS, il suffit de synchroniser de manière automatique les données entre le poste de travail et le serveur.
Le client web LizMap prend alors le relais pour construire automatiquement une carte identique à celle du projet QGIS. L'organisation des couches d'information et l'apparence sur l'interface web sont identiques à ceux du projet QGIS. Il est ainsi aisé pour un administrateur sans connaissances techniques liées au Web, de construire et de faire évoluer plusieurs cartes thématiques de manière visuelle via QGIS, depuis son ordinateur, avec un retour visuel immédiat de l'impact de ses choix.
Fonctionnement
Une interface Web basée sur du HTML/CSS/Javascript
Au lieu de concevoir l'interface Web seulement en JavaScript comme le propose certains frameworks, nous avons choisi de nous appuyer sur une base HTML, mise en forme avec du CSS et améliorer par du JavaScript. L'apparence de l'interface Web peut ainsi être facilement modifiée par les développeurs ou designers Web (couleurs, positionnement des fenêtres,etc.).
Des cartes interactives riches
Carte plein écran, arbre des couches avec légende intégrée, popup affichant les données des objets cartographiques, carte miniature de localisation, outils de navigation (zoom, déplacements, etc.).
Seuils de visibilité
Si une couche ou un groupe de couches a été défini comme invisible à une échelle donnée, il apparaîtra inactif et grisé (il est également possible de les masquer en modifiant la CSS).
Intitulés des couches
Dans le plugin LizMap à l'aide du champ "titre", il est aisé de donner un nom intelligible aux couches de la carte interactive et, parallèlement, de conserver le nom original de la couche dans le projet QGIS. Par exemple, une couche appelée "xy_arbre22" peut-être visualisée en ligne sous la dénomination "Arbres remarquables".
Regroupement de couches
Il est possible de définir l'affichage d'un groupe de couches sous QGIS comme couche unique dans l'application Web LizMap.
Définition des échelles de la carte
Il est possible de spécifier les échelles accessibles à l'utilisateur de la carte web (via une liste d'échelle définie ou une résolution minimum et maximum).
Mode aperçu de la carte
Si un projet local comporte un groupe de couches "Overview", celles-ci seront affichées sous forme d'une carte miniature nommée "aperçu" pour permettre à l'utilisateur de situer sa vue.
Fonds de plan optionnels
Si l'utilisateur ne dispose pas de fonds référentiels pour ses données, il lui est possible d'utiliser un ou plusieurs fonds Google ou OpenStreetMap.
Application multi-projets et multi-dépôts
Une seule application Web LizMap peut utiliser plusieurs projets conservés dans de multiples dossiers sur le serveur. Ceci doit-être défini lors de la configuration de l'application.
Synchronisation des données via FTP
Le plugin LizMap permet d'envoyer facilement tous les fichiers du projet sur le serveur (projet, données, configuration). Il utilise une synchronisation en mode "miroir", ce qui permet de n'envoyer que les fichiers qui ont été modifiés, afin d'économiser des ressources et du temps de transfert.
Utilisation possible de serveur de cache (Mapcache, Tilecache)
LizMap peut utiliser en option des couches de données qui auraient été mises en cache. Le plugin permet de préciser quelles couches sont mises en cache.
Quelques exemples
LizMap est utilisée par le PNR des Ballons des Vosges, afin de publier une version Web de la charte graphique de la carte du Parc. Cette version a été adaptée et mis en forme en fonction des demandes du PNR. La mise en œuvre de la publication a été réalisée en partenariat avec Alisé Géomatique qui, par ailleurs, exploite en interne LizMap, pour soumettre certains de ses résultats cartographiques.
Vous pouvez aussi consulter nos démonstrateurs :
Nous devrions d'ailleurs publier toutes nos réalisations autour de l'OpenData à l'aide de LizMap.
Le futur
Le projet LizMap ne fait que commencer et nous avons quelques évolutions en tête que nous souhaiterions réaliser. Par exemple, l'implémentation du WFS dans QGIS Server, et du WFS-T fait partie de ce plan d'amélioration. Donc nous souhaiterions :
- Ajouter une fonctionnalité d'impression
- Ajouter la gestion des droits d'accès aux cartes
- Mieux gérer l'interrogation des données vectorielles
- Ajouter la possibilité de définir un outil de zoom sur objet vectoriel
- Ajouter un outil de requête et sélection d'objets vectoriels
- etc...
Pour le moment aucun planning précis n'est défini, mais si certaines évolutions vous intéressent, nous pouvons en étudier un.