Un article repris du blog géoOrchestra
On ne
présente plus OpenStreetMap, le
projet de données libres qui rivalise avec les fournisseurs de données
propriétaires. La suite d’outils OpenStreetMap utilisant postGIS, ses données sont donc naturellement
exposées aux services OGC et IDS comme geOrchestra.
Le souhait de livrer les composants geOrchestra accompagnés de données
abondantes, libres et prêtes à l’emploi pourrait voir le jour. Grâce à mapserver-utils de Thomas
Bonfort et aux contributions de Pierre Mauduit, il est possible de fabriquer
des rendus de haute qualité, exposés en WMS ou WFS, et dans les projections
utilisées par les SIG.
mapserver-utils a
décortiqué la sémiologie des cartes OpenStreetMap pour en ensuite construire
une suite de styles mapserver. Des
initiatives similaires existent dans le monde geoserver.
170 classes
Pierre Mauduit a réutilisé ce travail pour produire trois styles visibles
sur qualitystreetmap.org :
osm,
google et
bing. Ils offrent un rendu agréable et homogène à toutes les échelles grâce
à plus de 170 classes décrites.
Intégration dans geOrchestra
Les données "france" d’OpenStreetMap comptent 11,2 millions d’objets. La
problématique est de conserver un niveau de performance acceptable tout en ne
compromettant pas l’interopérabilité de la solution.
- import initial des données : téléchargement sur geofabrik au format osm.bz2.
Bien noter la référence temporelle du lot téléchargé, cette information sera
utilisée pour mettre en oeuvre les mises à jour périodiques. Chargement dans la
base postGIS avec osm2pgsql compilé depuis les
sources (le paquet lenny est obsolète).
- optimisation de la base en fonction des classes : on crée un index sur
les attributs utilisés pour la classification.
- publication en WMS. On utilise la bibliothèque AGG et mapserver compilé avec
l’option —with-experimental-png qui divise la taille des tuiles par 2 ou 3
grâce à l’optimisation (invisible) de la palette.
- tuilage avec geowebcache. Le test
portant sur la projection EPSG:2154, on choisit d’utiliser pour grille de
tuilage l’emprise maximale proposée par cette projection et on prend les seuils
de zoom (en terminologie geowebcache). Voici la
grille utilisée :
EPSG:2154 2154 -357823.2365 6037008.6939 1313632.3628 7230727.3772 false 559082263.928571464 279541131.964285732 139770565.982142864 69885282.991071432 34942641.495535716 17471320.747767858 8735660.373883929 4367830.186941965 2183915.093470982 1091957.546735491 545978.773367746 272989.386683873 136494.693341936 68247.346670968 34123.673335484 17061.836667742 8530.918333871 4265.459166936 1 256 256
- paramétrage des expires : on se contente d’envoyer au client un délai
d’expiration de plusieurs jours. Geowebcache permettrait de régler ce délai
pour chaque seuil de zoom.
Le résultat
La vidéo suivante illustre (imparfaitement) le rendu d’openstreetmap à
toutes les échelles.
Avec le processus de téléchargement, de mise à jour et de rendu des données,
OpenStreetMap, geOrchestra se dote d’un référentiel cartographique
libre, performant, prêt à l’emploi dans les projections utilisées par les
SIG. En attendant de découvrir toutes les possibilités offertes par
cet apport, on ne peut que remercier la communauté des mappers et les
contributeurs qui ont aidé au montage. GeoBretagne bénéficie déjà du fond
OpenStreetMap.