Google 乗換案内では、車両の位置情報をフィードに追加することで、静的な General Transit Feed Specification(GTFS)でリアルタイム データを使用できます。車両位置情報では、乗換案内ユーザーは車両の現在地に関する最新情報を確認できるため、ルートをより効率的に計画することが可能です。この記事では、車両の位置情報の作業フィードの最小要件について説明します。
車両位置情報フィードの仕組み
GTFS リアルタイム フィードを作成する前に、静的な GTFS の作業フィードを作成する必要があります。静的な GTFS の作業フィードを作成後、登録してリアルタイム フィードを共有すると、ユーザーに車両の位置情報を示すことができます。
車両の位置情報で到着と出発の正確な推定値を表示するには、少なくとも以下の一覧のフィールドが必要となります。
フィールド名 | 必須 | 説明 |
entity |
はい | (maps_transit.FeedEntity) |
entity_id |
はい | ルートが更新されるまでこれを固定 |
vehicle (position) |
はい | (maps_transit.VehiclePosition) |
trip |
はい | (maps_transit.TripDescriptor) |
trip_id |
はい | 静的からのルートを一意に識別 |
start_time |
はい | 定期運行のルートで必須 |
start_date |
はい | 定期運行のルートで必須 |
schedule_relationship |
はい | SCHEDULED またはその他の記述子 |
position |
はい | (maps_transit.Position) |
latitude |
はい | WGS 84 測地系で表した北緯 |
longitude |
はい | WGS 84 測地系で表した東経 |
bearing |
省略可能 | 将来的に使用される可能性あり |
speed |
省略可能 | 将来的に使用される可能性あり |
timestamp |
はい | 車両の位置情報が取得された、秒単位でのエポック タイムスタンプ |
vehicle (descriptor) |
はい | (maps_transit.VehicleDescriptor) |
id |
はい | 旅程期間全体にわたって車両を一意かつ安定して識別する必要あり |
コードサンプル
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"
}
}
}
旅程記述子について詳しくは、TripUpdate と VehiclePosition のための TripDescriptors についての記事をご覧ください。