[RÉSOLU] Récupérer ligne ferroviaire avec noms de stations?

Extraire des données OSM, créer sa carte, uMap, utiliser sur un GPS ou un smartphone...
Winfried
Messages : 80
Inscription : jeu. juin 30, 2016 9:35 am

[RÉSOLU] Récupérer ligne ferroviaire avec noms de stations?

Message par Winfried » sam. sept. 17, 2016 8:28 pm

Bonjour

Je voudrais récupérer l'intégralité du réseau RER en Ile-de-France, ligne par ligne (A →E) avec le nom des stations.

Dans Overpass-Turbo, ça affiche juste la ligne, sans le nom des stations:

Code : Tout sélectionner

[out:json][timeout:25];
(
  relation["network"="RER"]["ref"="C"]({{bbox}});
);
out body;
>;
out skel qt;
Quelqu'un sait-il comment faire?

Merci.
Dernière édition par Winfried le mar. sept. 20, 2016 11:18 pm, édité 1 fois.

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

Re: Récupérer ligne ferroviaire avec noms de stations?

Message par cquest » dim. sept. 18, 2016 9:48 am

C'est le "skel" qui indique à overpass que tu veux la géométrie mais pas les tags dans le second out (les membres de la relation).

Par ailleurs, la bbox n'est pas utile, les critères network et ref (dans cet ordre) permettent de limiter la recherche rapidement.

Winfried
Messages : 80
Inscription : jeu. juin 30, 2016 9:35 am

Re: Récupérer ligne ferroviaire avec noms de stations?

Message par Winfried » dim. sept. 18, 2016 9:36 pm

Merci.

Que mettre à place de ({{bbox}})?

Si je le vire…

Code : Tout sélectionner

[out:json][timeout:25];
(
  relation["network"="RER"]["ref"="C"]);
);
out body;
>;
… ça donne ça:

Code : Tout sélectionner

Une erreur est survenue lors de l'exécution de la requête overpass ! Voici ce que l'API overpass a retourné :
Error: line 4: parse error: Unknown type ")"
Error: line 4: parse error: An empty query is not allowed
Error: line 4: parse error: Unknown type ";"
Error: line 5: parse error: An empty query is not allowed
http://wiki.openstreetmap.org/wiki/Over ... uage_Guide

the_knife
Messages : 252
Inscription : sam. nov. 24, 2012 11:30 pm
Localisation : Nancy

Re: Récupérer ligne ferroviaire avec noms de stations?

Message par the_knife » dim. sept. 18, 2016 10:37 pm

Bonjour,

Rien à la place de bbox.

Il y a juste une parenthèse fermante en trop ligne 3.

PY

Winfried
Messages : 80
Inscription : jeu. juin 30, 2016 9:35 am

Re: Récupérer ligne ferroviaire avec noms de stations?

Message par Winfried » mar. sept. 20, 2016 1:47 pm

Pour que ça fonctionne vaguement comme prévu, il faut la modifier ainsi:

Code : Tout sélectionner

[out:json][timeout:25];
(
  relation["network"="RER"]["ref"="C"];
);

/*added by auto repair*/
(._;>;);
/*end of auto repair*/

out body;
>;
Cependant, cette requête remonte plein de nœuds qui ne sont pas des gares (switch, railway_crossing, etc.):
https://www.google.com/maps/d/viewer?mi ... ph7DX7KKMk

Comment faire pour ne garder que les gares?

Merci.

the_knife
Messages : 252
Inscription : sam. nov. 24, 2012 11:30 pm
Localisation : Nancy

Re: Récupérer ligne ferroviaire avec noms de stations?

Message par the_knife » mar. sept. 20, 2016 3:22 pm

Bonjour,

Une proposition :

Code : Tout sélectionner

(relation["network"="RER"]["ref"="C"] ;) -> .RER_C ; // jeu de données souche

( 
  way(r.RER_C:"") ; //membres ayant  un rôle vide (trajet)
  node(r.RER_C:"stop") ; //membres ayant le rôle "stop" (gares)
) ;

out geom ;
NB : apparemment, il y a 4 ways pour lesquels manque le role platform dans la relation. Du coup, ils sortent en résultat, mais c'est dû aux données, pas à la requête.

Winfried
Messages : 80
Inscription : jeu. juin 30, 2016 9:35 am

Re: Récupérer ligne ferroviaire avec noms de stations?

Message par Winfried » mar. sept. 20, 2016 8:52 pm

Effectivement, on voit quatre sections en bleu qui disent ça si on clique dessus : "Attention: incomplete geometry (e.g. some nodes missing)"

Code : Tout sélectionner

(relation["network"="RER"]["ref"="C"] ;) -> .RER_C ; // jeu de données souche

( 
  way(r.RER_C:"") ; //membres ayant  un rôle vide (trajet)
  node(r.RER_C:"stop") ; //membres ayant le rôle "stop" (gares)
) ;

out body;
http://overpass-turbo.eu/s/iuA

1. Est-ce ça pose un problème pour récupérer les stations?
2. Si oui, que dois-je faire pour corriger le problème dans OSM avant de relancer la requête?
3. Est-il impossible de récupérer le trajet + les stations avec une seule requête, et si c'est le cas, faut-il donc récupérer les données à l'aide de deux requêtes successives, enregistrer les résultats dans deux fichiers séparés, et les installer chacun dans un layer indépendant dans une carte?

Merci.

the_knife
Messages : 252
Inscription : sam. nov. 24, 2012 11:30 pm
Localisation : Nancy

Re: Récupérer ligne ferroviaire avec noms de stations?

Message par the_knife » mar. sept. 20, 2016 9:01 pm

Winfried a écrit :Effectivement, on voit quatre sections en bleu qui disent ça si on clique dessus : "Attention: incomplete geometry (e.g. some nodes missing)"
Rien à voir, c'est parce que "out geom" a été remplacé par "out body".
Winfried a écrit :1. Est-ce ça pose un problème pour récupérer les stations?
Non.
Winfried a écrit :2. Si oui, que dois-je faire pour corriger le problème dans OSM avant de relancer la requête?
Non plus (j'en ai déjà corrigé quelques unes). Il y a en avait 7 au départ.
Winfried a écrit :3. Est-il impossible de récupérer le trajet + les stations avec une seule requête, et si c'est le cas, faut-il donc récupérer les données à l'aide de deux requêtes successives, enregistrer les résultats dans deux fichiers séparés, et les installer chacun dans un layer indépendant dans une carte?
Une requête suffit. J'ai exporté la requête que j'ai proposé en geojson et l'ai ouvert dans Qgis. Il suffit d'importer la couche de points (gares), puis recommencer la manœuvre pour la couche de lignes (trajet), et laisser la couche ploygones (platform mal renseignées).

Winfried
Messages : 80
Inscription : jeu. juin 30, 2016 9:35 am

Re: Récupérer ligne ferroviaire avec noms de stations?

Message par Winfried » mar. sept. 20, 2016 10:45 pm

Impeccable. Après avoir édité le fichier d'export pour supprimer les sections "<ExtendedData>", j'ai pu importer la ligne et les stations dans une carte.

Merci beaucoup.

Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 4 invités