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

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:

[out:json][timeout:25];
(
  relation["network"="RER"]["ref"="C"]({{bbox}});
);
out body;
>;
out skel qt;

Quelqu’un sait-il comment faire?

Merci.

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.

Merci.

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

Si je le vire…

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

… ça donne ça:

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/Overpass_API/Language_Guide

Bonjour,

Rien à la place de bbox.

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

PY

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

[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?mid=1jjn62K416YZGFnc5lph7DX7KKMk

Comment faire pour ne garder que les gares?

Merci.

Bonjour,

Une proposition :

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

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

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

Rien à voir, c’est parce que “out geom” a été remplacé par “out body”.

Non.

Non plus (j’en ai déjà corrigé quelques unes). Il y a en avait 7 au départ.

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

Impeccable. Après avoir édité le fichier d’export pour supprimer les sections “”, j’ai pu importer la ligne et les stations dans une carte.

Merci beaucoup.