変更点

はじめに

GTFS は確定した仕様ではありません。その代わり、交通機関、デベロッパー、その他 GTFS を利用する関係者で構成されるコミュニティによって開発、管理されるオープンな仕様となっています。GTFS の制作者と利用者が参加するこのコミュニティが、新たな可能性を生み出せる仕様に拡張するための提案をしていくことが期待されています。このプロセスを管理していくために、次の手順と基本方針が確立されています。

変更のプロセス

本仕様を変更するための概略として、次に示すようにいくつかの段階があります:

  1. GTFS の変更に関するディスカッション リストで変更を提案します。
  2. GTFS コミュニティからのコメントやフィードバックを受けながら、提案した変更について意見交換を繰り返します。
  3. 提案した変更を実装しテストするために、GTFS の制作者と利用者をそれぞれ少なくとも 1 名ずつ探します。
  4. 提案した変更に対する最終意見募集をディスカッション リストに投稿します。1 週間後、特に目立った問題が見当たらなければその提案は正式に採用されます。

ヘルプ グループは GTFS 仕様に関する変更を提案するための主要な場であり、そのユーザーはそこで提案された変更について情報を得たりそれに対する意見を述べたりすることができます。提案が有意義であり以下に示す基本方針に従うものであるとコミュニティが大筋で合意すれば、その提案は正式に仕様に追加されます。さらに、提案された変更は、実際に採用された場合の有効性を検証するために、GTFS の制作者と利用者各 1 名以上によって実装されることも条件となっています。

ヘルプ グループに加えて、GTFS の変更に関するサイトでは、このグループを支援するため、既に提案されている GTFS 変更を文書化していきます。

基本方針

GTFS の当初のビジョンを保ち続けるために、この仕様を拡張する際に考慮すべきいくつかの基本方針が確立されてきました:

フィードの作成と編集が簡単であること。

仕様のベースとして選ばれたのは CSV です。CSV はスプレッドシート プログラムやテキスト エディタで簡単に表示や編集ができ、中小交通機関にとって都合がよいためです。また、ほとんどのプログラミング言語やデータベースから直接生成できるので、大量のフィードの提供者にとっても便利です。

フィードの解析が簡単であること。

フィード リーダーは、探している情報をできるだけ少ない動作で抽出できなければなりません。フィード リーダーが実装するコード パスの数を最小限に抑えるためには、フィードに対する変更や追加はできるだけ広く応用できるものにします。(ただし、最終的にはフィード リーダーよりもフィード提供者の方が多くなるので、簡単に作成できることが優先されます。)

仕様の変更に後方互換性を持たせること。

仕様に機能を追加する際、既存のフィードが無効になるような変更は避ける必要があります。既存のフィード提供者がフィードに機能を追加するときに余計な作業が増えることは好ましくありません。また可能な限り、更新後のフィードの以前の部分を既存のパーサーで引き続き読み込めるようにする必要があります。

未確認の機能の追加は控えること。

新機能が追加されれば必ず、フィードの作成や読み込みが以前より複雑になります。したがって、効果があると確認できている機能のみを追加するように気をつけなければなりません。どの提案も、その新機能を利用する実際の交通機関用のデータを生成し、その読み取りと表示ができるソフトウェアを作成してテストしてみることが理想的です。GTFS では、正式なパーサーまたはバリデータには認識されない特別な列やファイルを追加することで手軽に形式を拡張できるようになっているので、既存のフィードに対して簡単に試作の適用やテストができます。

改訂履歴

2012 年 6 月 20 日

  • 「wheelchair_boarding」の提案が仕様に追加されました(ディスカッションはこちら)。

2012 年 2 月 2 日

  • 「stop_timezone」の提案が仕様に追加されました(ディスカッションはこちら)。

2012 年 1 月 18 日

2011 年 9 月 26 日

  • 「feed_info」の提案が仕様に追加されました(ディスカッションはこちら)。

2011 年 9 月 6 日

  • 「agency_fare_url」の提案が仕様に追加されました(ディスカッションはこちら)。
  • 「exact_times」の提案が仕様に追加されました(ディスカッションはこちら)。

2009 年 3 月 30 日

  • 乗換案内フィードの一般公開に関する新しいセクションを追加しました。これは厳密にはデータの解釈や記述方法に対する変更ではないため、それまでグループで議論されることはありませんでした。しかし、GTFS 形式のデータを利用できるアプリケーションが増え続けていることから、Google の一部のスタッフが、Google 以外での GTFS の利用に関するディスカッションを追加するのは有益なことだと考えたのです。
  • CSV 形式について明確にしました(ディスカッションはこちら)。
  • route_color フィールドと route_text_color フィールドの説明に、コントラストの色の組み合わせを選択する方法についての記述を追加しました。
  • trip_short_name について、こちらこちらのスレッドで提案され、テストが行われました。
  • ドキュメントの最後に掲載されているサンプル データの小さな誤りを修正しました(停車地 S7 に parent_station S8 を追加)。
  • コメント期間中の Marcy からの指摘に基づき、ドキュメントの最後に掲載されているサンプル データに「agency_lang」の情報を追加しました(ディスカッションはこちら)。
  • 補足説明での OCTA の GTFS フィードへのリンクを更新しました。
  • 元の概要もご覧ください。

2009 年 2 月 26 日

  • GTFS データを取り込む他のアプリケーションが現時点で多数存在するため、Google 固有のフィード提出手順の大部分を削除しました。
  • 補足説明にあるオレンジ郡 OCTA の公開フィードへのリンク切れを修正しました。

2008 年 8 月 7 日

  • 8 月 6 日のバージョンで誤って脱落していた stop_url フィールドを元の状態に戻しました。
  • サンプル データに agency_phone を追加しました。
  • Google にフィードを提出する際のデータの利用に関する合意についての記述を追加しました。

2008 年 8 月 6 日

  • フィード提供者がおすすめの乗換方法についてヒントを表示できる transfers.txt ファイルが追加されました(元の提案)。
  • stops.txt に location_type フィールドと parent_station フィールドが追加され、複数の停車地点を駅にグループ化できるようになりました(元の提案)。
  • 交通機関の電話番号を提供するための agency_phone フィールドが追加されました(元の提案)。
  • オープンソースのテスト ツールについて説明する「フィードのテスト」セクションを追加しました。
  • CSV 形式、agency_timezone、agency_lang、route_color、route_text_color、arrival_time、departure_time、calendar.txt と calendar_dates.txt の比較、fare tables、frequencies.txt についての説明を追加しました。
  • フィード履歴ドキュメントへのリンクを追加し、一部の公開フィードのリンクを修正しました。
  • 最新の Google マップ ユーザー インターフェースを図で示すためのサンプル画像を更新しました。
  • ドキュメント内のサンプル データを更新/修正しました。

2008 年 2 月 29 日

  • stops.txt に stop_code フィールドが追加され、乗客向けの停車地コードを設定できるようになりました(元の提案)。
  • routes.txt の route_short_name と route_long_name について詳しい説明を追加しました。
  • stop_times.txt の arrival_time と departure_time について詳しい説明を追加しました。
  • サンプル データ内の誤字を修正しました。

2007 年 11 月 20 日

  • block_id について詳しい説明を追加しました。
  • 「Google の乗換案内」であることを強調しないようにするため(Google 以外のアプリケーションが GTFS を利用していること、ルート・乗換案内が Google マップの機能として統合されたことから)、また、さまざまな誤字を修正するため、用語を変更しました。
  • 最新の Google マップ ユーザー インターフェースに表示される GTFS フィールドを反映するよう、サンプル スクリーンショットを更新しました。
  • 乗換案内データ提供者向けの Google のお問い合わせメール アドレスを更新しました。
  • 書式設定を更新しました。

2007 年 10 月 5 日

  • 0 以上の整数として増やしていけるように stop_sequence と shape_pt_sequence を変更しました。
  • 説明をわかりやすくし、誤字を修正しました。

2007 年 5 月 31 日

  • ページ スタイルを更新し、HTML を整形してより利用しやすくしました。
  • 公開フィードの例や他の役立つサイトへのリンクを追加しました。
  • 各フィールドの説明から例を削除しました。

2007 年 4 月 9 日

  • フィードの送信に関するセクションを追加しました。
  • 説明用の交通機関のフィードの例を追加しました。
  • calendar_dates.txt ですべての運行日を定義した場合は calendar.txt を省略できるという注意書きを追加しました。
  • 交通機関が 1 つしか含まれないフィードでの agency_id フィールドの設定を省略可能にしました。agency_id が設定されていない既存のフィードも引き続き有効です。
  • agency_url、stop_url、route_url の仕様をより充実させ、これらのフィールドの値の例を追加しました。
  • route_type の値として「6」(ゴンドラ)と「7」(鋼索鉄道)を追加しました

2007 年 3 月 8 日

  • 2 月 28 日の更新で stop_url フィールドが誤って stop_times.txt に含まれていたため、正しい指定先である stops.txt に移動しました。

2007 年 3 月 5 日

  • route_long_name フィールドの説明を、わかりやすくなるように編集しました。

2007 年 2 月 28 日

  • 運行間隔に基づいた時刻表に対応できるよう、frequencies.txt を追加しました。
  • 1 つのフィード内で複数の交通機関を指定できるようになりました。また、新たに agency_id フィールドを agencies.txt と routes.txt に追加し、どの交通機関がどのルートを運行しているかを指定できるようにしました。
  • ルート別と停車地別の URL を追加しました。
  • trips.txt に direction_id フィールドを追加しました。
  • 中距離路線の運行間隔の変更に対応するため、stop_times.txt に stop_headsign フィールドを追加しました。
  • routes.txt に route_color と route_text_color を追加して、ルートを色分けできるようにしました。
  • 住所で停車地を指定できる機能を削除しました。仕様の前のバージョンでは、stop_street、stop_city、stop_region、stop_postcode、stop_country の各フィールドで住所を使って停車地の場所を指定できました。今後は、stop_lat と stop_lon を使って緯度と経度を指定する必要があります(ほとんどのアプリケーションにとってはこの方がより便利です)。
  • routes.txt の route_type フィールドに指定できる車両タイプとして、ケーブルカーを追加しました。
  • 変更の概要については、元の運行間隔ブログの投稿(リンク先は英語)もご覧ください。

2006 年 11 月 29 日

  • 旅程に使用するシェイプの情報を、shapes.txt で指定できるようにしました。
  • stop_sequence の定義をわかりやすくしました。
  • pickup_type と drop_off_type を「省略可能」にしました。

2006 年 10 月 31 日

  • 料金情報に対するサポートを追加しました。
  • 個々のファイル名から日付を削除しました。
  • route_type 値の定義を変更しました。
  • 複数のフィード ファイルについて、運行期間が重ならなければそれらを同時に投稿できるようにしました。
  • trips.txt の block_id を「省略可能」に訂正しました。
  • 列見出しを必ず付けるよう注意書きを追加しました。

2006 年 9 月 29 日

  • 例の中のいくつかの誤りを修正しました。

2006 年 9 月 25 日

  • 最初のバージョンです。