API : Différence entre versions
(→get_near_missions) |
(→Identification des sources) |
||
(8 révisions intermédiaires par 2 utilisateurs non affichées) | |||
Ligne 10 : | Ligne 10 : | ||
* "position extrapolée" signifie que le train est placé sur une ligne droite entre la gare précédente et la gare suivante, donc probablement pas au bon endroit | * "position extrapolée" signifie que le train est placé sur une ligne droite entre la gare précédente et la gare suivante, donc probablement pas au bon endroit | ||
* "position GPS théorique" signifie que le train est en principe sur ses rails et que sa position est calculée en fonction des heures de passage et du retard annoncé | * "position GPS théorique" signifie que le train est en principe sur ses rails et que sa position est calculée en fonction des heures de passage et du retard annoncé | ||
+ | |||
+ | == Identification des sources == | ||
+ | Raildar s'appuie sur plusieurs sources qui peuvent ou doivent être indiquées dans plusieurs méthodes avec le switch ?id_source=x | ||
+ | * 1 : TER / Intercité / TGV / idTGV / Thalys | ||
+ | * 2 : Eurostar | ||
+ | * 3 : Transilien / RER | ||
+ | * 4 : Tisseo (non implémentée) | ||
+ | * 6 : RATP (non implémentée) | ||
+ | * 7 : IrishRail | ||
+ | * 8 : NetworkRail (Angleterre, non implémentée) | ||
= Méthodes = | = Méthodes = | ||
− | * Les méthodes sont toutes sous la forme http://www.raildar.fr/ | + | * Les méthodes sont toutes sous la forme http://www.raildar.fr/json/methode?param. |
** Les méthodes XML ne sont plus maintenues, préférez les JSON. | ** Les méthodes XML ne sont plus maintenues, préférez les JSON. | ||
* On peut les récupérer en JSON le résultats des méthodes XML non migrées avec http://www.raildar.fr/json/convert?url=methode¶m | * On peut les récupérer en JSON le résultats des méthodes XML non migrées avec http://www.raildar.fr/json/convert?url=methode¶m | ||
Ligne 39 : | Ligne 49 : | ||
* code : le code train affecté par la SNCF (par exemple OCESN892372F03002) | * code : le code train affecté par la SNCF (par exemple OCESN892372F03002) | ||
** http://raildar.fr/json/get_train?code=OCESN892368F01001 | ** http://raildar.fr/json/get_train?code=OCESN892368F01001 | ||
+ | On peut optionnellement spécifier un champ date=2014-03-02. S'il est ajouté, la mission correspondant à ce jour sera indiquée | ||
== json/next_missions == | == json/next_missions == | ||
Ligne 72 : | Ligne 83 : | ||
* [id_gare] : permet de ne retourner que les missions passant ou étant passées par une gare spécifique | * [id_gare] : permet de ne retourner que les missions passant ou étant passées par une gare spécifique | ||
* [regions=yes] : exclusif de id_mission et id_gare. Permet d'obtenir des statistiques globalisées par régions | * [regions=yes] : exclusif de id_mission et id_gare. Permet d'obtenir des statistiques globalisées par régions | ||
− | * [date] : exclusif de tous les autres paramètres. Permet de spécifier une date (format epoch) dans le passé pour récupérer la situation globale de circulation à un instant T. Le serveur retournera la situation connue la plus proche ou une page vide si l'info n'est pas dispo | + | * [date] : exclusif de tous les autres paramètres. Permet de spécifier une date (format epoch) dans le passé pour récupérer la situation globale de circulation à un instant T. Le serveur retournera la situation connue la plus proche ou |
+ | une page vide si l'info n'est pas dispo | ||
+ | * [bbox] : bouding box demandée (format : &bbox=lat_min,lng_min,lat_max,lng_max ) | ||
+ | |||
** http://www.raildar.fr/xml/map_generic?date=1387727478&whatever=_34626236247 | ** http://www.raildar.fr/xml/map_generic?date=1387727478&whatever=_34626236247 | ||
Ligne 97 : | Ligne 111 : | ||
** http://www.raildar.fr/xml/draw_line?id1=60&id2=70 | ** http://www.raildar.fr/xml/draw_line?id1=60&id2=70 | ||
− | == show_trajet == | + | == json/show_trajet == |
− | retourne la | + | retourne un objet geoJSON contenant la séquence GPS d'un train précis, la liste des gares traversées et les infos sur le train |
* id_train : id du train dans la base, récupérable par get_train, next_missions ou get_circulation | * id_train : id du train dans la base, récupérable par get_train, next_missions ou get_circulation | ||
** http://raildar.fr/xml/show_trajet?id_train=22120 | ** http://raildar.fr/xml/show_trajet?id_train=22120 |
Version actuelle en date du 6 mars 2014 à 21:33
l'API Raildar est encore en développement, vous pouvez demander à peu près tout ce que vous voulez sur le PAD principal.
Un peu de vocabulaire
- "gare" désigne une station de train
- "train" désigne un train spécifique (par exemple le Paris-Lyon de 8h23 les jours de semaine)
- "num_train" est le numéro de circulation du train au sens SNCF
- "id_train" est l'identifiant du train dans la base raildar
- "mission" est l'instance spécifique d'un train un jour donné
- "arret" est l'élément de mission qui correspond à un arrêt d'un train en gare, associé à un retard éventuel et à une raison
- "position extrapolée" signifie que le train est placé sur une ligne droite entre la gare précédente et la gare suivante, donc probablement pas au bon endroit
- "position GPS théorique" signifie que le train est en principe sur ses rails et que sa position est calculée en fonction des heures de passage et du retard annoncé
Identification des sources
Raildar s'appuie sur plusieurs sources qui peuvent ou doivent être indiquées dans plusieurs méthodes avec le switch ?id_source=x
- 1 : TER / Intercité / TGV / idTGV / Thalys
- 2 : Eurostar
- 3 : Transilien / RER
- 4 : Tisseo (non implémentée)
- 6 : RATP (non implémentée)
- 7 : IrishRail
- 8 : NetworkRail (Angleterre, non implémentée)
Méthodes
- Les méthodes sont toutes sous la forme http://www.raildar.fr/json/methode?param.
- Les méthodes XML ne sont plus maintenues, préférez les JSON.
- On peut les récupérer en JSON le résultats des méthodes XML non migrées avec http://www.raildar.fr/json/convert?url=methode¶m
- Les paramètres entre crochets sont optionnels
json/gares
retourne un listing de gares. L'ensemble des gares connues est renvoyée si aucun paramètre n'est indiqué
- [lat / lng] : permet de spécifier une position de recherche. Peut être associé à [dist] (défaut 4) pour la distance maximum en kilomètre et/ou [limit] (défaut 20) pour le nombre de gare à retourner
- [id_gare] : permet de rechercher une gare par son ID
- [search] : permet de faire une recherche sur un morceau de nom de gare
Les deux méthodes lat/lng et search ne peuvent être associées
xml/get_gare (deprecated)
retourne une gare à partir de son ID
- id_gare : id de la gare
json/get_train
retourne un ou plusieurs trains ainsi que la dernière date ou ils ont été détectes, en fonction de (au choix) :
- id_train : l'ID interne dans Raildar
- num : le numéro de train affecté par la SNCF
- code : le code train affecté par la SNCF (par exemple OCESN892372F03002)
On peut optionnellement spécifier un champ date=2014-03-02. S'il est ajouté, la mission correspondant à ce jour sera indiquée
json/next_missions
retourne les prochains trains circulant dans une gare
- id_gare : id de la gare récupérée par la méthode "gare"
(l'id du train est le numéro unique en base associé au train en question, num est son numéro SNCF, time_théorique est l'heure de passage officielle dans la gare, minutes_retard est le retard éventuel, time_reel est l'addition des deux, info est l'éventuel détail sur le retard. Lorsque minutes_retard vaut -1, l'arrêt dans cette gare a été annulé)
json/get_mission
retourne les infos détaillées d'une mission et la liste des gares qu'elle dessert
- id_mission : id de la mission récupéré par la méthode "next_mission"
get_near_missions (deprecated)
retourne la liste des trains circulant à proximité
- lat / lng : latitude et longitude du point de recherche
- [dist] : distance à considérer en kilomètres (défaut 4)
- [limit] : nombre de trains maxi à retourner (défaut 20)
json/guess_my_train
Permet de tenter de deviner dans quel train on est
- lat & lng : latitude et longitude de la personne
(la réponse contient la liste des trains à proximité, agrémentés, pour chacun, d'une distance à vol d'oiseau, d'une distance par le rail et de la différence des deux. Plus cette différence est faible, plus la probabilité que la personne soit dans ce train est élevée. Lorsque la différence est supérieure à 500, il est probable que les coordonnées ne correspondent à aucune gare ou à aucun tronçon ferré)
json/get_circulation
retourne la liste des trains en circulation. Voir ci dessous pour la signification des champs.
- n'importe_quel_nom : chaîne arbitraire (epoch courante, c'est bien) pour bypasser le cache du serveur.
- [id_mission] : permet de ne retourner qu'un seul train en fonction de son id_mission
- [id_gare] : permet de ne retourner que les missions passant ou étant passées par une gare spécifique
- [regions=yes] : exclusif de id_mission et id_gare. Permet d'obtenir des statistiques globalisées par régions
- [date] : exclusif de tous les autres paramètres. Permet de spécifier une date (format epoch) dans le passé pour récupérer la situation globale de circulation à un instant T. Le serveur retournera la situation connue la plus proche ou
une page vide si l'info n'est pas dispo
- [bbox] : bouding box demandée (format : &bbox=lat_min,lng_min,lat_max,lng_max )
Signification des champs retournés par get_circulation
- lat/lng : position du train
- pos_type :
- 1 pour GPS
- 2 pour extrapolée
- retard : minutes de retard du train. Si ='-1', le train a été annulé
- brand : type de train (TER, TGV, Thalys, ...)
- num : numéro du train indiqué par le gestionnaire
- terminus : nom de la gare terminus
- id_terminus : id de la gare terminus
- next_gare : nom de la prochaine gare
- id_next_gare : id de la prochaine gare
- minutes_to_next_gare : temps en minutes avant la prochaine gare
- last_check : heure de la dernière vérification auprès d'infolignes
- last_update : heure de la dernière mise à jour de position
- heading : direction de la prochaine gare depuis la position du train
draw_line
retourne la sequence GPS permettant de relier deux gares par leur id
- id1 id2 : ids des gares de départ et destination (récupérable par la méthode "gare")
json/show_trajet
retourne un objet geoJSON contenant la séquence GPS d'un train précis, la liste des gares traversées et les infos sur le train
- id_train : id du train dans la base, récupérable par get_train, next_missions ou get_circulation