openstreetmap 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.

osm style osm osm style bing osm style google

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.
  • 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 (<scaleDenominators> en terminologie geowebcache). Voici la grille utilisée :
    <!-- france lambert 93 -->
    <gridSet>
      <name>EPSG:2154</name>
      <srs>
        <number>2154</number>
      </srs>
      <extent>
        <coords>
          <double>-357823.2365</double>
          <double>6037008.6939</double>
          <double>1313632.3628</double>
          <double>7230727.3772</double>
        </coords>
      </extent>
      <alignTopLeft>false</alignTopLeft>
      <scaleDenominators>
        <double>559082263.928571464</double>
        <double>279541131.964285732</double>
        <double>139770565.982142864</double>
        <double>69885282.991071432</double>
        <double>34942641.495535716</double>
        <double>17471320.747767858</double>
        <double>8735660.373883929</double>
        <double>4367830.186941965</double>
        <double>2183915.093470982</double>
        <double>1091957.546735491</double>
        <double>545978.773367746</double>
        <double>272989.386683873</double>
        <double>136494.693341936</double>
        <double>68247.346670968</double>
        <double>34123.673335484</double>
        <double>17061.836667742</double>
        <double>8530.918333871</double>
        <double>4265.459166936</double>
   <!-- <double>2132.729583468</double> -->
   <!-- <double>1066.364791734</double> -->
      </scaleDenominators>
      <metersPerUnit>1</metersPerUnit>
      <tileHeight>256</tileHeight>
      <tileWidth>256</tileWidth>
    </gridSet>
  • 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.