Grâce à Google Transports en commun, vous pouvez utiliser des données en temps réel via un flux GTFS (General Transit Feed Specification) statique en ajoutant des données sur la position des véhicules dans votre flux. Connaître la position des véhicules permet aux utilisateurs de Google Transports en commun de planifier leurs trajets plus efficacement. Cet article liste les conditions minimales requises pour un flux de position des véhicules fonctionnel.
Fonctionnement des flux de position des véhicules
Avant de créer un flux GTFS-realtime, vous devez disposer d'un flux GTFS statique fonctionnel. Une fois que vous l'avez créé, vous pouvez vous inscrire pour partager votre flux en temps réel afin de montrer la position de vos véhicules aux utilisateurs.
Pour que la position des véhicules affiche une estimation précise des heures d'arrivée et de départ, les champs ci-dessous sont requis (au minimum) :
Nom du champ | Obligatoire ? | Description |
entity |
Oui | (maps_transit.FeedEntity) |
entity_id |
Oui | Laisser tel quel jusqu'à la mise à jour du trajet |
vehicle (position) |
Oui | (maps_transit.VehiclePosition) |
trip |
Oui | (maps_transit.TripDescriptor) |
trip_id |
Oui | Identifie un trajet de manière unique à partir du flux statique |
start_time |
Oui | Obligatoire pour les trajets calculés en fonction de la fréquence |
start_date |
Oui | Obligatoire pour les trajets calculés en fonction de la fréquence |
schedule_relationship |
Oui | PROGRAMMÉ ou autre paramètre approprié |
position |
Oui | (maps_transit.Position) |
latitude |
Oui | Distance angulaire entre la position et l'équateur, exprimée en degrés, dans le système de coordonnées WGS84 |
longitude |
Oui | Distance angulaire entre la position et le méridien de référence, exprimée en degrés, dans le système de coordonnées WGS84 |
bearing |
Facultatif | Susceptible d'être utilisé dans le futur |
speed |
Facultatif | Susceptible d'être utilisé dans le futur |
timestamp |
Oui | Horodatage par itération auquel la position du véhicule a été obtenue, en secondes |
vehicle (descriptor) |
Oui | (maps_transit.VehicleDescriptor) |
id |
Oui | Doit permettre d'identifier, de manière unique et stable, un véhicule sur toute la durée du trajet |
Exemple de code
entity {
id: "entity_id"
vehicle: {
trip: {
trip_id: "270856"
start_time: "09:42:00"
start_date: "20170313"
schedule_relationship: SCHEDULED
}
position: {
latitude : -32.92627
longitude: 151.78036
bearing : 91.0
speed : 9.8
}
timestamp: 1527621931
vehicle: {
id : "bus-234"
}
}
}
Pour plus de détails sur les descripteurs de trajet, consultez TripDescriptors pour TripUpdate et VehiclePosition.