Important : Pour fournir les informations sur le trajet en temps réel à l'aide des flux VehiclePosition, consultez Sélectionner un trajet avec TripDescriptor.
Vous pouvez utiliser les flux VehiclePosition pour fournir des informations en temps réel sur l'état d'un véhicule de transports en commun pour un trajet donné.
Recevoir des informations sur l'état du véhicule
Le message vehicle_position
peut fournir des informations sur l'état actuel du véhicule lors d'un trajet précis.
Pour les véhicules attribués à un trajet : fournissez un flux VehiclePositions avec un champ TripDescriptor pertinent, et des informations position
et timestamp
précises auxquelles la position a été mesurée.
Vous pouvez utiliser un message VehiclePosition pour fournir :
- la
position
la plus récente du véhicule avec la valeurtimestamp
du relevé ; - la valeur
trip descriptor
; - la valeur
vehicle descriptor
.
Pour chaque arrêt suivant, nous utilisons un algorithme de prédiction qui prévoit l'heure d'arrivée prévue du bus à cet arrêt, en fonction de sa position actuelle. Ces informations sont présentées à l'utilisateur dans l'application et affectent les résultats de recherche.
Si la dernière position du véhicule et d'autres informations ne sont pas disponibles, la dernière position connue et d'autres données doivent être fournies avec la position d'origine timestamp
mesurée. Découvrez l'impact des écarts de données sur les flux en temps réel.
VehicleDescriptor est nécessaire pour suivre le véhicule tout au long d'un trajet. Il doit être unique pour chaque flux et stable pendant la durée du trajet. Pour vous assurer que le véhicule peut être suivi, indiquez l'id
du descripteur du véhicule.
Exemple de code :
vehicle_position {
trip {
route_id: "route1"
direction_id: "0"
start_time: "10:10:00"
start_date: "20160203"
}
vehicle {
id: "route1-v1"
}
position {
latitude: 4066265190
longitude: 3862204692
}
timestamp: 1458508943
}
}
Pour les horaires fixes, le retard réel s'affiche :
Pour les horaires basés sur la fréquence, l'heure d'arrivée du prochain trajet est affichée sans aucune information de retard.
Utilisez le champ occupancy_status
ainsi que la position indiquée dans le message vehicle_position
. Cette donnée s'affichera sous forme d'indicateur graphique dans l'interface utilisateur.
Exemple de code :
vehicle {
trip {
trip_id: xxx
start_time: 12:34:56
...
occupancy_status: CRUSHED_STANDING_ROOM_ONLY
}
}
Découvrez comment fournir des données sur le nombre de passagers du véhicule avec GTFS.
Pour les itinéraires en bus uniquement : les notifications transmises via le flux VehiclePosition affichent la position en temps réel des véhicules sur Google Maps.