La publication de services cartographiques sur internet passe immanquablement par la fourniture de fonds de plan attrayants. Et quand il s’agit de fonds de plan dans des systèmes de projection particulier (comme le Lambert 93 au hasard), l’offre se réduit drastiquement. Et pourtant, des Google Maps et Bing Maps ont imposé un standard auquel on ne peut déroger, tant au niveau du rendu visuel qu’au niveau des performances d’affichage.

Mettre des fonctionnalités cartographiques dans son application ou sur son site web nécessite donc des fonds de carte qui sont beaux et qui s’affichent vite. Où trouver ça ? Heureusement, un projet communautaire peut venir à notre secours : OpenStreetMap. Et notre partenariat avec Agaric-IG nous permet d’en tirer le meilleur.

# Connaissez-vous le commissaire OSM ?

OpenStreetMap (ou OSM) est un projet communautaire de constitution de référentiel géographique. Un peu comme Wikipédia mais avec des données cartographiques en quelques sortes. Les contributeurs (la légende dit même que certains Atoliens en feraient partie) saisissent des objets géographique et décrivent leurs attributs dans une base de données spatiale réutilisable. On peut par exemple saisir un sentier après l’envoi d’une trace GPS, puis décrire son revêtement, son accessibilité, etc. OSM est devenu tellement populaire dans certains pays (dont la France) qu’il a même permis de faire bouger les lignes sur la collecte de certains référentiels majeurs (comme la base adresse par exemple).

Bien entendu, toutes les saisies ne se font pas forcément à partir de relevés GPS. On peut également construire des données à partir de référentiels existants dont la licence le permet. C’est par exemple le cas du cadastre, qui, injecté en masse par les membres de la communauté, facilite ensuite la saisie des rues. De nombreux tutoriels expliquent comment contribuer sur le site francophone d’OSM.

# Qu’est ce qu’il y connait aux cartes, OSM ?

Les données cartographiques c’est bien, mais comment les utilise-t-on dans nos applications ? 

Pour les fonds de carte, les applications consomment généralement des images (découpées en tuiles). Il va donc falloir mettre en forme les données cartographiques dont on dispose, en fonction de leurs attributs et de l’échelle choisie. C’est le vaste sujet du rendu des données cartographiques qui mobilise des experts en sémiologie graphique, capables d’énoncer les règles qui permettront d’obtenir une bonne lisibilité des cartes.

Des serveurs communautaires existent, qui proposent des flux cartographiques s’appuyant sur les données du projet OSM (tels que http://c.tile.openstreetmap.fr/ ou http://www.openstreetmap.org). Bien que répondant aux critères de beauté et de performance évoqués plus tôt, ils ne correspondent pas toujours aux besoins que l’on peut rencontrer quand une application a besoin de fonds de carte. Il peut donc s’avérer nécessaire de mettre en place ses propres flux.

osm-1

# Il dit qu’il a personnalisé ses flux – Il dit qu’il voit pas le rapport

Plusieurs raisons peuvent amener à gérer ses propres serveurs cartographiques.

Tout d’abord, si l’application a besoin de cartes utilisant un système de projection particulier qui n’est pas disponible sur les serveurs communautaires, la reprojection à la volée implique une diminution de la qualité du rendu. Dans notre cas, pour des raisons réglementaires, nous avions besoin de flux en Lambert 93.

Ensuite, l’application peut utiliser une grille de résolutions (ou échelles) qui soient différentes de celles en place sur les serveurs communautaires, généralement calées sur Google Maps. La résolution est l’équivalent en mètres de ce qu’un pixel représente dans la réalité. Une grille de résolutions est une suite de résolutions pour une projection donnée. Les échelles de l’application étant définies au sein de l’application, calculer les résolutions correspondantes dans la projection attendue permet d’obtenir un rendu optimal.

Pour finir, dans le cadre de nos prestations d’hébergement d’applications, nous nous engageons sur une disponibilité du service. Et même si les serveurs communautaires sont performants, un recours à ces services est incompatible avec un engagement contractuel alors que déployer notre propre infrastructure de données nous permet d’apporter des garanties de services et d’intervention.

Une première version de flux construit sur les données d’OpenStreetMap avait été mise en place par Atol C&D il y a plusieurs années. Or, il se trouve qu’un des partenaires de longue date d’Atol C&D ont également mis en place, une version bien meilleure de ce traitement de son côté. Plutôt que de refaire le travail, nous avons jugé bon de nous appuyer sur l’expertise et la compétence d’Agaric-IG pour la fourniture de ces flux cartographiques utilisant les données d’OpenStreetMap au format Lambert 93.

# Parlez-moi de vous plutôt – Non moi c’est Agaric-IG

Agaric-IG est une société spécialisée en information géographique. Elle travaille sur le déploiement et l’infogérance d’infrastructures de données spatiales. Un partenariat avec Atol C&D existant déjà sur plusieurs sujets (infogérance, expertise, formation, …), il se trouve aujourd’hui renforcé avec l’utilisation des flux OSM d’Agaric-IG dans les applications de nos clients.

Agaric-IG est capable de fournir des flux OSM dans différentes projections. Pour la mise en place de ces flux, ce partenaire s’appuie entre autre sur le projet libre basemaps, qui offre notamment des fichiers de configuration pour Mapserver permettant d’obtenir différents rendus. Les bases de données (postgresql/postgis) qui servent à construire ces flux sont actualisées en streaming à l’aide des utilitaires osmosis et imposm.

Adossé à des serveurs de tuiles hébergés sur l’infrastructure d’hébergement d’Atol C&D, ces flux cartographiques sont servis aux applications avec des performances optimales.

osm-3

# O, S, M… OMS, peut-être un médecin ?

Grâce à ce partenariat, le site web du service de l’inventaire du patrimoine de l’ex-région Rhône-Alpes dispose de flux cartes attrayantes et performantes, dont les informations sont mises à jour au fil de l’eau. Ces mêmes flux servent également dans les applications réservées aux agents du service qui permettent d’alimenter ce site.

Nous reviendrons plus en détail dans un second article sur le rôle du cache de tuile et sa mise en place en utilisant mapproxy.