リファレンス

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

このドキュメントでは、以下のトピックについて説明します。

  1. 用語の定義
  2. フィールドのタイプ
  3. データセット ファイル
  4. ファイルの要件
  5. フィールドの定義

用語の定義

このドキュメントで使用される用語その定義です。

  • データセット: この仕様のリファレンスで定義されているファイルの完全なセット。データセットに変更を加えると、新しいバージョンのデータセットが作成されます。データセットは、ZIP ファイル名を含む恒久的な URL(例: https://www.agency.org/gtfs/gtfs.zip)で公開します。

  • レコード: 1 つのエンティティ(交通機関、停車地、ルートなど)を説明する複数のフィールド値で構成される基本データ構造。テーブルの行に相当します。

  • フィールド: オブジェクトまたはエンティティのプロパティ。テーブルの列に相当します。

  • フィールド値: フィールドの個々のエントリ。テーブルの 1 つのセルに相当します。

  • 必須: 必須フィールドは必ずデータセットに含め、各レコードで値を指定する必要があります。

    • 一部の必須フィールドには空の文字列を指定できます。空の文字列を指定する場合は、そのフィールドに対応するカンマの間に何も入力しないようにします。「0」は「0 という値の文字列」として解釈されるため、空の文字列とは異なります。
  • 任意: 任意フィールドは、データセットから省略できます。任意フィールドの列を含める場合、そのフィールドの一部のエントリには空の文字列を指定できます。

    • 空の文字列を指定するには、そのフィールドに対応するカンマの間に何も入力しないようにします。「0」は「0 という値の文字列」として解釈されるため、空の文字列とは異なります。フィールドを省略するには、そのフィールドを完全に空にします。
  • 条件付き必須: 特定の条件下で必須となるフィールドまたはファイルを指します。条件については、フィールドまたはファイルの「説明」欄に記載されています。指定された条件外では、このフィールドやファイルは省略することができます。

  • 運行日: ルートのスケジューリングで使用される時間の単位。運行日の正確な定義は交通機関によって異なりますが、必ずしも暦日とは一致しません。運行日は 24:00:00 を超えて翌日に続く場合があります。たとえば、サービスの運行が金曜日の午前 8 時に始まり土曜日の午前 2 時に終了する場合、単一の運行日として 08:00:00~26:00:00 と表記されることがあります。

フィールドのタイプ

General Transit Feed Specification(GTFS)乗換案内フィードでは、以下のフィールド タイプが使用されます。

  • : 6 桁の 16 進数としてエンコードされる色。有効な値を生成するには、HTML カラーコードを参照してください。先頭の「#」は含めないでください。

    • 例: FFFFFF は白、000000 は黒を指します。地下鉄の A,、C、E ラインに 0039A6 の色を指定することもできます。
  • 通貨コード: ISO 4217 のアルファベットの通貨コード。現在使用できる通貨コードについては、有効なコードのリストをご確認ください。

    • 例: CAD はカナダドル、EUR はユーロ、JPY は日本円です。
  • 日付: YYYYMMDD 形式で指定される運行日。運行日の時刻は 24:00:00 を超えることがあるため、翌日以降の情報が含まれる場合もあります。

    • 例: 20180913 は 2018 年 9 月 13 日を指します。
  • メール: メールアドレス。

    • 例: ex@gmail.com など。
  • 列挙型: あらかじめ定義されている定数の中から 1 つの値を選択します(各選択肢については「説明」欄で詳しく説明されています)。

    • 例: routes.txtroute_type フィールドには、路面電車を表す 0 や地下鉄を表す 1 を指定できます。
  • ID: エンティティを一意に識別する任意の UTF-8 文字のシーケンス。テーブル内の特定のレコードを識別する必要はありません。通常は、ある TXT ファイルで定義されている ID を別の TXT ファイルで参照することができます。ID フィールドの値は、ユーザーに表示することを意図したものではありません。任意の UTF-8 文字を使用できますが、出力可能な ASCII 文字のみを使用することが推奨されています。

    • 例: stops.txtstop_id フィールドは ID です。stop_times.txtstop_id フィールドは stops.stop_id を参照する ID です。
  • 言語コード: IETF BCP 47 の言語コード。IETF BCP 47 の概要については、言語を識別するためのタグHTML および XML における言語タグをご覧ください。

    • 例: en は英語、en-US はアメリカ英語、de はドイツ語を指します。
  • 緯度: WGS84 の緯度(10 進法)。値は -90.0 以上かつ 90.0 以下でなければなりません。

    • 例: ローマのコロッセウムの緯度は 41.890169 です。
  • 経度: WGS84 の経度(10 進法)。値は -180.0 以上かつ 180.0 以下でなければなりません。

    • 例: ローマのコロッセウムの経度は 12.492269 です。
  • 非負の浮動小数: 0 以上の浮動小数点数。

  • 非負整数: 0 以上の整数。

  • 電話番号: 電話番号。

  • 時刻: HH:MM:SS 形式で指定される時刻。H:MM:SS 形式も使用できます。時刻は運行日の「正午より 12 時間前の時点」を基準として指定します。夏時間と標準時間が切り替わる日を除いて、実質的には午前 0 時が基準となります。午前 0 時を過ぎる時刻については、運行が開始される日の現地時間(HH:MM:SS 形式)で 24:00:00 よりも大きい値として入力します。

    • 例: 14:30:00 は午後 2 時 30 分、25:35:00 は翌日の午前 1 時 35 分を指します。
  • テキスト: ユーザーに表示することを前提とする UTF-8 の文字列。人が読んで理解できる文字列を指定します。

  • タイムゾーン: タイムゾーン データベースに格納されているタイムゾーン。タイムゾーン名にスペースを含めることはできませんが、アンダースコアは使用できます。有効な値については、tz database タイムゾーンのリストでご確認ください。

    • 例: Asia/TokyoAmerica/Los_AngelesAfrica/Cairo など。
  • URL: http:// または https:// を含む完全修飾 URL。URL に特殊文字が含まれる場合は、適切なエスケープ処理を行う必要があります。完全修飾 URL の値を作成する方法については、W3C URI の推奨事項をご覧ください。

データセット ファイル

この仕様では、以下のファイルとその内容を定義します。

ファイル名 要不要 定義
agency.txt 必須 データセットで表されるサービスを提供する 1 つ以上の交通機関を定義します。
stops.txt 必須 乗客が乗り降りする停車地を定義します。駅や駅の入口も定義できます。
routes.txt 必須 交通機関のルートを定義します。ルートとは、乗客に 1 つのサービスとして表示される旅程を組み合わせたものです。
trips.txt 必須 各ルートを構成する旅程を定義します。旅程とは、指定された時間範囲に 2 回以上の停車を伴う移動行程を指します。
stop_times.txt 必須 各旅程の個々の停車地への到着時刻と出発時刻を指定します。
calendar.txt 条件付き必須 特定のルートでサービスが利用できる運行日を定義します。週単位のスケジュールを使用します。このファイルでは、サービスの開始日と終了日に加えて、サービスが利用できる曜日を指定します。運行スケジュールがすべて calendar_dates.txt に定義されている場合を除き、このファイルは必須です。
calendar_dates.txt 条件付き必須 calendar.txt ファイルで定義されているサービスの例外的な運行スケジュールを定義します。calendar.txt が省略されている場合、calendar_dates.txt は必須となり、このファイルにすべての運行スケジュールを記載する必要があります。
fare_attributes.txt 任意 交通機関のルートの運賃情報を定義します。
fare_rules.txt 任意 運賃情報を旅程に適用するための規則を定義します。
shapes.txt 任意 車両の移動経路を地図に描くための規則を定義します(ルートの線形とも呼ばれます)。
frequencies.txt 任意 一定の時間間隔で運行される旅程の運行間隔を指定します。厳密な時刻表が存在しない運行間隔ベースのサービスを定義できるほか、固定された時刻表が存在するサービスの圧縮表現としても使用できます。
transfers.txt 任意 乗換地点で別のルートに乗り継ぐための規則を定義します。
pathways.txt 任意 駅の入口からプラットフォームまでの経路など、駅構内の 2 つの地点を徒歩で移動して乗り継ぐ場合の規則を定義します。この経路は、歩行グラフのエッジとして表示されます。
levels.txt 任意 駅構内の階を定義します。
feed_info.txt 任意 フィード自体に関するその他の情報(フィード提供者、バージョン、有効期間などの情報)を指定します。

ファイルの要件

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

  • General Transit Feed Spec(GTFS)フィードで使用するファイルはすべて、カンマ区切りのテキスト ファイルとして保存します。

  • 各ファイルの最初の行にフィールド名を含めます。フィールドの定義のサブセクションは、それぞれ GTFS データセットの各ファイルに対応しており、そのファイルで使用できるフィールド名の一覧を記載しています。

  • すべてのフィールド名で大文字と小文字が区別されます。

  • フィールド値にタブ、キャリッジ リターン、改行コードなどは使用できません。

  • 引用符またはカンマを含むフィールド値は、値全体を引用符で囲みます。さらに、フィールド値内の個々の引用符にも、それぞれ引用符を 1 つ付ける必要があります。これは、Microsoft Excel から出力されるカンマ区切り(CSV)ファイルと同様です。CSV ファイル形式について詳しくは、カンマ区切り値(CSV)ファイルの共通形式と MIME タイプの記事をご覧ください。以下に、カンマ区切りファイルでフィールド値を記述する例を示します。

    • 元のフィールド値: 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

ファイル: 必須

データセットで表されるサービスを提供する 1 つ以上の交通機関を定義します。

フィールド名 タイプ 要不要 説明
agency_id ID 条件付き必須

交通ブランド(ほとんどの場合、交通機関と同義)を識別する ID を指定します。1 つの交通機関が複数の異なるサービスを運営している場合など、交通機関とブランドが区別されるケースもありますが、このドキュメントでは「ブランド」ではなく、「交通機関」という用語を使用します。

1 つの乗換案内フィードで複数の交通機関のデータを提供することも可能です。乗換案内フィードに複数の交通機関のデータが含まれる場合、このフィールドは必須となります。それ以外の場合は、任意です。

agency_name テキスト 必須 交通機関の正式名称を指定します。
agency_url URL 必須 交通機関の URL を指定します。
agency_timezone タイムゾーン 必須 交通機関の所在地のタイムゾーンを指定します。フィードで複数の交通機関を指定する場合は、すべての機関の agency_timezone を同じにする必要があります。
agency_lang 言語コード 任意 この交通機関で使用される主な言語を指定します。GTFS を利用するアプリケーションはこの設定を基に、データセットに適用される大文字と小文字の使い分けやその他の言語固有の規則を選択できます。
agency_phone 電話番号 任意 指定した交通機関の代表電話番号を指定します。このフィールドには電話番号を表す文字列を入力します。電話番号は、交通機関の運行地域で一般的な表記法で記述してください。局番と番号を区切るハイフンなどの記号も必要に応じて含めます。語呂合わせの文字で番号を指定することもできますが(TriMet の「503-238-RIDE」など)、それ以外のテキストをこのフィールドに含めることはできません。
agency_fare_url URL 任意 その交通機関の乗車券や乗車カードなどをオンラインで購入できるウェブページの URL を指定します。
agency_email メール 任意 交通機関のカスタマー サービス部門で現在実際に使用されている有効なメールアドレスを指定します。このメールアドレスは、乗客がその交通機関のカスタマー サービス担当者に直接問い合わせできる連絡先でなければなりません。

stops.txt

ファイル: 必須

乗客が乗り降りする停車地を定義します。駅や駅の入口も定義できます。

フィールド名 タイプ 要不要 説明
stop_id ID 必須 停車地、駅、駅の入口を識別する ID を指定します。「駅の入口」という用語には、駅の入口と出口の両方が含まれます。停車地、駅、駅の入口などをまとめて「場所」と呼びます。複数のルートで同じ停車地を使用できます。
stop_code テキスト 任意

乗客が停車地を一意に識別できるようなコード(短いテキストや番号)を指定します。このようなコードは電話ベースの交通機関情報システムでよく使われるほか、乗客が特定の停車地の情報をすばやく見つけられるよう、停車地の案内板に表記されることがあります。

stop_id が一般に広く使用されている ID である場合は、stop_code フィールドにも同じ値を指定できます。一般に使用されているコードがない場合は、このフィールドを空白にします。

stop_name テキスト 条件付き必須

場所の名前を指定します。地元の人や旅行者が理解できる名前を使用してください。

場所が乗車エリア(location_type=4)である場合は、交通機関が乗車エリアの名前として使用している名称を stop_name に含めてください。名称は 1 文字の場合もあれば、「車椅子でのご乗車位置」や「短編成車両の先頭位置」のようなテキストの場合もあります。

location_type フィールドが 0(停車地)、1(駅)、2(出入口)の場合、このフィールドは必須になります。

location_type フィールドが 3(汎用ノード)または 4(乗車エリア)の場合、このフィールドは任意になります。

stop_desc テキスト 任意 場所の説明を入力します。わかりやすく役に立つ情報を含めるようにします。場所の名前を単にコピーすることは避けてください。
stop_lat 緯度 条件付き必須

停車地、駅、駅の入口の緯度を指定します。

location_type フィールドが 0(停車地)、1(駅)、2(出入口)の場合、このフィールドは必須になります。

location_type フィールドが 3(汎用ノード)または 4(乗車エリア)の場合、このフィールドは任意になります。

stop_lon 経度 条件付き必須

停車地、駅、駅の入口の経度を指定します。

location_type フィールドが 0(停車地)、1(駅)、2(出入口)の場合、このフィールドは必須になります。

location_type フィールドが 3(汎用ノード)または 4(乗車エリア)の場合、このフィールドは任意になります。

zone_id ID 条件付き必須 停車地の運賃区間を定義します。fare_rules.txt で運賃情報を指定する場合、このフィールドは必須になります。このレコードが駅や駅の入口を表す場合、zone_id は無視されます。
stop_url URL 任意 特定の停車地に関するウェブページの URL を指定します。agency_urlroute_url の各フィールドとは異なる値を指定してください。
location_type 列挙型 任意

場所のタイプを定義します。location_type フィールドで有効な値は次のとおりです。

  • 0 または(空白): 停車地(または「プラットフォーム」)。乗客が交通機関の車両に乗り降りする地点を指します。parent_station が設定されている場合、停車地は「プラットフォーム」と呼ばれます。
  • 1: 駅。1 つ以上のプラットフォームを含む、駅舎やターミナルを指します。
  • 2: 駅の出入口。乗客が通りから駅に出入りできる場所を指します。このタイプのエントリでは、入口の親にあたる駅の stop_id を参照する parent_station 値も指定する必要があります。出入口が複数の駅に属している場合は、その出入口と各駅を結ぶ経路が存在します。この場合、データ提供者は 1 つの駅を親として指定するか、いずれの駅も指定しないかを選択できます。
  • 3: 汎用ノード。他の location_type に該当しない駅構内の場所。汎用ノードは、pathways.txt で定義された経路を連結するために使用されます。
  • 4: 乗車エリア。乗客が乗車または降車するプラットフォーム上の特定の場所を指します。
parent_station stops.stop_id を参照する ID 条件付き必須

停車地が駅構内にある場合、parent_station フィールドではその停車地に関連付ける駅を指定します。parent_station フィールドと location_type フィールドの値の組み合わせに基づいて、次の 3 つのタイプの停車地を定義できます。

  • 親となる停車地。駅舎やターミナル(通常、大型の構造物)に相当し、子の停車地を持つことができます。
    • このエントリの場所のタイプは 1 です。
    • このタイプの停車地に上位の親は存在しないため、parent_station フィールドには空白の値を指定します。
  • 子の停車地。親となる停車地の構内にあります。pathways.txt で定義されている入口、プラットフォーム、ノード、その他の経路を子の停車地として指定できます。
    • このエントリの location_type0 または(空白)です。
    • parent_station フィールドには、この停車地がある駅の停車地 ID を指定します。
    • parent_station で参照される停車地は、location_type=1 でなければなりません。
  • 他の停車地の構内にない独立した停車地。
    • このエントリの場所のタイプは 0 または(空白)です。
    • parent_station フィールドはこの停車地には適用されないため、parent_station フィールドには空白の値を指定します。
stop_timezone タイムゾーン 任意

この場所のタイムゾーンを指定します。省略すると、停車地は agency.txtagency_timezone で指定されたタイムゾーンにあると見なされます。

停車地に親となる駅が存在する場合、その停車地は親の stop_timezone 値で指定されたタイムゾーンにあると見なされます。親の stop_timezone の値が指定されていない場合、その親に属する停車地は、停車地自体の stop_timezone 値が指定されている場合でも、agency_timezone で指定されたタイムゾーンにあると見なされます。

つまり、parent_station 値を指定すると、その停車地に対して指定されている stop_timezone 値は無視されることになります。stops.txtstop_timezone 値を指定する場合でも、stop_times.txt の発着時刻は、agency.txtagency_timezone で指定したタイムゾーンを基準として入力してください。これにより、いくつかのタイムゾーンをまたぐ旅程でも、時刻の値は旅程の進行に従って常に増加するようになります。

wheelchair_boarding 列挙型 任意

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

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

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

  • 0 または(空白): 親にあたる駅の wheelchair_boarding 値が指定されている場合は、その値を継承します。
  • 1: 駅の外から特定の停車地またはプラットフォームまでのバリアフリーの通路があります。
  • 2: 駅の外から特定の停車地またはプラットフォームまでのバリアフリーの通路はありません。

駅の出入口について指定する場合、wheelchair_boarding フィールドの値は次のような意味になります。

  • 0 または(空白): 親にあたる駅の wheelchair_boarding 値が指定されている場合は、その値を継承します。
  • 1: 駅の出入口は車椅子で通行可能です(プラットフォームとの高低差があってもエレベーターを利用できる場合など)。
  • 2: 駅の出入口からプラットフォームまでのバリアフリーの通路はありません。
level_id levels.level_id を参照する ID 任意 その場所の階を指定します。互いに連結されていない複数の駅では、同じ階の ID を使用することができます。
platform_code テキスト 任意 停車プラットフォーム(駅に属する停車地)のプラットフォーム ID を指定します。「G」や「3」などのシンプルなプラットフォーム ID を使用してください。「プラットフォーム」や「番線」などの語句(またはフィードの言語でこれらに該当する語句)を含める必要はありません。これにより、フィードを利用する側で、プラットフォーム ID を他の言語に翻訳しやすくなります。

routes.txt

ファイル: 必須

交通機関のルートを定義します。ルートとは、乗客に 1 つのサービスとして表示される旅程を組み合わせたものです。

フィールド名 タイプ 要不要 説明
route_id ID 必須 ルートを識別する ID を指定します。
agency_id agency.agency_id を参照する ID 条件付き必須 このルートの交通機関を定義します。agency.txt でルートのデータを提供する交通機関が複数定義されている場合、このフィールドは必須になります。それ以外の場合は、任意です。
route_short_name テキスト 条件付き必須

ルートの略称を指定します。これは乗客がルートを識別するための「32」、「100X」「Green」といったシンプルな ID です。この略称からは、ルートの行き先は判別できません。

route_short_nameroute_long_name のどちらか 1 つは必ず指定する必要があります。可能な場合は、両方を指定できます。ルートに略称がない場合は、必ず route_long_name を指定し、このフィールドの値には空の文字列を指定します。

route_long_name テキスト 条件付き必須

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

route_short_nameroute_long_name のどちらか 1 つは必ず指定する必要があります。可能な場合は、両方を指定できます。ルートに正式名称がない場合は、必ず route_short_name を指定し、このフィールドの値には空の文字列を指定します。

route_desc テキスト 任意

ルートの説明を入力します。このフィールドには、わかりやすく役に立つ情報を含めるようにします。ルートの名前を単にコピーすることは避けてください。

たとえば、"A" trains operate between Inwood-207 St, Manhattan and Far Rockaway-Mott Ave, Queens at all times. From about 6 AM until about midnight, additional "A" trains operate between Inwood-207 St and Lefferts Blvd (trains typically alternate between Lefferts Blvd and Far Rockaway).

route_type 列挙型 必須

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

  • 0: 路面電車、市街電車、ライトレール。都市圏内を運行する軽量軌道交通または路面電車システム。
  • 1: 地下鉄、メトロ。都市圏内を運行する地下鉄システム。
  • 2: 電車。都市間または長距離の鉄道路線。
  • 3: バス。短距離および長距離のバス路線。
  • 4: フェリー。短距離および長距離の航路。
  • 5: ケーブルカー。車両の下にケーブルが敷かれている、路面を走るケーブルカー。
  • 6: ゴンドラ、ロープウェイ。通常は空中ケーブルに車両を吊るすタイプのロープウェイ。
  • 7: 鋼索鉄道。急斜面用に設計された、ケーブル牽引力を使用するすべての鉄道システム。
route_url URL 任意 特定のルートに関するウェブページの URL を指定します。agency_url とは異なる値を指定してください。
route_color 任意

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

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

route_text_color 任意

route_color で指定した背景の上に表示されるテキストを読みやすい色に設定できます。指定しない場合、デフォルトのテキストの色は黒(000000)になります。

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

route_sort_order 非負整数 任意 ユーザーにルートを表示する順序を指定します。route_sort_order の値が小さいルートは、route_sort_order の値が大きいルートより先に表示されます。

trips.txt

ファイル: 必須

各ルートを構成する旅程を定義します。旅程とは、指定された時間範囲に 2 回以上の停車を伴う移動行程を指します。

フィールド名 タイプ 要不要 説明
route_id routes.route_id を参照する ID 必須 ルートを識別する ID を指定します。
service_id calendar.service_id または calendar_dates.service_id を参照する ID 必須 サービスが 1 つ以上のルートで利用できる日付のセットを識別する ID を指定します。
trip_id ID 必須 旅程を識別する ID を指定します。
trip_headsign テキスト 任意

乗客に目的地を知らせる行先案内に表示されるテキストを指定します。このフィールドを使用して、同じルート内で異なるパターンのサービスを区別することができます。

旅程の途中で行先案内が変わる場合は、stop_times.txtstop_headsign フィールドの値を指定して、trip_headsign をオーバーライドできます。

trip_short_name テキスト 任意

乗客が旅程を識別できるよう、一般に広く使用されている名称を指定します。たとえば通勤電車の列車番号などがこれに該当します。旅程の名称がほとんど使用されていない場合は、このフィールドを空白にできます。

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

direction_id 列挙型 任意

旅程の進行方向を指定します。このフィールドを使用して、同じ route_id での上り下りの 2 方向の旅程を区別することができます。このフィールドで有効な値は次のとおりです。

  • 0: いずれか指定する方向の旅程(下り線など)
  • 1: 逆方向の旅程(上り線など)

このフィールドはルート計算には使用されませんが、時刻表を表示する際に旅程の方向を区別するために使われます。各方向の名前は trip_headsign フィールドで指定できます。

たとえば trip_headsigndirection_id の両方のフィールドを使って、一組の旅程セットの各方向に名前を割り当てることができます。その場合、trips.txt ファイルには、時刻表用に次のように行を記述します。


trip_id,...,trip_headsign,direction_id
1234,...,Airport,0
1505,...,Downtown,1
block_id ID 任意 旅程が属するブロックを識別する ID を指定します。1 つのブロックは、1 つの旅程、または同じ車両による連続する複数の旅程(同じ車両に乗ったまま 1 つの旅程から次の旅程に乗り換えることができる場合など)で構成されます。共通の運行日と block_id を使用して、一連の旅程をブロックとしてグループ化することができます。1 つの block_id に、運行日の異なる旅程を含めることもできます。この場合は、ブロック ID が同じでも異なるブロックと見なされます。詳しくは、ブロックと運行日の表示例をご覧ください。
shape_id shapes.shape_id を参照する ID 任意 この旅程における車両の移動経路を地図上に描くシェイプを定義します。
wheelchair_accessible 列挙型 任意

この旅程で車椅子での乗車が可能かどうかを指定します。フィールドには次の値を指定できます。

  • 0 または(空白): この旅程のバリアフリー情報がないことを示します。
  • 1: この旅程で使用されている車両には、少なくとも 1 人の車椅子利用者が乗車できます。
  • 2: この旅程では車椅子での乗車はできません。
bikes_allowed 列挙型 任意

この旅程で自転車の車内への持ち込みが許可されているかどうかを指定します。フィールドには次の値を指定できます。

  • 0 または(空白): この旅程には自転車に関する情報がないことを示します。
  • 1: この旅程で使用されている車両には、少なくとも 1 台の自転車の持ち込みが許可されています。
  • 2: この旅程では自転車の持ち込みは許可されていません。

ブロックと運行日の表示例

次の表は、1 つの車両の旅程を作成する方法を示しています。これらの旅程では、曜日ごとに個別のブロックが指定されます。停車時刻は、stop_times.txt で指定されている、ブロックの最も早い arrival_time と最も遅い departure_time に対応しています。

route_id trip_id service_id block_id 最初の停車時刻 最後の停車時刻
red trip_1 mon-tues-wed-thurs-fri-sat-sun red_loop 22:00:00 22:55:00
red trip_2 fri-sat-sun red_loop 23:00:00 23:55:00
red trip_3 fri-sat red_loop 24:00:00 24:55:00
red trip_4 mon-tues-wed-thurs red_loop 20:00:00 20:50:00
red trip_5 mon-tues-wed-thurs red_loop 21:00:00 21:50:00

以下の注意事項は、上の表で定義されている 2 つのブロックについて説明しています。

  • 金曜の夜から土曜の早朝にかけて、trip_1trip_2trip_3 は同じ車両で運行されます(午後 10 時~午前 0 時 55 分)。この場合、最終の運行は土曜の午前 0 時~午前 0 時 55 分の旅程ですが、時刻が 24:00:00~24:55:00 と指定されているため、金曜の「運行日」の一部として扱われます。

  • 月曜、火曜、水曜、木曜の午後 8 時~午後 10 時 55 分のブロックでは、trip_1trip_4trip_5 が同じ車両で運行されます。

stop_times.txt

ファイル: 必須

各旅程での個々の停車地への到着時刻と出発時刻を指定します。

フィールド名 タイプ 要不要 説明
trip_id trips.trip_id を参照する ID 必須 旅程を識別する ID を指定します。
arrival_time 時刻 条件付き必須

ルートの特定の旅程に含まれる特定の停車地の到着時刻を指定します。旅程の最初と最後の停車地には到着時刻を指定する必要があります。

停車地で到着時刻と出発時刻が区別されない場合は、arrival_timedeparture_time に同じ値を入力してください。

時刻表に厳密に従って運行される停車地の到着時刻を入力する方法については、タイムポイントをご覧ください。

departure_time 時刻 条件付き必須

ルートの特定の旅程に含まれる特定の停車地からの出発時刻を指定します。旅程の最初と最後の停車地には出発時刻を指定する必要があります。これには、車両に乗車できない終点駅も含まれます。

停車地で到着時刻と出発時刻が区別されない場合は、arrival_timedeparture_time に同じ値を入力してください。

時刻表に厳密に従って運行される停車地の出発時刻を入力する方法については、タイムポイントをご覧ください。

stop_id stops.stop_id を参照する ID 必須

車両の停車地を識別する ID を指定します。複数のルートで同じ停車地を使用できます。

stops.txtlocation_type を指定している場合、stop_times.txt で参照されるすべての停車地は location_type=0 に設定されている必要があります。フィードの更新の際にも、stop_id の値はできるだけ変更しないようにしてください。たとえば停車地 A を stop_id=1 に指定した場合は、データの更新時にも一貫して stop_id=1 を使用してください。タイムポイントではない停車地の場合、arrival_timedeparture_time には空白の値を入力します。詳しくは、タイムポイントをご覧ください。

stop_sequence 非負整数 必須

特定の旅程の停車地の順序を指定します。stop_sequence の値は旅程の進行に応じて増加する必要がありますが、必ずしも連続した数である必要はありません。

たとえば、旅程の最初の停車地の stop_sequence1 である場合、2 番目の停車地の stop_sequence23、3 番目の停車地の stop_sequence40 のように設定できます。

stop_headsign テキスト 任意 乗客に目的地を知らせる行先案内に表示されるテキストを指定します。このフィールドは、停車地間で行先案内が変わる場合にデフォルトの trip_headsign をオーバーライドするために使用します。旅程全体の行先案内には、このフィールドではなく、trip_headsign を使用してください。
pickup_type 列挙型 任意

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

  • 0 または(空白): 通常の乗車地点
  • 1: 乗車不可能
  • 2: 交通機関に乗車予約の電話が必要
  • 3: 運転手への事前連絡が必要
drop_off_type 列挙型 任意

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

  • 0 または(空白): 通常の降車地点
  • 1: 降車不可能
  • 2: 交通機関に降車予約の電話が必要
  • 3: 運転手への事前連絡が必要
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 ファイルの同じフィールドの単位と一致しなければなりません。

timepoint 列挙型 任意

停車地に対して指定される到着時刻と出発時刻が車両の正確な運行時刻であるか、概算時刻または補間時刻であるかを指定できます。このフィールドでは、地域の情報を反映した補間時刻を指定できるほか、時刻が概算のものであることを示すこともできます。

停車時刻エントリで到着時刻と出発時刻が指定されている場合、このフィールドで有効な値は次のとおりです。

  • 0: 概算の運行時刻です。
  • 1 または(空白): 正確な運行時刻です。

停車時刻エントリで到着時刻と出発時刻が指定されていない場合は、フィードの利用者側が到着時刻と出発時刻を補間する必要があります。フィード提供者は、このようなエントリをタイムポイントではないと指定する(timepoint=0)ことができます。ただし、到着時刻と出発時刻を指定していないエントリをタイムポイントであると指定する(timepoint=1)と、エラーが発生します。

タイムポイント

指定した到着時刻と出発時刻のとおりに厳密に車両が運行される停車地を「タイムポイント」と言います。タイムポイントの停車地では、車両が予定出発時刻より早く到着しても、出発時刻になるまで待機します。

タイムポイントでない停車地の場合は、arrival_time または departure_time フィールドで空白の文字列を使用するか、補間時刻を指定します。補間時刻が指定されていることを示すには、timepoint フィールドで 0 の値を指定します。入力した時刻がタイムポイントであることを示すには、timepoint=1 を指定します。

タイムポイントの停車地には、必ず到着時刻と出発時刻を指定してください。

calendar.txt

ファイル: 条件付き必須

特定のルートでサービスが利用できる運行日を定義します。週単位のスケジュールを使用します。このファイルでは、サービス提供期間の開始日と終了日に加えて、サービスが利用できる曜日を指定します。運行スケジュールがすべて calendar_dates.txt で定義されていない限り、このファイルは必須です。

フィールド名 タイプ 要不要 説明
service_id ID 必須 サービスが 1 つ以上のルートで利用できる日付のセットを一意に識別する ID を指定します。service_id の各値を calendar.txt ファイル内で指定できるのは 1 回だけです。この値は trips.txt ファイルから参照されます。
monday 列挙型 必須

start_dateend_date フィールドで指定された期間内で、毎週月曜日にサービスが利用できるかどうかを指定します。このフィールドで有効な値は次のとおりです。

  • 1: 所定の期間の毎週月曜日に利用できることを示します。
  • 0: 所定の期間の月曜日には利用できないことを示します。
tuesday 列挙型 必須 毎週火曜日にサービスが利用できるかどうかを指定します。monday フィールドと同様に機能します。
wednesday 列挙型 必須 毎週水曜日にサービスが利用できるかどうかを指定します。monday フィールドと同様に機能します。
thursday 列挙型 必須 毎週木曜日にサービスが利用できるかどうかを指定します。monday フィールドと同様に機能します。
friday 列挙型 必須 毎週金曜日にサービスが利用できるかどうかを指定します。monday フィールドと同様に機能します。
saturday 列挙型 必須 毎週土曜日にサービスが利用できるかどうかを指定します。monday フィールドと同様に機能します。
sunday 列挙型 必須 毎週日曜日にサービスが利用できるかどうかを指定します。monday フィールドと同様に機能します。
start_date 日付 必須 サービスが開始される日付を指定します。
end_date 日付 必須 サービスが終了する日付を指定します。ここで入力する日付は、サービスの提供期間に含まれます。

calendar_dates.txt

ファイル: 条件付き必須

calendar_dates ファイルでは、特定の日付を指定して明示的にサービスを有効にしたり無効にしたりすることができます。このファイルには 2 つの使い方があります。

  • 推奨される使い方: calendar.txt ファイルで定義したデフォルトのサービス カテゴリの例外を calendar_dates.txt で定義します。通常は定期的なサービスとして運行し、学校の休みや特別なイベントなどのため特定の日に限定して変更が必要な場合に、この方法が適しています。この場合、サービスの ID には、calendar.service_id を参照する calendar_dates.service_id を使用します。

  • もうひとつの使い方: calendar.txt を使用せず、サービスが利用できるすべての日付を calendar_dates.txt で指定します。スケジュールがほぼ毎週変わる場合や、週単位のスケジュールを指定せずに運行日をプログラムによって出力したい場合には、この方法が適しています。この場合、service_id はこのファイルで指定する ID です。

フィールド名 タイプ 要不要 説明
service_id calendar.service_id を参照する ID、または ID 必須

サービスの例外が 1 つ以上のルートで発生する日付のセットを識別する ID を指定します。service_iddate の各組を calendar_dates.txt 内で指定できるのは 1 回だけです。

calendar.txtcalendar_dates.txt の両方のファイルに同じ service_id の値が含まれる場合、calendar.txt で指定されたサービス情報は calendar_dates.txt の情報によってオーバーライドされます。

このフィールドは trips.txt ファイルから参照されます。

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

date フィールドで指定した日付にサービスが利用可能であるかどうかを指定します。このフィールドで有効な値は次のとおりです。

  • 1: 指定された日には、サービスが追加されます。
  • 2: 指定された日には、サービスが中止されます。

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

fare_attributes.txt

ファイル: 省略可能

交通機関のルートの運賃情報を定義します。

フィールド名 タイプ 要不要 説明
fare_id ID 必須 運賃クラスを識別する ID を指定します。
price 非負の浮動小数 必須 currency_type で指定する通貨で運賃の金額を入力します。
currency_type 通貨コード 必須 運賃の支払いに使用する通貨を定義します。
payment_method 列挙型 必須

運賃を支払うタイミングを示します。このフィールドで有効な値は次のとおりです。

  • 0: 乗車時に支払います。
  • 1: 乗車前に支払います。
transfers 列挙型 必須

この運賃で許容される乗り換えの回数を指定します。通常、必須フィールドには必ず値を指定する必要がありますが、このフィールドは例外的に空白にすることができます。このフィールドで有効な値は次のとおりです。

  • 0: 乗り換えはできません。
  • 1: 1 回の乗り換えが許容されています。
  • 2: 2 回の乗り換えが許容されています。
  • (空白): 無制限に乗り換えることができます。
agency_id agency.agency_id を参照する ID 条件付き必須

この運賃に関連付ける交通機関の ID を指定します。

データセットの agency.txt ファイルで交通機関が複数定義されている場合、このフィールドは必須になります。それ以外の場合は、任意です。

transfer_duration 非負整数 任意 乗り換えの有効期限が切れるまでの時間を秒数で指定します。transfers の値が 0 の場合、transfer_duration フィールドは乗り換えが許容されていない乗車券の有効期限を表します。このフィールドで乗車券の有効期限を指定する必要がない場合、transfers0 であるときは、transfer_duration を省略するか空白にしてください。

fare_rules.txt

ファイル: 省略可能

fare_rules.txt ファイルを使用して、fare_attributes.txt の運賃を旅程に適用する方法を指定します。運賃は通常、次の規則の組み合わせに基づいて決まります。

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

fare_rules.txtfare_attributes.txt を使った運賃の設定方法の例は、GoogleTransitDataFeed オープンソース プロジェクト Wiki の FareExamples でご覧いただけます。

フィールド名 タイプ 要不要 説明
fare_id fare_attributes.fare_id を参照する ID 必須 運賃クラスを識別する ID を指定します。
route_id routes.routes_id を参照する ID 任意

運賃クラスをルートに関連付けます。同じ運賃属性のルートが複数ある場合は、fare_rules.txt でルートごとに行を作成します。

たとえば、運賃クラス「b」をルート「TSW」と「TSE」に適用する場合は、fare_rules.txt ファイルに次のように行を記述して、この運賃クラスを定義します。


fare_id,route_id
b,TSW
b,TSE
origin_id stops.zone_id を参照する ID 任意

運賃クラスを出発地の zone_id に関連付けます。同じ運賃属性の出発地区間が複数ある場合は、fare_rules.txtorigin_id ごとに行を作成します。

たとえば、区間 2 と区間 8 から出発するすべての旅程に運賃クラス「b」を適用する場合は、fare_rules.txt ファイルに次のように行を記述して、この運賃クラスを定義します。


fare_id,...,origin_id
b,...,2
b,...,8
destination_id stops.zone_id を参照する ID 任意

運賃クラスを目的地の zone_id に関連付けます。同じ運賃属性の目的地区間が複数ある場合は、fare_rules.txtdestination_id ごとに行を作成します。

たとえば、origin_IDdestination_ID の両方のフィールドを使って、区間 3 から区間 4 への移動と区間 3 から区間 5 への移動に運賃クラス「b」を適用することができます。この場合は、fare_rules.txt ファイルに次のように行を記述して定義します。


fare_id,...,origin_id,destination_id
b,...,3,4
b,...,3,5
contains_id stops.zone_id を参照する ID 任意

特定の運賃クラスが適用される区間の ID を指定します。一部のシステムでは、正しい運賃クラスを計算するためにこのフィールドが使用されます。

たとえば、区間 5、6、7 を通過する GRT ルートのすべての旅程に運賃クラス「c」を関連付ける場合は、fare_rules.txt に次のように行を記述します。


zone_id,route_id,...,contains_id
c,GRT,,,5
c,GRT,,,6
c,GRT,,,7

この場合、運賃が適用されるには contains_id の区間すべてが旅程に含まれている必要があるため、区間 5 と 6 を通っても区間 7 を通らない旅程には運賃クラス「c」は適用されません。詳しくは、GoogleTransitDataFeed プロジェクト Wiki の FareExamples をご覧ください。

shapes.txt

ファイル: 省略可能

シェイプとは車両が通過する物理的経路を表し、shapes.txt ファイルで定義されます。シェイプは個々の旅程に関連付けられ、一連のポイントで構成されます。ポイントを順序どおりにたどると、車両の移動経路が得られます。ポイントが停車地と一致する必要はありません。

フィールド名 タイプ 要不要 説明
shape_id ID 必須 シェイプを識別する ID を指定します。
shape_pt_lat 緯度 必須 シェイプ ポイントの緯度をシェイプ ID に関連付けます。shapes.txt の各行が、シェイプを定義する 1 つのシェイプ ポイントを表します。
shape_pt_lon 経度 必須 シェイプ ポイントの経度をシェイプ ID に関連付けます。shapes.txt の各行が、シェイプを定義する 1 つのシェイプ ポイントを表します。
shape_pt_sequence 非負整数 必須

シェイプ ポイントの緯度と経度をそのシェイプに沿った進行順序に関連付けます。shape_pt_sequence の値は旅程の進行に応じて増加する必要がありますが、必ずしも連続する数である必要はありません。

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


shape_id,shape_pt_lat,shape_pt_lon,shape_pt_sequence
A_shp,37.61956,-122.48161,0
A_shp,37.64430,-122.41070,6
A_shp,37.65863,-122.30839,11
shape_dist_traveled 非負の浮動小数 任意

最初のシェイプ ポイントからこのレコードで指定されたポイントまで、シェイプに沿って移動する実際の距離を指定します。乗換案内では、この情報に基づいて、地図上に描く旅程のシェイプの長さが決定されます。shape_dist_traveled の値は shape_pt_sequence の増加とともに増加する必要があります。これらのフィールドを使ってルートを逆方向に移動する旅程を描くことはできません。

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

たとえば、シェイプ「A_shp」で定義された 3 つのポイントを通るバス旅程の場合、shape_dist_traveled 値を次のように追加できます(単位: km)。


shape_id,shape_pt_lat,shape_pt_lon,shape_pt_sequence,shape_dist_traveled
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 ファイルは、一定の時間間隔で運行される旅程を定義します。このファイルを使用して、次の 2 つのタイプのサービスを指定することができます。

  • 運行間隔ベースのサービス(exact_times=0 を使用する)。このタイプのサービスでは、1 日の定まった時刻表は存在せず、運転手は一定の運行間隔を厳密に維持しようとします。

  • 時刻表ベースのサービスの圧縮表現(exact_times=1 を使用する)。このタイプのサービスでは、指定された時間帯に一定の運行間隔を正確に維持する時刻表が存在します。運転手は、時刻表を厳守するよう努めます。

フィールド名 タイプ 要不要 説明
trip_id trips.trip_id を参照する ID 必須 運行間隔を適用する旅程の ID を指定します。
start_time 時刻 必須 運行間隔を適用する旅程の始点となる停車地で、最初の車両が出発する時刻を指定します。
end_time 時刻 必須 旅程の始点となる停車地で、運行間隔を変更する時刻または運行を停止する時刻を指定します。
headway_secs 非負整数 必須

この旅程タイプで、1 つの停車地から車両が出発する間隔(運行間隔)を秒単位で指定します。この設定は、start_timeend_time で定義される時間帯に適用されます。

1 つの旅程に対して複数の運行間隔を指定することができますが、時刻が重ならないように注意する必要があります。ただし、ある運行間隔を別の運行間隔の終了と同時刻に開始することは可能です。

exact_times 列挙型 任意

指定された運行間隔に基づく厳密な時刻表があるかどうかを指定します。詳しくは、frequencies.txt のファイルの説明をご覧ください。このフィールドで有効な値は次のとおりです。

  • 0 または(空白): 厳密な時刻表が存在しない、運行間隔ベースの旅程です。
  • 1: 1 日を通して運行間隔が正確に維持される、時刻表ベースの旅程です。この場合、end_time の値は最終希望の旅程の start_time より大きく、かつ最終希望の旅程の start_time+headway_secs よりも小さい値にする必要があります。

transfers.txt

ファイル: 省略可能

ルートを計算する際、GTFS を利用するアプリケーションでは、所要時間と停車地間の距離に基づいて乗換案内に調整を加えます。transfers.txt ファイルでは、選択されている乗換設定をオーバーライドする、追加の規則を指定します。

フィールド名 タイプ 要不要 説明
from_stop_id stops.stop_id を参照する ID 必須 ルート間の乗り換えの始点となる停車地または駅を識別する ID を指定します。このフィールドが駅を参照している場合、この乗換規則はその駅に属するすべての停車地にも適用されます。
to_stop_id stops.stop_id を参照する ID 必須 ルート間の乗り換えの終点となる停車地または駅を識別する ID を指定します。このフィールドが駅を参照している場合、この乗換規則はその駅に属するすべての停車地にも適用されます。
transfer_type 列挙型 必須

指定された区間(from_stop_id から to_stop_id まで)の乗り換えのタイプを示します。このフィールドで有効な値は次のとおりです。

  • 0 または(空白): 2 つのルート間の推奨乗換地点を示します。
  • 1: 2 つのルート間で待ち合わせが行われる乗換地点です。出発する車両は、前のルートの車両が到着するまで待機し、乗客が乗り換えを行う十分な時間を確保してから発車します。
  • 2: 到着から出発までの間に乗り換えを行うための最低限の時間が必要です。乗り換えに必要な時間は min_transfer_time で指定します。
  • 3: この場所でルート間の乗り換えは行えません。
min_transfer_time 非負整数 任意 指定された停車地でルート間の乗り換えを行うのに必要な時間を秒単位で定義します。min_transfer_time には、一般的な乗客が 2 つの停車地間を移動するのに十分な時間を指定する必要があります。各ルートで時刻表との多少の誤差が発生する場合も考慮に入れて、ある程度の余裕を持たせてください。

pathways.txt

ファイル: 省略可能

pathways.txt を使用して、駅構内のレイアウトを表すグラフを作成します。駅の入口からプラットフォームに移動するには、通路、改札、階段、またはその他の経路を通過する必要があります。入口やプラットフォームはグラフのノード(頂点)、経路はエッジ(辺)として表されます。

pathways.txt では、特定の駅構内の経路を網羅的にリストアップする必要があります。ノード A とノード B の間に経路がない場合は、それら 2 つのノードを直接結ぶ連絡通路がないことを意味します。この場合は、次のような常識的な規則が適用されます。

  • 宙に浮かんでいる場所はない: 駅構内のすべての場所には、そこに通じる経路が存在します。乗車エリアがあるプラットフォームを除き、すべての場所に経路を設定する必要があります。

  • 孤立したプラットフォームは存在しない: すべてのプラットフォームには、少なくとも 1 つの入口と、そこに通じる一連の経路を指定する必要があります。

  • 乗車エリアがあるプラットフォームの経路は指定しない: プラットフォームに乗車エリアがある場合、そのプラットフォームはノードではなく親オブジェクトとして処理されるため、経路を割り当てることはできません。この場合は、乗車エリアへの経路を指定します。

フィールド名 タイプ 要不要 説明
pathway_id ID 必須 経路を識別する ID を指定します。同じ from_stop_id から同じ to_stop_id に複数の経路を指定することも可能です。たとえば、進行方向の異なるエスカレーターが 2 本並んでいる場合や、階段とエレベーターのどちらでも同じ場所に移動できる場合などがあります。
from_stop_id stops.stop_id を参照する ID 必須 経路の始点となる場所を定義します。stops.txt ファイルで定義されている、プラットフォーム、出入口、汎用ノード、乗車エリアなどを識別する stop_id を含みます。
to_stop_id stops.stop_id を参照する ID 必須 経路の終点となる場所を定義します。stops.txt ファイルで定義されている、プラットフォーム、出入口、汎用ノード、乗車エリアなどを識別する stop_id を含みます。
pathway_mode 列挙型 必須

指定された始点から終点(from_stop_id から to_stop_id)までの経路のタイプを指定します。このフィールドで有効な値は次のとおりです。

  • 1: 通路
  • 2: 階段
  • 3: 動く歩道
  • 4: エスカレーター
  • 5: エレベーター
  • 6: 改札(支払いゲート)。運賃の支払い証明が必要な構内エリアへの入口。通常は、物理的なゲートが存在します。

    通常改札によって、運賃を支払った人のみが入れる構内のエリアとそうでないエリア、あるいは運賃の異なるエリアが分けられています。この情報を指定することで、構内の正しいルートを案内し、乗客が不要な支払いを迫られる事態を避けることができます。

  • 7: 出口。構内の運賃の支払い証明が必要なエリアから出て、運賃の支払い証明が不要なエリアに入るための経路です。
is_bidirectional 列挙型 必須

経路の進行方向を指定します。このフィールドで有効な値は次のとおりです。

  • 0: 一方通行の経路。from_stop_id から to_stop_id の方向にのみ進むことができます。
  • 1: 双方向の経路。どちらの方向にも進むことができます。

改札(pathway_mode=6)と出口(pathway_mode=7)を双方向に指定することはできません。

length 非負の浮動小数 任意

経路の水平方向の距離をメートル単位で指定します。距離は、from_stop_id で定義される始点となる場所から to_stop_id で定義される終点までを計測します。

pathway_mode1(通路)、6(改札)、7(出口)の場合に、このフィールドを指定することが推奨されています。

traversal_time 正の整数 任意

経路を徒歩で移動する際の平均時間を指定します。このフィールドで有効な値は次のとおりです。

  • (空白): 移動時間不明。
  • 正の整数: この経路を徒歩で移動するのに必要な秒数。

pathway_mode3(動く歩道)、4(エスカレーター)、5(エレベーター)の場合など、機械式の経路では、このフィールドを指定することが推奨されています。

stair_count Null 以外の整数 任意

経路にある階段の段数を指定します。正の stair_count は、from_stop_id から to_stop_id まで階段を上ることを意味します。負の stair_count は、from_stop_id から to_stop_id まで階段を下りることを意味します。

pathway_mode2(階段)および 4(エスカレーター)の場合に、このフィールドを指定することが推奨されています。

参考情報として、ひとつの階から次の階に移動するのに必要な段数は、階段が約 15 段、エスカレーターが約 12 段です。

max_slope 浮動小数 任意

経路の最大勾配率を指定します。このフィールドで有効な値は次のとおりです。

  • 0 または(空白): 勾配なし。
  • 浮動小数: 経路の勾配率。上り勾配は正の数、下り勾配は負の数を指定します。

このフィールドは、pathway_mode1(通路)および 3(動く歩道)の場合にのみ使用します。

たとえば、米国の場合、自走式の車椅子で通行可能と判断される最大勾配率は 0.083(8.3%)です。これは、水平方向に 1 m 進むごとに垂直方向に高さが 0.083 m 増加することを意味します。

min_width 正の浮動小数 任意

経路の最小幅をメートル単位で指定します。

最小幅が 1 m 未満の場合は、このフィールドを指定することを強くおすすめします。

signposted_as テキスト 任意 構内に掲げられている案内板のテキストを正確に文字列として指定します。このフィールドにより、文字情報で乗り換えの経路を案内することができます。このフィールドには、案内板に記載されているとおりに正確にテキストを入力します。テキストは翻訳しないでください。
reversed_signposted_as テキスト 任意 signposted_as フィールドと同様ですが、経路を to_stop_id から from_stop_id に逆方向に進むときに使用します。

levels.txt

ファイル: 省略可能

駅構内のさまざまな階を定義します。levels.txt ファイルは、pathways.txt とともに使用すると便利です。

フィールド名 タイプ 要不要 説明
level_id ID 必須 駅構内の階を識別する ID を指定します。
level_index 浮動小数 必須

他の階との相対的な位置関係を指定します。インデックスの数字が大きいほど、上にある階と見なされます。

地上階を表すにはインデックス 0 を使用し、地上より上の階は正のインデックス、地下の階は負のインデックスで表します。

level_name テキスト 任意

階の名前を指定します。この名前は、建物または駅構内で使用されている階数表記(文字や数字)と一致している必要があります。

このフィールドは、エレベーターを使って「中 2 階」、「プラットフォーム」、「-1」に移動する場合など、エレベーターを使用する経路の指定に役立ちます。

feed_info.txt

ファイル: 省略可能

feed_info.txt ファイルでは、フィードに記述されたサービスではなく、フィード自体についての情報を定義します。GTFS では、フィードに記述されたサービスを運営する交通機関についての情報は agency.txt ファイルで設定しますが、交通機関とは別の組織(地域のアグリゲータなど)がフィードを提供している場合や、交通機関に関連する設定ではなく、フィード全体に関連する設定を指定する場合には、このファイルを使用できます。

フィールド名 タイプ 要不要 説明
feed_publisher_name テキスト 必須 データセットを公開している組織の正式名称を指定します。agency.txtagency_name のいずれかの値と同じでもかまいません。
feed_publisher_url URL 必須 データセットを公開している組織のウェブサイトの URL を指定します。agency.txtagency_url のいずれかの値と同じでもかまいません。
feed_lang 言語コード 必須 このデータセットのテキストで使用されるデフォルトの言語を指定します。GTFS を利用するアプリケーションはこの設定を基に、フィードに適用される大文字と小文字の使い分けやその他の言語固有の規則を選択できます。
feed_start_date 日付 任意

このデータセットで提供される feed_start_date の始まりから feed_end_date の終わりまでの期間の運行スケジュール情報は、信頼できる完全なデータである必要があります。

feed_end_datefeed_start_date の両方を指定する場合、終了日を開始日より前の日付にすることはできません。データセットの提供者は、この期間以降の運行スケジュールを提供して今後予定されるサービスについて通知することができますが、データセットの利用者はそれが正式なデータではないことに留意する必要があります。

feed_start_datefeed_end_date で定義された期間内で、calendar.txtcalendar_dates.txt のどちらにも記載のない日付がある場合、その日にはサービスが提供されないことを意味しています。calendar.txtcalendar_dates.txt は併せて、サービスが利用できる運行日の完全なリストと見なされます。

feed_end_date 日付 任意 このフィールドについて詳しくは、上記の feed_start_date をご覧ください。
feed_version テキスト 任意 GTFS データセットの現行バージョンを表す文字列を指定します。GTFS を利用するアプリケーションにこの値が表示されていれば、データセット提供者は最新バージョンのデータセットが組み込まれているかどうかを確認できます。
feed_contact_email メール 任意 GTFS データセットとデータの公開方法に関するコミュニケーションに使用するメールアドレスを指定します。feed_contact_email フィールドには GTFS を利用するアプリケーションの技術面に関するコミュニケーションに使用するメールアドレスを指定します。カスタマー サービスの連絡先情報を提供する場合は、agency.txt のフィールドを使用してください。
feed_contact_url URL 任意 GTFS データセットとデータの公開方法に関するコミュニケーションに使用する、連絡先情報のページ、ウェブフォーム、サポートデスクなどの連絡ツールの URL を指定します。feed_contact_url フィールドには GTFS を利用するアプリケーションの技術面に関するコミュニケーションに使用する連絡ツールを指定します。カスタマー サービスの連絡先情報を提供する場合は、agency.txt のフィールドを使用してください。