API : Différence entre versions

De Raildar
Aller à : navigation, rechercher
Ligne 13 : Ligne 13 :
 
= Méthodes =
 
= Méthodes =
 
* Les méthodes sont toutes sous la forme http://www.raildar.fr/{xml|json}/methode?param.  
 
* Les méthodes sont toutes sous la forme http://www.raildar.fr/{xml|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&param
 
* 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&param
 
* Les paramètres entre crochets sont optionnels
 
* Les paramètres entre crochets sont optionnels
Ligne 20 : Ligne 20 :
 
retourne un listing de gares. L'ensemble des gares connues est renvoyée si aucun paramètre n'est indiqué
 
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
 
* [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
** http://www.raildar.fr/xml/gares?lat=45.888&lng=4.8041&dist=20&limit=10
+
** http://www.raildar.fr/json/gares?lat=45.888&lng=4.8041&dist=20&limit=10
 +
* [id_gare] : permet de rechercher une gare par son ID
 +
** http://www.raildar.fr/json/gares?id_gare=60
 
* [search] : permet de faire une recherche sur un morceau de nom de gare
 
* [search] : permet de faire une recherche sur un morceau de nom de gare
** http://www.raildar.fr/xml/gares?search=lyon
+
** http://www.raildar.fr/json/gares?search=lyon
  
 
Les deux méthodes lat/lng et search ne peuvent être associées
 
Les deux méthodes lat/lng et search ne peuvent être associées
  
== get_gare ==
+
== xml/get_gare (deprecated) ==
 
retourne une gare à partir de son ID
 
retourne une gare à partir de son ID
 
* id_gare : id de la gare
 
* id_gare : id de la gare

Version du 19 janvier 2014 à 20:41

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é

Méthodes

json/gares

retourne un listing de gares. L'ensemble des gares connues est renvoyée si aucun paramètre n'est indiqué

Les deux méthodes lat/lng et search ne peuvent être associées

xml/get_gare (deprecated)

retourne une gare à partir de son ID

get_train

retourne un ou plusieurs trains ainsi que la dernière date ou ils ont été détectes, en fonction de (au choix) :

next_missions

retourne les prochains trains circulant dans une 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é)

get_mission

retourne la liste des gares d'une mission spécifique

get_near_missions

retourne la liste des trains circulant à proximité

guess_my_train

A venir : savoir dans quel train on est.

json/get_circulation

retourne la liste des trains en circulation. Voir ci dessous pour la signification des champs.

  • n'importe_quel_nom : chaine arbitraire (epoch courrante, 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

draw_line

retourne la sequence GPS permettant de relier deux gares par leur id

show_trajet

retourne la sequence GPS d'un train précis

Informations

liste des sources de données gérées et des brands pour chacune

http://raildar.fr/json/sources_brands.json

Commentaires

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