Extraire combinaison de départ et d'arrivée

Extraire des données OSM, créer sa carte, uMap, utiliser sur un GPS ou un smartphone...
tiste
Messages : 2
Inscription : lun. mars 25, 2019 9:31 pm

Extraire combinaison de départ et d'arrivée

Message par tiste » mar. mars 26, 2019 11:47 am

Bonjour la communauté OSM.

J'ai comme projet de construire un graph orienté de pistes de ski sur lequel j'appliquerais des algo de routing type A*, dijkstra, etc...
J'aimerais donc, comme format de sortie, un fichier CSV comprenant les colonnes suivantes : from,to,distance,type. Dans type j'aimerais y extraire les type de pistes ou de remontées, venant du tag piste:difficulty, ou aerialway.

J'ai tenté plusieurs outils comme overpass avec ce genre de requête, mais je n'ai que les stations de départ :

Code : Tout sélectionner

[out:csv("name";false)];
area[name="La Plagne"];
way(area)["piste:type"="downhill"];
out;
J'ai aussi testé certaines requêtes avec postgis, mais je n'arrive jamais à trouver les intersections possibles des "ways" représentant les pistes de ski.

En dernière solution, on m'a conseillé de jouer avec OSRM, de prendre des coordonnées de départ et d'arrivée à chaque bout d'un domaine skiable, et de construire le CSV grâce aux segments de l'itinéraire.

Merci beaucoup pour votre aide.

Avatar de l’utilisateur
cquest
Messages : 1929
Inscription : ven. avr. 16, 2010 12:22 am
Localisation : Val de Marne
Contact :

Re: Extraire combinaison de départ et d'arrivée

Message par cquest » mer. avr. 03, 2019 8:47 am

overpass permet de sortir les pistes, les noeuds (lat/lon) qui les composent, mais ne fera aucun calcul géométrique (comme la longueur d'un segment).

OSRM peut très bien faire tout le boulot... il faut lui définir à l'aide d'un script LUA les règles pour sélectionner uniquement les objet OSM qui nous intéressent (les pistes de ski, les remontées, les obstacles éventuels).
A chaque type d'objet, on fait aussi correspond un poids (temps, vitesse) pour permettre de pondérer les arcs du graphe.
Il construira le graphe et permettra de faire les calculs d'itinéraires.

Il y a plein d'autres façons de faire possibles !

tiste
Messages : 2
Inscription : lun. mars 25, 2019 9:31 pm

Re: Extraire combinaison de départ et d'arrivée

Message par tiste » jeu. avr. 04, 2019 10:31 am

Merci pour ta réponse.

Pour revenir à overpass, penses-tu qu'il serait capable de me donner les intersections de pistes, et les lat/lon de l'arrivée et départ ?
Une idée de comment faire ?

Je suis assez nouveau dans le monde OSM, je n'ai jamais vraiment bossé avec ces techno/langages (je pense à LUA).

Avatar de l’utilisateur
cquest
Messages : 1929
Inscription : ven. avr. 16, 2010 12:22 am
Localisation : Val de Marne
Contact :

Re: Extraire combinaison de départ et d'arrivée

Message par cquest » ven. avr. 05, 2019 4:27 pm

overpass permet de requêter la base assez facilement, mais si on a des besoins complexes, ça devient vite limitant ou bien les requêtes deviennent très complexes.
De plus on s'appuie (voire on abuse) d'un service tiers... ce qui crée une dépendance pas forcément souhaitable.

Comme l'intégralité des données OSM est téléchargeable, sans API, autant faire ses traitements comme on veut dessus, avec l'outil de son choix.

Vu que l'objectif est de calculer des itinéraires dans un graphe, quel outil envisages-tu pour faire cela ?
Tu as cité OSRM, il y a aussi pgrouting, moins performant (ce qui ne se verra pas sur de petits graphes), mais beaucoup plus générique.

Ce que je tenterai:
- regarder comment fonctionne pgrouting
- extraire d'un dump des données OSM uniquement ce qui t'intéresse (les pistes de ski), par exemple avec osmfilter
- importer ça dans postgres (avec osm2pgsql ou imposm) pour l'exploiter avec postgis et pgrouting

Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Google [Bot] et 7 invités