Page 1 sur 2

Récupération des prochains passages à tous les arrêts

Posté : 15 février 2017, 09:14
par kalon33
Bonjour,

J'aurais besoin de récupérer les prochains passages en temps réel à tous les arrêts (genre les deux ou trois prochains véhicules de chaque ligne dans chaque sens), pour pouvoir ensuite travailler l'ensemble des données en cache. Est-ce possible ?

Il me manquerait aussi la possibilité d'avoir le sens (ALLER ou RETOUR) dans la réponse du prochain passage. Est-ce faisable de la rajouter ?


Merci d'avance pour votre aide.

Re: Récupération des prochains passages à tous les arrêts

Posté : 15 février 2017, 10:45
par Sébastien Cart-Lamy
Bonjour,
Je suppose sur vous parlez du process WPS saeiv_arret_passages qui renvoie les prochains passages à un arrêt donnée. Mais il n'est pas envisageable de lancer ce process toutes les minutes pour chaque arrêt (il y en a plus de 3500).

Il faut que vous chargiez toutes les minutes les horaires (SV_HORAI_A), courses (SV_COURS_A, qui contiennent le sens) et fassiez le traitement de votre côté.
Attention à requêter intelligemment les horaires, car il y en a tellement que le WebService ne pourra pas tout renvoyer d'un coup. Pour optimiser les requêtes WPS / WFS, utilisez WxSQuery (http://sig.bordeaux-metropole.fr/apicub/wxsquery)

Re: Récupération des prochains passages à tous les arrêts

Posté : 16 février 2017, 19:33
par kalon33
Autre question, les données de retard des véhicules dans la couche SV_VEHIC_P sont définies par rapport à quoi ? L'horaire applicable ou l'horaire théorique ?

Je ne vous cache pas que j'aimerais bien que ça soit l'horaire théorique, pour pouvoir m'en servir de référence...

Merci d'avance pour votre réponse.

Re: Récupération des prochains passages à tous les arrêts

Posté : 17 février 2017, 10:22
par Sébastien Cart-Lamy
Les données Temps Réel d’avance et de retard des véhicules sont définies par rapport à l’horaire applicable et non au théorique.

Re: Récupération des prochains passages à tous les arrêts

Posté : 17 février 2017, 11:01
par kalon33
Merci,

Du coup, serait-il possible d'ajouter à ces données l'horaire théorique dans la réponse de l'API ?

Re: Récupération des prochains passages à tous les arrêts

Posté : 17 février 2017, 11:11
par Sébastien Cart-Lamy
Utiliser un retard par rapport à l'horaire théorique ne me parait pas judicieux. L'horaire applicable est l'info la plus pertinente, car il s'agit de l'horaire théorique mise à jour en fonction de la régulation.

Quand qu'il en soit, le retard est un champ qui vient directement de la base temps réel Keolis. Dans cette base, nous n'avons pas nativement l'info du retard par rapport à l'horaire théorique et ne pouvons le rajouter.

Comme évoqué, je vous invite à utiliser les couches natives et non le WPS saeiv_arret_passages sur tous les arrêts. Vous pourrez ainsi calculer le retard par rapport au théorique.

Re: Récupération des prochains passages à tous les arrêts

Posté : 17 février 2017, 11:27
par kalon33
SV_VEHIC_P n'est pas une couche native ? En fait je souhaiterais juste comme info supplémentaire l'horaire théorique qui était prévu, pas le retard par rapport au théorique (pour faire le lien avec les infos théoriques statiques), pour les différents véhicules de la couche, à l'arrêt indiqué dans RS_SV_ARRET_P_ACTU.

Ce n'est plus vraiment lié au prochain passage aux arrêts, mais me permettrait quand même de retomber sur mes pattes dans mon projet.

Re: Récupération des prochains passages à tous les arrêts

Posté : 17 février 2017, 12:47
par Sébastien Cart-Lamy
Si, toutes les couches SV_* sont des couches natives. Les horaires sont dans la couche SV_HORAI_A

Le modèle de données est décrit ici : http://data.bordeaux-metropole.fr/docs/ ... iv_bus.pdf

Re: Récupération des prochains passages à tous les arrêts

Posté : 17 février 2017, 12:59
par kalon33
Du coup comment récupérer facilement cette donnée pour l'ensemble des éléments courants de la couche SV_VEHIC_P, sans pour autant faire beaucoup d'appels à l'API ?

Merci

Re: Récupération des prochains passages à tous les arrêts

Posté : 17 février 2017, 13:19
par Sébastien Cart-Lamy
Par exemple si vous utilisez les horaires théoriques:

Couche à charger une fois par jour :
  • Horaires (SV_HORAI_A) avec les valeurs théoriques et attributs RS_SV_COURS_A + RS_SV_ARRET_P_SUIV
Couche à charger / mettre à jour régulièrement (toutes les 30s) :
  • Véhicules (SV_VEHIC_P)
Pour chaque véhicule, vous pouvez dans votre base récupérer l'horaire de l'arrêt suivant (avec les fk RS_SV_COURS_A + RS_SV_ARRET_P_SUIV)

Pensez à ne récupérer que les attributs qui vous intéressent (WxSQuery permet de construire les requêtes WFS / WPS qui vont bien).