Utilité de l'import des données via osm2pgsql

Bonjour à tous,
je suis nouveau dans osm et je suis entrain d’élaborer un un projet de développement d’une application android d’optimisation de trajets routiers temps réel.
D’après ce que j’ai conçu, je doit faire une application côté serveur communiquant avec la base de données et l’application mobile (avec des web services).
La base de donnée doit contenir principalement les rues de la map.
La question est: Est-ce que j’ai besoin d’importer les tables d’osm à l’aide de osmpgsql ( ou autre ) ?
Merci de me venir en aide.

Bonjour (et bienvenue),
osm2pgsql te permet d’alimenter une base Postgres/PostGIS avec du contenu OSM. Si la finalité pour ton architecture est de manipuler le contenu OSM via ce type de base, alors cette étape d’import semble inévitable.
Si, pour des raisons de performances, tu ne veux pas passer par une base de type Postgres pour ton application, alors cet import est moins essentiel, mais il peut te permettre de naviguer dans les données, ce qui pourra t’aider à trouver la bonne architecture.

vincent

Comme dit Vincent, tout dépend de l’architecture technique que tu souhaite utiliser.
Même si tu souhaite utiliser postgis, il y a plusieurs schémas possibles.

Mais si tu souhaite utiliser osm2pgsql, il est possible de modifier le fichier de style pour l’import afin de ne garder que ce qui t’intéresse.

Bonjour vincent,
merci d’avoir répondu aussi vite;
comme j’ai déjà précisé que je suis tout à fait nouveau dans ce domaine et je ne vous ai pas trop compris.
Ce que je veux savoir, quelle nature de données que cette import pourrai me procure et est-ce-que cela pourrai me servir à stocker des informations sur les rues tq vitesse, distance…
Ou bien vous me conseiller de faire une base moi mm.

en fait c’est quoi l’utilité de postgis?

La nature des données reste la même : il s’agit de données issues d’OSM, donc décrivant des éléments géographiques (routes, bâtiments, rivières, etc) à l’aide de descripteurs géométriques (des points, des lignes, des polygones) et sémantiques (des attributs : type de route, nom de rue, etc.).
La question semble plutôt concerner le format dans lequel tu vas exploiter ces informations. Dis autrement : dans quel format (de stockage) ces informations seront le plus faiclement manipulables dans ton application ? Indirectement, ta question initiale revient à dire : est-ce qu’un SGBD est une technologie adaptée à ton besoin ? À la rigueur, la question ne dépend pas de la donnée OSM, elle est plus générale à ce stade.

bon je vais vous dire ce que j’ai l’intention de le faire:
je veux installer des GPS dans des voitures afin de récupérer périodiquement:
[]la vitesse
[
]temps (dans quelle période de la journée, sachant que la journée est divisée en fourchettes)
[*]un point caractérisé par une longitude et une latitude (qui appartient bien évidement à une rue sur la carte)

avec du temps à partir de ces trois points j’aurai une base de connaissance me permettant de fournir à la fin un trajet optimal temps réel entre deux point tenant compte des embouteillages.

Autre chose: si je réalise cette action sur toute les rues j’aurai une base énorme donc je voudrai savoir aussi si je pourrai faire une restriction sur les principales rues.

Voilà ce que je veux réaliser, est-ce que j’aurai besoin de l’extraction de ces données ou bien de concevoir moi mm ma base.

Ton besoin est donc de pouvoir calculer un itinéraire. Si tu veux t’appuyer sur les données OSM pour ça, tu devrais jeter un oeil voire plus à ce projet :
http://project-osrm.org/ qui a un démonstrateur ici : http://map.project-osrm.org/ . C’est aujourd’hui une des solutions parmi les plus abouties sur le sujet.

Tu n’es pas obligé de stocker tous les résultats de collecte, mais par exemple le sens, la vitesse moyenne du tronçon, et le nombre de vitesse déjà collectée. Après une nouvelle collecte la nouvelle vitesse moyenne : Vmoy = ((Vmoy * n) + v) /(n+1)

Il te faut un moteur de routage qui supporte des modifications de graphe. Je crois qu’OSRM ne le permet pas de modif de graphe en temps réel: il te faudrait générer une base par tranche horaire (et par jour de la semaine).

Sinon OpenTripPlanner (autre moteur de routage compatible avec les données OSM) supporte je crois le GTFS-RT (https://developers.google.com/transit/gtfs-realtime/reference), ce qui permetrai de modifier son graphe de routage avec les données que tu as collectées.

J’attire également ton attention sur le caractère virale de la licence OdBL des données OpenStreetMap: si tu ne veux pas que les données collectées soit soumises à la même licence ( et donc libération obligatoire), il faut faire attention à ne pas trop les mélanger avec OSM.

La fondation Mozilla s’est lancée dans la collecte GPS, mais l’objectif est ici le positionnement GPS, afin de contrer l’hégémonie des services Google. Les données seront libérées. Mais cela vaut peut être le coup de leur demander leur avis sur la collecte des vitesses.

http://ecrans.liberation.fr/ecrans/2013/11/20/mozilla-veut-liberer-la-geolocalisation_954902
https://location.services.mozilla.com/
https://wiki.mozilla.org/CloudServices/Location/FAQ

En ce qui concerne le GTFS-RT c’est destiné au transport publiques …
à propos du moteur de routage j’en ai besoin pour avoir une liste de trajets proposées que je vais me baser pour en déduire le meilleur en se basant sur les données de la base.
Mais ce qui me rend hésitant, c’est que je ne sais pas si je vais concevoir une base tout seul ou bien je l’importe à partir du fichier .osm sachant que je sais que la première solution requiert une connexion internet et l’autre non (je ne sait pas si c’est la seule différence ou pas).

Vincent (ou autre bien sure) je suis sur la voie de OSRM sauf que j’ai besoin d’une multitude de proposition de trajets afin de pouvoir comparer et déduire le meilleur (selon les données des embouteillages temps réel)
est-ce-que OSRM peut me fournir plusieurs itinéraires ???

Aucune idée, je ne connais pas l’outil dans le détail. Vue l’ambition de ton projet, je pense qu’il faut que tu plonges dans la doc…

Un moteur de routage fourni un unique itinéraire en fonction des critères qu’on lui applique. Si tu n’as que le départ, l’arrivée, et un type de véhicule, tu n’auras qu’un itinéraire optimisé (par durée ou distance par exemple). Les données de vitesse que tu souhaites collecter/utiliser doivent donc directement intégrées l’arbre de routage ou à la requête.

OSRM constitue un arbre de routage ultra-rapide à explorer, mais il est optimisé pour des règles de déplacements fixées.
C’est pour cela que j’évoquais OpenTripPlanner qui peut à la volée modifier son arbre de routage, le format GTFS-RT étant le vecteur technique pour faire avaler tes données à OTP.

Je t’invite à bien explorer l’ensemble des solutions dispo :
http://wiki.openstreetmap.org/wiki/Routing/online_routers

(Je suis pas un expert sur le routage, seulement un curieux des usages d’OSM)

Merci infiniment à tous :smiley: