GTFS リファレンス

2012 年 2 月 2 日改訂

このドキュメントでは GTFS 乗換案内フィードを構成するファイルの種類について説明し、これらすべてのファイルで使われるフィールドを定義します。

目次

用語の定義

このセクションではドキュメントで使われる用語を定義します。

  • 必須フィールド - フィードに必ず含める必要があるフィールド列です。各レコードに値を指定する必要があります。一部の必須フィールドには空の文字列値を指定できます。空の文字列を入力するには、そのフィールドに対応するコンマの間に何も指定しないようにします。「0」は「0 という値の文字列」として解釈されるため、空の文字列とは異なる点に注意してください。詳しくは各フィールドの定義を参照してください。
  • オプション フィールド - 省略可能なフィールド列です。オプション フィールドを含める場合、フィードの各レコードにその列の値を指定する必要があります。その列の値がないレコードには、値として空の文字列を指定できます。一部のオプション フィールドには空の文字列値を指定できます。空の文字列を入力するには、そのフィールドに対応するコンマの間に何も指定しないようにします。「0」は「0 という値の文字列」として解釈されるため、空の文字列とは異なる点に注意してください。
  • 一意なデータセット - このフィールドには、列内の一意の単一エンティティに対応する値を指定します。たとえば、あるルートに 1A という ID を割り当てた場合、別のルートがこのルート ID を使用することはできません。しかし、場所はルートとは異なるタイプのエンティティなので、この 1A という ID を場所に割り当てることは可能です。

フィード ファイル

この仕様では、以下に示すファイルと、それぞれに関連する内容が定義されています:

ファイル名 必須 定義
agency.txt 必須 このフィードのデータを提供する 1 社以上の交通機関。
stops.txt 必須 乗客が乗り降りする停車地点。
routes.txt 必須 交通機関のルート。ルートとは利用者に 1 つのサービスとして表示される、旅程のグループのことです。
trips.txt 必須 各ルートの旅程。旅程とは一定の時間に 2 回以上の停車を伴う移動行程を指します。
stop_times.txt 必須 各旅程の個々の停車地への到着時刻と出発時刻。
calendar.txt 必須 週間時刻表に基づいたサービス ID の日付。サービスの開始日と終了日に加えて、サービスが利用できる曜日を指定します。
calendar_dates.txt 省略可能 calendar.txt ファイルで定義されたサービス ID の例外。この calendar_dates.txt にサービスのすべての日付を含める場合、calendar.txt の代わりにこのファイルだけを指定することも可能です。
fare_attributes.txt 省略可能 交通機関のルートの料金情報。
fare_rules.txt 省略可能 交通機関のルートの料金情報を適用するための規則。
shapes.txt 省略可能 交通機関のルートを示す線を地図に描くための規則。
frequencies.txt 省略可能 サービスの間隔が一定でないルートの運行間隔(旅程の間隔)。
transfers.txt 省略可能 乗換地点で別のルートに乗り継ぐための規則。
feed_info.txt 省略可能 フィード自体に関するその他の情報(フィード提供者、バージョン、有効期間などの情報)。

ファイルの要件

ファイルの形式と内容について、次の条件を満たしている必要があります:

  • General Transit Feed Spec(GTFS)で使用するすべてのファイルはコンマ区切りのテキスト ファイルとして保存します。
  • 各ファイルの最初の行にはフィールド名を含めます。フィールドの定義セクションの各サブセクションは乗換案内フィードのいずれかのファイルに対応しています。各サブセクションにはそのファイルで使用できるフィールド名の一覧が記載されています。
  • すべてのフィールド名で大文字と小文字が区別されます。
  • フィールド値にタブ、キャリッジ リターン、改行コードなどは使用できません。
  • 引用符またはコンマを含むフィールド値は引用符で囲みます。フィールド値に引用符が含まれる場合も、それぞれに引用符を 1 つ付ける必要があります。これは、Microsoft Excel から出力されたコンマ区切り(CSV)ファイルの場合と同じです。CSV ファイル形式について詳しくは http://tools.ietf.org/html/rfc4180 を参照してください。
    コンマ区切りファイルで使用できるフィールド値の例を次に示します。
    • 元のフィールド値: Contains "quotes", commas and text
    • CSV ファイルのフィールド値: "Contains ""quotes"", commas and text"
  • フィールド値に HTML タグ、コメント、またはエスケープ シーケンスを含めることはできません。
  • フィールドまたはフィールド名の間にある余分なスペースはすべて削除してください。多くのパーサーではこうしたスペースが値の一部として解釈されるため、エラーの原因となることがあります。
  • 各行の末尾は CRLF または LF の改行文字で終わらせます。
  • すべての Unicode 文字をサポートできるよう、ファイルは UTF-8 エンコーディングで保存します。Unicode バイト順マーク(BOM)文字を含むファイルも使用できます。BOM 文字や UTF-8 について詳しくは、Unicode よくある質問を参照してください。
  • フィード ファイルは zip 形式で圧縮します。

フィールドの定義

agency.txt

ファイル: 必須

フィールド名 必須 詳細
agency_id 省略可能

agency_id フィールドには 1 つの交通機関を一意に識別する ID を指定します。1 つの乗換案内フィードで複数の交通機関のデータを表すことも可能です。agency_id は一意なデータセットです。このフィールドは 1 つの交通機関のみの情報を含む乗換案内フィードではオプションです。

agency_name 必須

agency_name フィールドには交通機関の正式名称を指定します。Google マップにはこの名称が表示されます。

agency_url 必須

agency_url フィールドには交通機関の URL を指定します。値には http://https:// を含む完全な URL を指定します。URL に特殊文字が含まれる場合はその前に適切なエスケープ文字が必要です。完全な URL 値を作成する方法については、http://www.w3.org/Addressing/URL/4_URI_Recommentations.html を参照してください。

agency_timezone 必須

agency_timezone フィールドには交通機関の所在地の時間帯を指定します。時間帯の名前にスペースを含めることはできませんが、下線文字は使用できます。有効な値の一覧については http://en.wikipedia.org/wiki/List_of_tz_zones(リンク先は英語)をご覧ください。フィードに複数の交通機関を指定する場合は、それぞれの agency_timezone を同じにする必要があります。

agency_lang 省略可能

agency_lang フィールドには交通機関が主に使用する言語を表す 2 文字の ISO 639-1 コードを指定します。言語コードでは大文字と小文字が区別されません(たとえば en と EN のどちらでも使用できます)。該当する乗換案内フィードのすべてのテキストに適用される大文字と小文字の使い分けやその他の言語固有の設定を定義します。有効な値の一覧については http://www.loc.gov/standards/iso639-2/php/code_list.php を参照してください。

agency_phone 省略可能

agency_phone フィールドには交通機関の代表電話番号を 1 つ指定します。このフィールドには電話番号を表す文字列値を指定します。その交通機関の運行地域でよく使われる表記法を使用してください。局番と番号を区切るハイフンなどの記号も必要に応じて含めます。語呂合わせの文字で番号を指定することもできますが(TriMet の「503-238-RIDE」など)、それ以外のテキストをこのフィールドに含めることはできません。

agency_fare_url 省略可能

agency_fare_url には、利用者がその交通機関の乗車券またはその他の運賃支払い手段をオンラインで購入できるウェブページの URL を指定します。値には http://https:// を含む完全な URL を指定します。URL に特殊文字が含まれる場合はその前に適切なエスケープ文字が必要です。完全な URL 値を作成する方法については、http://www.w3.org/Addressing/URL/4_URI_Recommentations.html を参照してください。

stops.txt

ファイル: 必須

フィールド名 必須 詳細
stop_id 必須

stop_id フィールドには停車地や駅を一意に識別する ID を指定します。複数のルートに同じ停車地を使用できます。stop_id は一意なデータセットです。

stop_code 省略可能

stop_code フィールドには乗客が停車地を一意に識別できるような短いテキストまたは番号を指定します。停車地コードは電話ベースの交通機関情報システムでよく使われるほか、乗客が特定の停車地の停車時刻やリアルタイムの到着情報を取得しやすくするため、停車地の標識に表記されることもあります。

stop_code フィールドは乗客に表示する停車地コードのみに使用してください。交通機関内部のコードには stop_id を使用します。停車地にコードがない場合はこのフィールドを空白にします。

stop_name 必須

stop_name フィールドには停車地や駅の名前を指定します。その地域の住民や旅行者が理解できる名前を使用してください。

stop_desc 省略可能

stop_desc フィールドには停車地の説明を指定します。わかりやすく役に立つ情報を含めるようにします。停車地の名前を単に繰り返すことは避けてください。

stop_lat 必須

stop_lat フィールドには停車地や駅の緯度を指定します。値には有効な WGS 84 の緯度を指定します。

stop_lon 必須

stop_lon フィールドには停車地や駅の経度を指定します。値には有効な WGS 84 の経度値(-180~180)を指定します。

zone_id 省略可能

zone_id フィールドには停車地 ID の料金区間を定義します。fare_rules.txt で料金情報を提供する場合には、区間 ID が必要です。この停車地の ID が駅を表す場合、区間 ID は無視されます。

stop_url 省略可能

stop_url フィールドには特定の停車地に関するウェブ ページの URL を指定します。agency_urlroute_url の各フィールドとは異なる値を指定してください。

値には http://https:// を含む完全な URL を指定します。URL に特殊文字が含まれる場合はその前に適切なエスケープ文字が必要です。完全な URL 値を作成する方法については、http://www.w3.org/Addressing/URL/4_URI_Recommentations.html を参照してください。

location_type 省略可能

location_type フィールドにはこの停車地 ID が停車地と駅のどちらを表すかを指定します。場所タイプが指定されていなかったり location_type が空白の場合は、その停車地 ID は停車地として扱われます。地図に表示したりルート検索で使用する際、駅には停車値とは異なるプロパティを設定することができます。

場所タイプ フィールドには次の値を指定できます。

  • 0 または空白 - 停車地。乗客が交通機関の乗り物に乗り降りする地点を示します。
  • 1 - 駅。1 つ以上の停車地を含む、物理的な建造物または領域を示します。
parent_station 省略可能

駅構内にある停車地の場合、parent_station フィールドはその停車地に関連付けられている駅を指定します。このフィールドを使用するには stops.txt に、この停車地 ID の場所タイプ(location_type)を 1 に設定した行を含める必要があります。

停車地 ID の意味 エントリの場所タイプ エントリの parent_station フィールドの値
駅構内にある停車地 0 または空白 この停車地がある駅の停車地 ID。parent_station が参照する停車地の location_type が 1 であること。
駅の外にある停車地 0 または空白 空白の値。この停車地に parent_station フィールドは適用されない。
1 空白の値。駅に他の駅を含めることはできない。
stop_timezone 省略可能

stop_timezone フィールドにはこの停車地または駅の所在地の時間帯を指定します。有効な値の一覧については Wikipedia の時間帯のリスト(リンク先は英語)を参照してください。省略した場合、停車地の時間帯は agency.txt の agency_timezone で指定された時間帯と見なされます。

停車地が駅構内に併設されている場合、その停車地の時間帯は、該当する駅の stop_timezone 値で指定された時間帯と見なされます。駅の stop_timezone 値が指定されていない場合、その駅構内にある停車地の時間帯は、停車地自体の stop_timezone 値が指定されていても agency_timezone で指定された時間帯であると見なされます。つまり、ある停車地について parent_station 値を指定すると、その停車地に対して指定した stop_timezone 値は無視されます。

stop_timezone 値が stops.txt で指定されている場合でも、stop_times.txt の到着/出発時刻は、agency.txt の agency_timezone で指定された時間帯における午前 0 時を基準とした時刻で指定します。これにより、いくつかの時間帯をまたぐ旅程であっても、これらの時刻の値は必ず旅程が進行するに従って大きくなります。

wheelchair_boarding 省略可能

wheelchair_boarding フィールドには、指定した停車地または駅から車椅子での乗車が可能かどうかを指定します。フィールドには次の値を指定できます:

  • 0(または指定しない)- この停車地のバリアフリー情報がないことを表します
  • 1 - この停車地では少なくとも一部の車両に車椅子利用者が乗車できることを表します
  • 2 - この停車地では車椅子での乗車はできません

大型駅施設に併設されている(parent_station 値が設定されている)停車地の場合、停車地の wheelchair_boarding フィールドの値は次のような意味になります:

  • 0(または指定しない)- 併設元の駅の wheelchair_boarding 値が指定されている場合は、その値を継承します
  • 1 - 駅の外から特定の停車地/乗降口を結ぶバリアフリーの通路があります
  • 2 - 駅の外から特定の停車地/乗降口を結ぶバリアフリーの通路はありません

routes.txt

ファイル: 必須

フィールド名 必須 詳細
route_id 必須

route_id フィールドには 1 つのルートを一意に識別する ID を指定します。route_id は一意なデータセットです。

agency_id 省略可能

agency_id フィールドにはこのルートの交通機関を定義します。この値は agency.txt ファイルから参照されます。このフィールドは複数の交通機関からのルート情報を提供する場合に使用します。

route_short_name 必須

route_short_name にはルートの略名を指定します。これは通常乗客がルートを識別するための「32」、「100X」「Green」といった抽象的な短い ID です。この名前からは、このルートの通る場所はわかりません。ルートに略名がない場合は route_long_name を必ず指定し、このフィールドの値には空の文字列を指定します。

route_long_name 必須

route_long_name にはルートの正式名称を指定します。通常この名前は route_short_name よりもわかりやすく、ルートの行き先や停車地が含まれています。ルートに正式名がない場合、route_short_name を必ず指定し、このフィールドの値には空の文字列を指定します。

route_desc 省略可能

route_desc フィールドにはルートの説明を指定します。わかりやすく役に立つ情報を含めるようにします。ルートの名前を単に繰り返すことは避けてください。たとえば、「A 列車は Inwood-207 St, Manhattan と Far Rockaway-Mott Avenue, Queens 間を終日運行。午前 6 時から午前 0 時までは Inwood-207 St と Lefferts Boulevard 間の追加便を運行(通常は Lefferts Blvd 行きと Far Rockaway 行きを交互に運行)。」といった情報を含めます。"

route_type 必須

route_type フィールドにはルートに使用される交通機関のタイプを指定します。このフィールドで有効な値は次のとおりです。

  • 0 - 路面電車、市街電車。都市圏内を運行する軽便鉄道または路面電車システム。
  • 1 - 地下鉄、メトロ。都市圏内を運行する地下鉄システム。
  • 2 - 電車。都市間または長距離の移動。
  • 3 - バス。短距離および長距離のバス路線。
  • 4 - フェリー。短距離および長距離の航路。
  • 5 - ケーブルカー。車両の下にケーブルが敷かれている、路面を走るケーブルカー。
  • 6 - ゴンドラ、交走式ケーブルカー通常は空中ケーブルに車両を吊るすタイプのケーブルカー。
  • 7 - 鋼索鉄道。急斜面用に設計されたすべての鉄道システム。
route_url 省略可能

route_url フィールドには、特定のルートに関するウェブページの URL を指定します。agency_url とは異なる値を指定してください。

値には http://https:// を含む完全な URL を指定します。URL に特殊文字が含まれる場合はその前に適切なエスケープ文字が必要です。完全な URL 値を作成する方法については、http://www.w3.org/Addressing/URL/4_URI_Recommentations.html を参照してください。

route_color 省略可能

ルートに色が割り当てられているシステムの場合、route_color フィールドを使ってルートの色を定義します。色は、00FFFF など 6 桁の 16 進数の値によって指定します。指定しない場合、デフォルトのルート色は白(FFFFFF)になります。

route_colorroute_text_color の色の間には、白黒の画面でも見分けられる程度のコントラストが必要です。W3C Techniques for Accessibility Evaluation And Repair Tools document に、色のコントラストを評価する便利なアルゴリズムが記載されています。また snook.ca Color Contrast Check アプリケーション などハイ コントラストの色の組み合わせを選択するのに役立つオンライン ツールもあります。

route_text_color 省略可能

route_text_color フィールドを使用して、route_color で指定された背景上に表示するテキストに使う、読みやすい色を設定できます。色は FFD700 など 6 桁の 16 進数の値によって指定します。指定しない場合、デフォルトのルート色は黒(000000)になります。

route_colorroute_text_color の色の間には、白黒の画面でも見分けられる程度のコントラストが必要です。

trips.txt

ファイル: 必須

フィールド名 必須 詳細
route_id 必須

route_id フィールドには 1 つのルートを一意に識別する ID を指定します。この値は routes.txt ファイルから参照されます。

service_id 必須

service_id には 1 つ以上のルートでサービスが利用できる日付のセットを一意に識別する ID を指定します。この値は calendar.txt ファイルまたは calendar_dates.txt ファイルから参照されます。

trip_id 必須

trip_id フィールドには旅程を一意に識別する ID を指定します。trip_id は一意なデータセットです。

trip_headsign 省略可能

trip_headsign フィールドには乗客に目的地を知らせる行先表示に使用されるテキストを指定します。このフィールドを使用して、同じルート内の異なるサービス パターンを区別することができます。旅程の途中で行先表示が変わる場合は、stop_times.txt ファイルの stop_headsign フィールドの値を指定して、trip_headsign を上書きできます。

trip_short_name 省略可能

trip_short_name(旅程名)フィールドには乗客が旅程を識別できるよう時刻表と行先表示に使用されるテキストを指定します。たとえば通勤電車の路線番号などがこれに該当します。旅程名が乗客間であまり使用されない場合には、このフィールドを空白にします。

trip_short_name の値を指定する場合、その運行日の特定の旅程を一意に識別するような値を指定する必要があります。このフィールドは行先を指定したり、特急・急行列車を区別するために使用しないでください。

direction_id 省略可能

direction_id フィールドには旅程の方向を示す 2 進数の値を指定します。このフィールドを使用して、route_id が同じ 2 方向の旅程を区別します。このフィールドはルート計算には使用されず、時刻表を表示する際に旅程の方向を区別するために使われます。各方向の名前は trip_headsign フィールドで指定できます。

  • 0 - ある方向の旅程(下り線など)
  • 1 - 逆方向の旅程(上り線など)

たとえば trip_headsign と direction_id の両方のフィールドを使って、旅程「1234」の各方向に名前を割り当てることができます。その場合、trips.txt ファイルには、時刻表用に次の行を指定する必要があります:

trip_id, ... ,trip_headsign,direction_id
1234, ... , 空港行き,0
1505, ... , 繁華街行き,1

block_id 省略可能

block_id フィールドは、旅程が属するブロックを識別します。1 ブロックは同じ車両に乗ったまま 1 つの旅程から次の旅程に乗り換えることができるような、同じ車両による複数の旅程で構成されます。block_id は、trips.txt にある 2 つ以上の旅程により参照されます。

shape_id 省略可能

shape_id フィールドには旅程に使用する形を定義する ID を指定します。この値は shapes.txt ファイルから参照されます。shapes.txt ファイルを使用して、旅程を示す線を地図上に描く方法を定義できます。

stop_times.txt

ファイル: 必須

フィールド名 必須 詳細
trip_id 必須

trip_id フィールドには旅程を一意に識別する ID を指定します。この値は trips.txt ファイルから参照されます。

arrival_time 必須

arrival_time には、ルートの特定の旅程に含まれる特定の停車地の到着時刻を指定します。時刻は運行日の「正午より 12 時間前の時点」(夏時間の期間を除いて、実際には午前 0 時)を基準として指定します。運行日の午前 0 時以降の時刻を表すには、旅程の開始日の当地時刻として HH:MM:SS 形式で 24:00:00 より大きい値を入力します。停車地の到着時刻と出発時刻に区別がない場合は、arrival_timedeparture_time に同じ値を入力します。

旅程の最初と最後の停車地には到着時刻を指定する必要があります。停車地に時刻の設定がない場合、arrival_timedeparture_time の各フィールドに空の文字列を指定します。到着時刻のない停車地は、その直前の時刻が指定された停車地に基づいて処理されます。ルート検索の結果が正確になるよう、時刻のわかるすべての停車地の到着時刻と出発時刻を指定してください。停車地を挿入しないでください。

時刻は HH:MM:SS 形式の 8 桁で表します(時間が 1 桁の場合は H:MM:SS 形式も使用できます)。時刻の値にスペースは使用できません。次の表に旅程の実際の停車時刻と、これを arrival_time フィールドで指定する際の表記法をまとめます。

時刻 arrival_time の値
08:10:00 A.M. 08:10:00 または 8:10:00
01:05:00 P.M. 13:05:00
07:40:00 P.M. 19:40:00
01:55:00 A.M. 25:55:00

注: 翌日にまたがる旅程には 24:00:00 より大きい値を指定します。たとえば、10:30:00 p.m. に出発して翌日の 2:15:00 a.m. に到着する旅程の場合、停車時刻は 22:30:0026:15:00 になります。ここで停車時刻を 22:30:0002:15:00 として入力すると、正しい検索結果が得られません。

departure_time 必須

departure_time には、ルートの特定の旅程に含まれる特定の停車地からの出発時刻を指定します。時刻は運行日の「正午より 12 時間前の時点」(夏時間の期間を除いて、実際には午前 0 時)を基準として指定します。運行日の午前 0 時以降の時刻を表すには、旅程の開始日の当地時刻として HH:MM:SS 形式で 24:00:00 より大きい値を入力します。停車地の到着時刻と出発時刻に区別がない場合は、arrival_timedeparture_time に同じ値を入力します。

旅程の最初と最後の停車地には出発時刻を指定します。停車地に時刻の設定がない場合、arrival_timedeparture_time の各フィールドに空の文字列を指定します。到着時刻のない停車地は、その直前の時刻が指定された停車地に基づいて処理されます。ルート検索の結果が正確になるよう、時刻のわかるすべての停車地の到着時刻と出発時刻を指定してください。停車地を挿入しないでください。

時刻は HH:MM:SS 形式の 8 桁で表します(時間が 1 桁の場合は H:MM:SS 形式も使用できます)。時刻の値にスペースは使用できません。次の表に旅程の実際の停車時刻と、これを departure_time フィールドで指定する際の表記法をまとめます。

時刻 departure_time の値
08:10:00 A.M. 08:10:00 または 8:10:00
01:05:00 P.M. 13:05:00
07:40:00 P.M. 19:40:00
01:55:00 A.M. 25:55:00

注: 翌日にまたがる旅程には 24:00:00 より大きい値を指定します。たとえば、10:30:00 p.m. に出発して翌日の 2:15:00 a.m. に到着する旅程の場合、停車時刻は 22:30:0026:15:00 になります。ここで停車時刻を 22:30:0002:15:00 として入力すると、正しい検索結果が得られません。

stop_id 必須

stop_id フィールドには停車地を一意に識別する ID を指定します。複数のルートで同じ停車地を使用できます。stop_id は stops.txt ファイルから参照されます。stops.txt で location_type を使用する場合、stop_times.txt で参照されるすべての停車地の location_type を 0 にする必要があります。

フィードの更新時、stop_id の値をできるだけ変更しないようにしてください。たとえば停車地 A の stop_id1 に指定した場合、データの更新時にも一貫して stop_id 1 を使用します。時刻が指定されていない停車地の場合、arrival_timedeparture_time には空白の値を入力します。

stop_sequence 必須

stop_sequence フィールドには特定の旅程の停車地の順序を指定します。stop_sequence の値には 0 以上の整数を使用し、旅程が進行するに従って値を増やします。

たとえば旅程の最初の停車地の stop_sequence1 の場合、2 番目の停車地の stop_sequence23、3 番目の停車地の stop_sequence40、などとなります。

stop_headsign 省略可能

stop_headsign フィールドには乗客に目的地を知らせる行先表示に使用されるテキストを指定します。このフィールドは、停車地間で行先表示が変わる場合にデフォルトの trip_headsign を上書きするために使用します。旅程全体に関連付けられている行先表示の場合には、代わりに trip_headsign を使用してください。

pickup_type 省略可能

pickup_type フィールドにはこの停車地が通常の乗車地点であるか、それとも乗車が不可能であるかを指定します。交通機関は、このフィールドを使って特定の停車地からの乗車を希望する場合は電話で予約をするか、運転手に知らせる必要があることを乗客に示すことができます。このフィールドで有効な値は次のとおりです。

  • 0 - 通常の乗車地
  • 1 - 乗車不可能
  • 2 - 交通機関に乗車予約の電話が必要
  • 3 - 運転手への事前連絡が必要

このフィールドのデフォルト値は 0 です。

drop_off_type 省略可能

dropoff_type フィールドにはこの停車地が通常の下車地点であるか、それとも下車が不可能であるかを指定します。交通機関は、このフィールドを使って、特定の停車地での下車を希望する場合は電話で予約をするか、運転手に知らせる必要があることを乗客に示すことができます。このフィールドで有効な値は次のとおりです。

  • 0 - 通常の下車地
  • 1 - 下車不可能
  • 2 - 交通機関に下車予約の電話が必要
  • 3 - 運転手への事前連絡が必要

このフィールドのデフォルト値は 0 です。

shape_dist_traveled 省略可能

stop_times.txt ファイルでは shape_dist_traveled フィールドによって最初のシェイプ ポイントからの距離として停車地の位置を指定します。shape_dist_traveled フィールドはルート上の実際の移動距離をキロメートルやフィートなどの単位で表します。たとえば、バスがシェイプの開始点から停車地まで 5.25 km 移動する場合、停車地 ID の shape_dist_traveled を「5.25」に指定します。この情報によってルート検索で地図に旅程の一部を描く場合のシェイプの長さが決まります。shape_dist_traveled の値は stop_sequence の進行に合わせて増やす必要があります。これらのフィールドを使ってルートを逆方向に移動する旅程を描くことはできません。

stop_times.txt ファイルの shape_dist_traveled に使用する単位は、shapes.txt ファイルのこのフィールドの単位と同じでなければなりません。

calendar.txt

ファイル: 必須

フィールド名 必須 詳細
service_id 必須

service_id には 1 つ以上のルートでサービスが利用できる日付のセットを一意に識別する ID を指定します。service_id の各値を calendar.txt の 1 つのファイルで指定できるのは、1 回だけです。この値は一意なデータセットです。この値は trips.txt ファイルから参照されます。

monday 必須

monday フィールドには毎週月曜日にサービスが利用できるかどうかを示す 2 進数の値を指定します。

  • 1 の値は、サービスが所定の日付範囲の毎週月曜日に利用できることを示します。(日付範囲は start_dateend_date の各フィールドを使って指定します。)
  • 0 の値は、サービスが所定の日付範囲の毎週月曜日に利用できないことを示します。

注: calendar_dates.txt ファイルを使用して祭日などの特定の日付を例外として列挙することができます。

tuesday 必須

tuesday フィールドには毎週火曜日にサービスが利用できるかどうかを示す 2 進数の値を指定します。

  • 1 の値は、サービスが所定の日付範囲の毎週火曜日に利用できることを示します。(日付範囲は start_dateend_date の各フィールドを使って指定します。)
  • 0 の値はサービスが所定の日付範囲の毎週火曜日に利用できないことを示します。

注: calendar_dates.txt ファイルを使用して祭日などの特定の日付を例外として列挙することができます。

wednesday 必須

wednesday フィールドには毎週水曜日にサービスが利用できるかどうかを示す 2 進数の値を指定します。

  • 1 の値はサービスが所定の日付範囲の毎週水曜日に利用できることを示します。(日付範囲は start_dateend_date の各フィールドを使って指定します。)
  • 0 の値はサービスが所定の日付範囲の毎週水曜日に利用できないことを示します。

注: calendar_dates.txt ファイルを使用して祭日などの特定の日付を例外として列挙することができます。

thursday 必須

thursday フィールドには毎週木曜日にサービスが利用できるかどうかを示す 2 進数の値を指定します。

  • 1 の値はサービスが所定の日付範囲の毎週木曜日に利用できることを示します。(日付範囲は start_dateend_date の各フィールドを使って指定します。)
  • 0 の値はサービスが所定の日付範囲の毎週木曜日に利用できないことを示します。

注: calendar_dates.txt ファイルを使用して祭日などの特定の日付を例外として列挙することができます。

friday 必須

friday フィールドには毎週金曜日にサービスが利用できるかどうかを示す 2 進数の値を指定します。

  • 1 の値はサービスが所定の日付範囲の毎週金曜日に利用できることを示します。(日付範囲は start_dateend_date の各フィールドを使って指定します。)
  • 0 の値はサービスが所定の日付範囲の毎週金曜日に利用できないことを示します。

注: calendar_dates.txt ファイルを使用して祭日などの特定の日付を例外として列挙することができます。

saturday 必須

saturday フィールドには毎週土曜日にサービスが利用できるかどうかを示す 2 進数の値を指定します。

  • 1 の値はサービスが所定の日付範囲の毎週土曜日に利用できることを示します。(日付範囲は start_dateend_date の各フィールドを使って指定します。)
  • 0 の値はサービスが所定の日付範囲の毎週土曜日に利用できないことを示します。

注: calendar_dates.txt ファイルを使用して祭日などの特定の日付を例外として列挙することができます。

sunday 必須

sunday フィールドには毎週日曜日にサービスが利用できるかどうかを示す 2 進数の値を指定します。

  • 1 の値はサービスが所定の日付範囲の毎週日曜日に利用できることを示します。(日付範囲は start_dateend_date の各フィールドを使って指定します。)
  • 0 の値はサービスが所定の日付範囲の毎週日曜日に利用できないことを示します。

注: calendar_dates.txt ファイルを使用して祭日などの特定の日付を例外として列挙することができます。

start_date 必須

start_date フィールドにはサービスが開始される日付を指定します。

start_date フィールドの値は YYYYMMDD 形式で指定します。

end_date 必須

end_date フィールドにはサービスが終了する日付を指定します。この日付はサービス範囲に含まれます。

end_date フィールドの値は YYYYMMDD 形式で指定します。

calendar_dates.txt

ファイル: 省略可能

calendar_dates のテーブルを使用して、サービス ID を日付に基づいて有効にしたり無効にしたりすることができます。このファイルには 2 つの使い方があります。

  • 推奨する使い方: calendar_dates.txt と calendar.txt の両方を使用します。その場合、calendar.txt ファイルで定義されたデフォルトのサービス カテゴリの例外を calendar_dates.txt に定義します。これは、通常は定期的なサービスであり、特別なイベントや学校行事などのため特定の日に限定して変更が必要な場合に適しています。
  • もう 1 つの使い方: calendar.txt を使用せず、サービスが利用できるすべての日付を calendar_dates.txt に指定します。時刻表がほぼ毎日変わる場合や、週間時刻表がなく運行日をプログラムによって出力する場合には、この方法が適しています。
フィールド名 必須 詳細
service_id 必須

service_id には、1 つ以上のルートで例外サービスが利用できる日付のセットを一意に識別する ID を指定します。service_id と date の各組を calendar_dates.txt 内で指定できるのは、1 回だけです。calendar.txt と calendar_dates.txt の両方のファイルで service_id の値が同じ場合、calendar.txt で指定されたサービス情報は calendar_dates.txt の情報で変更されます。このフィールドは trips.txt ファイルにより参照されます。

date 必須

date フィールドには、サービスの運行状況が通常と異なる場合に特定の日付を指定します。特定の日付にサービスが利用可能かどうかを指定するには、exception_type フィールドを使用できます。

dateフィールドの値は YYYYMMDD 形式で指定します。

exception_type 必須

exception_type は、date フィールドで指定した日付にサービスが利用可能であるかどうかを表します。

  • 1 の値はその日にサービスが追加されたことを示します。
  • 2 の値はその日のサービスが中止されたことを示します。

たとえば、祭日に利用できる旅程のセットと、祭日以外に利用できる旅程の別のセットが指定されたルートがあるとします。その場合、通常のスケジュールに対応する service_id と、祭日スケジュールに対応する別の service_id の両方を指定できます。該当する祭日には calendar_dates.txt ファイルを使ってその日を祭日の service_id に追加し、平日の service_id スケジュールから除外します。

fare_attributes.txt

ファイル: 省略可能

フィールド名 必須 詳細
fare_id 必須

fare_id フィールドには、1 つの料金クラスを一意に識別する ID を指定します。fare_id は一意なデータセットです。

price 必須

price フィールドには currency_type で指定された単位で料金の金額を指定します。

currency_type 必須

currency_type フィールドには、料金の支払に使用する通貨を定義します。ISO 4217 のアルファベット通貨コードを使用してください。このコードは http://en.wikipedia.org/wiki/ISO_4217 に記載されています。

payment_method 必須

payment_method フィールドには料金をいつ支払うかを指定します。このフィールドで有効な値は次のとおりです。

  • 0 - 乗車後に支払う。
  • 1 - 乗車前に支払う。
transfers 必須

transfers フィールドにはこの料金で許可される乗り換え回数を指定します。このフィールドで有効な値は次のとおりです。

  • 0 - この料金で乗り換えることはできません。
  • 1 - 1 度の乗り換えが可能です。
  • 2 - 2 度の乗り換えが可能です。
  • (空白) - このフィールドが空白の場合、乗り換え回数に制限がないことを示します
transfer_duration 省略可能

transfer_duration フィールドには乗り換え期限が切れるまでの時間を秒数で指定します。

transfers の値が 0 の場合、transfer_duration フィールドは乗り換えが不可能な料金の乗車券の有効期限を示すことになります。つまり、transfers を 0 に設定した場合、transfer_duration を使って乗車券の期限を指定する場合を除き、このフィールドの値は指定しないか空白にしてください。

fare_rules.txt

ファイル: 省略可能

fare_rules のテーブルを使用して、fare_attributes.txt の料金を旅程に適用する方法を指定できます。通常、次の規則の組み合わせにより料金が設定されます。

  • 出発地または目的地の駅に基づいた料金設定
  • 通過する区間に基づいた料金設定
  • 使用するルートに基づいた料金設定

fare_rules.txt と fare_attributes.txt を使った料金の設定方法の例は、GoogleTransitDataFeed オープンソース プロジェクト Wiki の FareExamples を参照してください。

フィールド名 必須 詳細
fare_id 必須

fare_id フィールドには、1 つの料金クラスを一意に識別する ID を指定します。この値は fare_attributes.txt ファイルから参照されます。

route_id 省略可能

route_id フィールドを使って、料金 ID を 1 つのルートに関連付けます。ルート ID は routes.txt ファイルから参照されます。料金属性の同じルートが複数ある場合、fare_rules.txt に各ルート用の行を作成します。

たとえば、料金クラス「b」がルート「TSW」と「TSE」に適用される場合、fare_rules.txt ファイルにはこの料金クラス用に次の 2 行を含めます:

b,TSW
b,TSE

origin_id 省略可能

origin_id フィールドを使って、料金 ID を出発地の zone_id(区間 ID)に関連付けます。区間 ID は stops.txt ファイルから参照されます。料金属性の同じ出発地 ID が複数ある場合、fare_rules.txt に各出発地 ID 用の行を作成します。

たとえば、料金クラス「b」が区間「2」または「8」のどちらかから出発するすべての旅程に適用される場合、fare_rules.txt ファイルにはこの料金クラス用に次の 2 行を含めます:

b, , 2
b, , 8

destination_id 省略可能

destination_id フィールドを使って、料金 ID を目的地の zone_id(区間 ID)に関連付けます。区間 ID は stops.txt ファイルから参照されます。料金属性の同じ目的地 ID が複数ある場合、fare_rules.txt に各目的地 ID 用の行を作成します。

たとえば、origin_ID と destination_ID の両方のフィールドを使って料金クラス「b」が区間 3 と 4 間および区間 3 と 5 間にそれぞれ適用されることを指定するには、fare_rules.txt ファイルでこの料金クラス用に次の 2 行を含めます:

b, , 3,4
b, , 3,5

contains_id 省略可能

contains_id フィールドを使って、料金 ID を stops.txt ファイルから参照される zone_id に関連付けます。その後、この料金 ID が、各 contains_id 区間を通過する旅程に関連付けられます。

たとえば、料金クラス「c」が区間 5、6、7 を通過する GRT ルート上のすべての旅程に関連付けられている場合、fare_rules.txt には次の各行を含めます:

c,GRT,,,5
c,GRT,,,6
c,GRT,,,7

料金を適用するにはすべての contains_id 区間が一致する必要があるので、区間 5 と 6 を通っても区間 7 を通らない旅程には料金クラス「c」は適用されません。詳しくは GoogleTransitDataFeed プロジェクト Wiki の FareExamples を参照してください。

shapes.txt

ファイル: 省略可能

フィールド名 必須 詳細
shape_id 必須

shape_id フィールドには、1 つのシェイプを一意に識別する ID を指定します。

shape_pt_lat 必須

shape_pt_lat フィールドを使用して、シェイプ ID にシェイプ ポイントの緯度を関連付けます。値には有効な WGS 84 の緯度を指定します。shapes.txt の各行が、シェイプを定義する 1 つのシェイプ ポイントを表します。

たとえば、シェイプ「A_shp」の定義に 3 つのポイントが含まれる場合、shapes.txt ファイルにはこのシェイプを定義するために次のような行を指定します:

A_shp,37.61956,-122.48161,0
A_shp,37.64430,-122.41070,6
A_shp,37.65863,-122.30839,11

shape_pt_lon 必須

shape_pt_lon フィールドを使用して、シェイプ ID にシェイプ ポイントの経度を関連付けます。値には有効な WGS 84 の経度値(-180~180)を指定します。shapes.txt の各行が、シェイプを定義する 1 つのシェイプ ポイントを表します。

たとえば、シェイプ「A_shp」の定義に 3 つのポイントが含まれる場合、shapes.txt ファイルにはこのシェイプを定義するために次のような行を指定します:

A_shp,37.61956,-122.48161,0
A_shp,37.64430,-122.41070,6
A_shp,37.65863,-122.30839,11

shape_pt_sequence 必須

shape_pt_sequence フィールドを使用して、シェイプ ポイントの緯度と経度をそのシェイプに沿った進行順序に関連付けます。shape_pt_sequence の値には 0 以上の整数を使用し、旅程の進行に合わせて値を増やします。

たとえば、シェイプ「A_shp」の定義に 3 つのポイントが含まれる場合、shapes.txt ファイルにはこのシェイプを定義するために次のような行を指定します:

A_shp,37.61956,-122.48161,0
A_shp,37.64430,-122.41070,6
A_shp,37.65863,-122.30839,11

shape_dist_traveled 省略可能

shapes.txt ファイルで指定される shape_dist_traveled フィールドは、最初のシェイプ ポイントからの移動距離としてシェイプ ポイントの位置を指定します。shape_dist_traveled フィールドは、ルート上の実際の移動距離をキロメートルやフィートなどの単位で表します。この情報によって、ルート検索で地図に旅程の一部を描く場合のシェイプの長さが決まります。shape_dist_traveled の値は shape_pt_sequence に合わせて増やす必要があります。これらのフィールドを使ってルートを逆方向に移動する旅程を描くことはできません。

shapes.txt ファイルの shape_dist_traveled に使用する単位は、stop_times.txt ファイルのこのフィールドの単位と同じでなければなりません。

たとえば、上記の A_shp に定義された 3 点を通るバス旅程の場合、追加の shape_dist_traveled 値は次のようになります(単位: km)。

A_shp,37.61956,-122.48161,0,0
A_shp,37.64430,-122.41070,6,6.8310
A_shp,37.65863,-122.30839,11,15.8765

frequencies.txt

ファイル: 省略可能

このテーブルは定められた停車時刻のリストがない場合に時刻表を表すために使います。旅程を frequencies.txt で定義すると、ルート検索では stop_times.txt にある旅程について arrival_timedeparture_time の各フィールドの絶対値が無視され、代わりに stop_times のテーブルによって一連の停車地と各停車地間の時間差が定義されます。

フィールド名 必須 詳細
trip_id 必須

trip_id には、指定のサービス間隔が適用される旅程を識別する ID を指定します。旅程 ID は trips.txt ファイルから参照されます。

start_time 必須

start_time フィールドには、指定の間隔でサービスが開始される時刻を指定します。時刻は運行日の「正午より 12 時間前の時点」(夏時間の期間を除いて、実際には午前 0 時)を基準として指定します。午前 0 時以降の時刻を表すには、旅程の開始日の当地時刻として HH:MM:SS 形式で 24:00:00 より大きい値を入力します。例: 25:35:00

end_time 必須

end_time フィールドには旅程の最初の停車地でサービスの間隔が変わる(または中止される)時刻を指定します。時刻は運行日の「正午より 12 時間前の時点」(夏時間の期間を除いて、実際には午前 0 時)を基準として指定します。午前 0 時以降の時刻を表すには、旅程の開始日の当地時刻として HH:MM:SS 形式で 24:00:00 より大きい値を入力します。例: 25:35:00

headway_secs 必須

headway_secs フィールドには start_timeend_time で指定された時間の範囲内の、同じ停車地からのこの旅程タイプの出発間隔(つまり運行間隔)を指定します。運行間隔の値は秒単位で入力します。

運行間隔が定義される期間(つまり frequencies.txt の各行)を、同じ旅程で重複させることはできません。運行間隔が重複しているとその解釈が困難になるためです。ただし、運行間隔の定義期間を別の定義期間の終了と同時刻に開始することは可能です。たとえば次のように定義できます。

A, 05:00:00, 07:00:00, 600
B, 07:00:00, 12:00:00, 1200

exact_times 省略可能

exact_times フィールドでは、間隔を基準とする旅程について、指定された運行間隔情報に基づいて正確な時刻を決めるかどうかを指定します。このフィールドで有効な値は次のとおりです:

  • 0(または指定しない) - 間隔を基準とする旅程の正確な時刻は設定されません。これはデフォルトの表示です。
  • 1 - 間隔を基準とする旅程の正確な時刻が設定されます。frequencies.txt の 1 つの行で、旅程は次のように時刻設定されます。すなわち、すべての x(0、1、2、...)について、trip_start_time = start_time + x * headway_secs、ただし trip_start_time < end_time です。

exact_times の値は、frequencies.txt 内で trip_id が同じであるすべての行で一致していなければなりません。exact_times1 で、frequencies.txt のある行の start_timeend_time が等しい場合、旅程の時刻は設定されません。exact_times1 にするときは、end_time の値を、旅程の最終希望開始時間より大きく、かつその時間に headway_secs を加えた時間よりも小さい値にするよう注意してください。

transfers.txt

ファイル: 省略可能

ルート検索では通常、各ルートの停車地の相対距離に基づいて乗換地点が計算されます。あいまいになる可能性のある停車地の組み合わせや、特定の選択肢が必要な乗換の場合、transfers.txt を使ってルート間の乗り継ぎのための追加の規則を定義します。

フィールド名 必須 詳細
from_stop_id 必須

from_stop_id フィールドにはルート間の乗り継ぎを開始する停車地または駅を表す ID を指定します。停車地 ID は stops.txt ファイルから参照されます。停車地 ID が複数の停車地を含む駅を参照している場合、この乗換規則はその駅のすべての停車地に適用されます。

to_stop_id 必須

to_stop_id フィールドにはルート間の乗り継ぎを終了する停車地または駅を表す ID を指定します。停車地 ID は stops.txt ファイルから参照されます。停車地 ID が複数の停車地を含む駅を参照している場合、この乗換規則はその駅のすべての停車地に適用されます。

transfer_type 必須

transfer_type フィールドには指定された from_stop_id と to_stop_id の組み合わせの乗り継ぎのタイプを指定します。このフィールドで有効な値は次のとおりです。

  • 0(または空白) - 2 つのルート間の推奨乗換地点を示します。
  • 1 - 2 つのルート間の時間が指定された乗換地点です。乗り継ぎ先の便は、元の便が到着し、乗り継ぎに十分な余裕をもって発車するように計算されます。
  • 2 - この乗換には、到着と発車の間に最低限の乗り継ぎ所要時間が必要です。乗り継ぎに必要な時間はmin_transfer_time で指定します。
  • 3 - ルート間の乗り継ぎが不可能なことを示します。
min_transfer_time 省略可能

別のルートに乗り継ぐため到着から出発までに時間が必要な場合(つまり transfer_type=2 の場合)、min_transfer_time フィールドを使用してこれらの停車地での乗り継ぎに必要な時間を定義します。min_transfer_time には、ごく一般的な乗客が 2 つの停車地間を移動するのに十分な時間を指定する必要があります。これには各ルートの時刻表の誤差も考慮する必要があります。

min_transfer_time の値は秒単位で入力し、0 以上の整数を指定してください。

feed_info.txt

ファイル: 省略可能

このファイルでは、フィードにより記述されるサービスではなく、フィード自体についての情報を定義します。GTFS では現在、フィードにより記述されるサービスを運営する交通機関についての情報は agency.txt ファイルで設定します。しかし、フィードの提供者が交通機関とは別の組織であることもあります(地域のアグリゲータの場合)。さらに、いくつかのフィールドは、交通機関全体というより実際はフィード全体に対する設定となっています。

フィールド名 必須 詳細
feed_publisher_name 必須

feed_publisher_name フィールドにはフィードを公開する組織の正式名称を指定します。(agency.txt 内の agency_name のいずれかの値と同じである場合もあります。)GTFS を利用するアプリケーションで特定のフィードのデータの帰属表示をするときに、この名前を表示できます。

feed_publisher_url 必須

feed_publisher_url フィールドにはフィードを公開する組織のウェブサイトの URL を指定します。(#agency_fieldsagency.txtagency_url のいずれかの値と同じである場合もあります。)値には http://https:// を含む完全な URL を指定します。URL に特殊文字が含まれる場合はその前に適切なエスケープ文字が必要です。完全な URL 値を作成する方法については、http://www.w3.org/Addressing/URL/4_URI_Recommentations.html を参照してください。

feed_lang 必須

feed_lang フィールドには、このフィードのテキストに使用されるデフォルト言語を表す IETF BCP 47 言語コードを指定します。GTFS を利用するアプリケーションはこの設定を基に、フィードに適用される大文字と小文字の使い分けやその他の言語固有の規則を選択できます。IETF BCP 47 の概要については、http://www.rfc-editor.org/rfc/bcp/bcp47.txthttp://www.w3.org/International/articles/language-tags/(リンク先はいずれも英語)をご覧ください。

feed_start_date

feed_end_date

省略可能

このフィードでは、feed_start_date の日の初めから feed_end_date の日の終わりまでの期間に運行されるサービスについて、信頼できる完全な時刻表情報を提供します。どちらの日も calendar.txt の場合と同じく YYYYMMDD 形式で指定します。指定しない場合は空白にします。両方指定する場合、feed_end_datefeed_start_date より前の日付になってはいけません。フィード提供者には、今後予定されるサービスについて知らせるためこの期間以外の時刻表データも提供することが求められる一方で、フィード利用者はそれが正式なデータではないことに留意する必要があります。feed_start_date または feed_end_date が calendar.txt や calendar_dates.txt で定義された有効期間の範囲外である場合、そのフィードは、feed_start_date または feed_end_date の期間はカレンダーの有効期間には含まれずその期間内のサービスがないことをはっきり示していることになります。

feed_version 省略可能

フィード提供者は、現在使用している GTFS フィードのバージョンを表す文字列をここで特定できます。GTFS を利用するアプリケーションにこの値を表示することにより、フィード提供者は最新バージョンのフィードが組み込まれているかどうかを確認できます。