2017-06-16 3 views
1

Je construis une application en utilisant les données GTFS. Je suis un peu confus quand il s'agit de GTFS-temps réel.En utilisant les données GTFS, comment dois-je l'étendre avec gtfs en temps réel?

J'ai stocké toutes les informations GTFS dans une base de données (Mongo), je suis en mesure de récupérer les heures d'arrêt d'un arrêt de bus spécifique.

Maintenant, je veux intégrer les informations GTFS en temps réel. Quelle sera la meilleure façon de traiter les informations récupérées? J'utilise gtfs-realtime-binding (bibliothèque nodsjs) par Google.

Je ai l'idée suivante: Stockez les informations en temps réel-GTFS dans une base de données séparée et l'interroger après avoir obtenu le stoptime de GTFS. Et je peux mettre à jour la base de données périodiquement pour m'assurer que les informations en temps réel sont à jour.

En outre, je sais que les données de récupération sont au format binaire .proto. Devrais-je les stocker en tant qu'Ascii ou y a-t-il une meilleure façon d'y faire face?

Je ne pouvais pas trouver beaucoup d'informations sur la façon de traiter les données en temps réel, donc j'espère que quelqu'un peut me donner une direction sur ce qu'il faut faire ensuite.

Merci!

+0

Quel est votre objectif d'utilisation de GTFSrt? inclure ceci dans une application en temps réel, ou pour l'analyse après le fait? –

+0

@Laidig C'est pour le temps réel. Je pense que je devrais juste laisser les données en temps réel dans la mémoire ou les stocker dans la base de données. –

Répondre

1

Dans votre cas, GTFS-Realtime peut être utilisé comme des données "éphémères", et je voudrais aller avec un objet en mémoire, avec le stop_id/route_id en tant que clés.

Pour chaque demande: Vérifiez si l'objet en temps réel contient l'identifiant, puis présentez-le en temps réel. Sinon charger à partir de la base de données.

+0

Ce que je pensais aussi :) Merci! Je vais juste le garder en mémoire –

+0

Je suis content que je puisse être utile. J'apprécie aussi l'upvote. –