Données géographiques, routing et autres ?

Bonjour à tous,

J’essaye d’exploiter les données d’Open Street Map mais je ne sais pas bien comment faire.

Le but est :

  • Afficher des cartes
  • Faire de la recherche d’adresse
  • Faire du calcul d’itinéraire

J’ai tenté un import avec osmosis puis la création des objets postgis, mais le résultat donne une base de plus de 100Go, et donc n’est pas très optimal par la suite. En revanche, il y a toutes les infos donc j’ai besoin.

Alors je cherche une autre solution :

  • osm2pgsql pour importer les données exploitables concernant la cartographie
  • osm2pgrouting pour importer les données pour la partie “routing”

Mais déjà ça ne me plait qu’à moitié d’avoir deux sources de données pour un même “set” OSM, mais aussi, j’ai l’impression que ces outils n’importent que l’essentiel pour ce pourquoi ils sont destiné, et ainsi il n’est plus possible d’exploité l’ensemble dont dispose OSM (numéro des maisons, limitation de vitesses etc.)

Y a-t-il une solution optimale ? Un choix particulier à adopter pour avoir toutes les données OSM sans compromettre les performances ?

Merci beaucoup,

A bientôt

Bonjour,
Je pensais que ta question allait susciter plus d’intérêt chez les géomaticiens francophones. Tu n’auras la réponse que d’un contributeur assidu :wink:

J’ai l’impression que tu te lances dans une belle série d’ascensions himalayennes sans sherpa. Déjà pourquoi ne pas se limiter au Mont Blanc en n’utilisant que les données du territoire français ?

Pour ces trois fonctions tu n’a pas besoin d’avoir à disposition une base OSM, tu peux utiliser les tuiles mapnik ou osmarender disponibles, nominatim [1] pour la recherche d’adresse, et OpenRouteService [2] pour le routage. (en respectant leur politique de licence et de partage de bande passante)
Par exemple Geovélo [3] utilise un rendu de Cloudmap pour se focaliser sur le développement d’un routeur “vélo” [4]. Pour la recherche d’adresse je ne sais pas ce qu’ils utilisent.

Bien sûr si tu souhaites un rendu personnel, ou que ces services en ligne te sont inaccessibles tu es coincé.

A ma connaissance il n’y a pas de schéma de base optimal et “clé en main”. Osm2pgsql est optimisé rendu, pgrouting pour les graphes de recherche d’itinéraire, Nominatim crée des index basés sur diagrammes de Voronoi. Ton schéma de base idéal doit donc intégrer ces concepts pour la performance des requêtes que tu souhaite utiliser. Même si il doit y avoir quelques redondances pourquoi ne pas s’appuyer sur ces 3 structures ? Le fichier de style d’osm2pgsql doit te permettre de conserver les données qu’il te manque.

Si l’espace disque est un problème tu peux voir aussi les implémentations autour de spatialite [5], mais là je crois qu’il n’existe pas aujourd’hui de solution de haut niveau (rendu, routage,…) qui exploite ce format.

A+
BrunoC

[1] http://wiki.openstreetmap.org/wiki/Nominatim
[2] http://wiki.openstreetmap.org/wiki/OpenRouteService
[3] http://www.geovelo.fr/paris/
[4] http://www.slideshare.net/GaelLCDM/sotm10-geovelo-a-route-planner-for-bicycle
[5] http://lists.openstreetmap.org/pipermail/dev-fr/2010-September/000010.html