GTFS リアルタイムとは

交通機関に関するリアルタイムの最新情報をユーザーに提供することで、乗換案内サービスの利便性が大幅に高まります。ユーザーは、今現在の到着時刻と出発時刻に関する最新情報を参考にして、移動計画をよりスムーズに立てることができます。結果的に遅延が発生した場合でも、出かける時刻を遅らせるなどして対応できます。

GTFS リアルタイムは、公共交通機関が運行車両に関するリアルタイムの最新情報をデベロッパーに提供できるようにするためのフィードの仕様です。この仕様は、公共交通機関の時刻表とその地理的情報に使用されるオープンなデータ形式である GTFS(General Transit Feed Specification)の拡張版です。GTFS リアルタイムは、実装しやすいこと、GTFS との相互運用性が高いこと、乗客に関係する情報に重点を置くことに基づいて考案されました。

この仕様の策定は、当初のリアルタイムの運行情報の提携交通機関や多数の乗換案内デベロッパーと Google との間で協力して行われました。現在は、Apache 2.0 ライセンスの下で公開されています。

Google マップのリアルタイムの運行情報とは

リアルタイムの運行情報は、リアルタイムの交通情報を Google マップとモバイル Google マップのユーザーに提供するサービスです。これらの交通情報には、リアルタイムの出発および到着時刻や運行情報が含まれています。

リアルタイムの運行情報では、出発時刻と運行情報の 2 種類の更新情報をリアルタイムでユーザーに提供します。乗換案内パートナーのフィードには、これらの更新情報が表示されます。Google では、静的な交通機関の時刻表で幅広く使用されている GTFS 形式に対応する GTFS リアルタイムのフィード形式を作成しました。Google で定期的に取得できる場所にフィードを送信すると、フィードは直ちに処理されてリアルタイムの運行情報として更新されます。

利用方法

  1. 以下の概要を読みます。
  2. 提供するフィードのタイプを決めます。
  3. フィードの例に目を通します。
  4. リファレンスを参考にして独自のフィードを作成します。
  5. フィードを公開します。

GTFS リアルタイムのフィードの概要

この仕様では現在、次のタイプの情報をサポートしています。

  • ルート更新情報 - 遅延、中止、ルートの変更など
  • 運行情報 - 停車地の変更や、駅、ルート、または路線網全体に関係する不測の事態
  • 車両の現在地 - 現在地や渋滞の度合いなど、車両に関する情報

フィードで異なるタイプのエンティティを組み合わせることもできます(必須ではありません)。フィードは HTTP 経由で配信され、頻繁に更新されます。ファイル自体は通常のバイナリ ファイルなので、どのタイプのウェブサーバーでもファイルのホストと配信が可能です(他の転送プロトコルも使用できます)。あるいは、ウェブ アプリケーション サーバーを使用した場合は、有効な HTTP GET リクエストに対するレスポンスとしてフィードを返すこともできます。フィードを更新、取得する頻度についても、その具体的な方法についても、特に制約はありません。

GTFS リアルタイムは、運行車両の「今現在の」状態を表すことができます。したがって、フィードは定期的に(できれば車両位置自動特定システムから新しいデータが送信されたときは常に)更新される必要があります。

フィードタイプに関する詳細をご覧ください。

データ形式

GTFS リアルタイムのデータ交換形式はプロトコル バッファをベースとしています。

プロトコル バッファは、構造化データをシリアル化するための、言語とプラットフォームに中立なメカニズムです(XML のようですが、XML より小さく、高速で、シンプルです)。データ構造は gtfs-realtime.proto ファイルで定義されます。さらにこのファイルを基に、Java、C++、Python などの各種言語を使ってさまざまなデータ ストリームとの間で構造化データを簡単に読み書きするためのソースコードが生成されます。

プロトコル バッファに関する詳細をご覧ください。

データ構造

要素の階層と、各要素のタイプの定義は、gtfs-realtime.proto ファイルで指定します。

このテキスト ファイルを使って、必要なライブラリをお好みのプログラミング言語で生成します。これらのライブラリは、有効な GTFS リアルタイムのフィードを生成するために必要なクラスや関数を提供するものです。ライブラリを利用することで、フィードの作成が簡単になるだけでなく、有効なフィードだけを生成することができます。

データ構造に関する詳細をご覧ください。

参考情報

GTFS リアルタイムに関するディスカッションに参加してこの仕様に対する変更や追加を提案するには、GTFS リアルタイムのヘルプグループにご登録ください。

Google マップとリアルタイムの運行情報

GTFS リアルタイムを応用したアプリケーションの 1 つにリアルタイムの運行情報があります。これは Google マップ内の機能で、ユーザーにリアルタイムの交通機関情報を提供するものです。Google マップにリアルタイムの交通情報を提供することに興味をお持ちの公共交通機関の方は、Google 乗換案内パートナー ページをご覧ください。