リファレンス

このドキュメントでは、GTFS データセットを構成するファイルの形式と構造を定義します。

目次

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

用語の定義

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

  • データセット - この仕様のリファレンスで定義されているファイルの完全なセット。データセットに変更を加えた場合、新しいバージョンのデータセットが作成されたことになります。データセットは、ZIP ファイル名を含む恒久的な URL(例: https://www.agency.org/gtfs/gtfs.zip)で公開する必要があります。
  • レコード - 1 つのエンティティ(交通機関、停車地、経路など)を説明する複数のフィールド値で構成される基本データ構造。テーブルの行に相当します。
  • フィールド - オブジェクトまたはエンティティのプロパティ。テーブルの列に相当します。
  • フィールド値 - フィールドの個々のエントリ。テーブルの 1 つのセルに相当します。
  • 必須 - 必須フィールドは必ずデータセットに含め、各レコードで値を指定する必要があります。一部の必須フィールドには値として空の文字列を指定できます(この仕様では「空」として示されています)。空の文字列を入力するには、そのフィールドに対応するカンマの間に何も指定しないようにします。
  • 任意 - 任意フィールドは、データセットから省略できます。任意フィールドの列を含める場合、そのフィールドの一部のエントリには空の文字列を指定できます。空の文字列を入力するには、そのフィールドに対応するカンマの間に何も指定しないようにします。フィールドを省略するには、そのフィールドを完全に空にします。
  • 条件付き必須 - 特定の条件下で必須となるフィールドまたはファイルを指します。条件については、フィールドまたはファイルの「説明」欄に記載されています。この条件外では、このフィールドまたはファイルは省略することができます。
  • 運行日 - 経路のスケジューリングで使用される期間。運行日の正確な定義は交通機関によって異なりますが、必ずしも暦日とは一致しません。運行日は 24:00:00 を超えて翌日に続く場合があります。たとえば、サービスの運行が金曜日の午前 8 時に始まり土曜日の午前 2 時に終了する場合、単一の運行日として 08:00:00~26:00:00 と表記されることがあります。

フィールドのタイプ

  • - 6 桁の 16 進数としてエンコードされる色。有効な値(先頭の「#」は含まない)を生成するには、https://htmlcolorcodes.com を参照してください。
    例: FFFFFF は白、000000 は黒を指します。NYMTA の A、C、E ラインであれば 0039A6 と指定することができます。
  • 通貨コード - ISO 4217 のアルファベットの通貨コード。現在使用できる通貨コードについては、https://ja.wikipedia.org/wiki/ISO_4217 をご確認ください。
    例: CAD はカナダドル、EUR はユーロ、JPY は日本円です。
  • 日付 - YYYYMMDD 形式の運行日。運行日の時刻は 24:00:00 を超えることがあるため、翌日以降の情報が含まれる場合もあります。
    例: 20180913 は 2018 年 9 月 13 日を指します。
  • メール - メールアドレス。
    例: example@example.com
  • 列挙型 - あらかじめ定義されている定数の中から 1 つの値を選択します(各選択肢については「説明」欄で詳しく説明されています)。
    例: route_type フィールドには、路面電車を表す 0 や地下鉄を表す 1 などを指定できます。
  • ID - ID フィールド値は、乗客に表示されることを意図していない内部 ID です。UTF-8 文字のシーケンスで表します。印刷可能な ASCII 文字のみを使用することをおすすめします。よく使われる手法として、ある .txt ファイルで定義されている ID を別の .txt ファイルで参照するというものがあります。
    例: stops.txtstop_id フィールドは ID です。stop_times.txtstop_id フィールドは stops.stop_id を参照する ID です。
  • 言語コード - IETF BCP 47 の言語コード。IETF BCP 47 の概要については、http://www.rfc-editor.org/rfc/bcp/bcp47.txt および http://www.w3.org/International/articles/language-tags/(リンク先はいずれも英語)をご覧ください。
    例: 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 の文字列。人が読んで理解できる文字列を指定します。
  • タイムゾーン - https://www.iana.org/time-zones による TZ タイムゾーン。タイムゾーン名にスペースを含めることはできませんが、下線文字は使用できます。有効な値の一覧については http://en.wikipedia.org/wiki/List_of_tz_zones(リンク先は英語)をご覧ください。
    例: Asia/TokyoAmerica/Los_AngelesAfrica/Cairo など。
  • URL - http:// または https:// を含む完全修飾 URL。URL に特殊文字が含まれる場合は、適切なエスケープ処理を行う必要があります。完全修飾 URL の値を作成する方法については、http://www.w3.org/Addressing/URL/4_URI_Recommentations.html を参照してください。

データセット ファイル

この項目では次の各ファイルを定義します。

ファイル名 必須 定義
agency.txt 必須 このデータセットで表されるサービスを提供する交通機関。
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 任意 駅内の場所をつなぐ通路。
levels.txt 任意 駅内の階。
feed_info.txt 条件付き必須 データセット メタデータ(フィード提供者、バージョン、有効期間などの情報)。
translations.txt 任意 交通機関の情報の翻訳。
attributions.txt 任意 データセットに適用される帰属を指定します。

ファイルの要件

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

  • すべてのファイルはカンマ区切りのテキスト ファイルとして保存します。
  • 各ファイルの最初の行にフィールド名を含めます。フィールドの定義セクションの各サブセクションは、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 の詳細は、http://unicode.org/faq/utf_bom.html#BOM を参照してください。
  • すべてのデータセット ファイルは、まとめて ZIP で圧縮します。

フィールドの定義

agency.txt

ファイル: 必須

フィールド名 タイプ 必須 説明
agency_id ID 条件付き必須 交通ブランド(ほとんどの場合、交通機関と同義)を識別する ID を指定します。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_code が一般に広く使用されている ID である場合は、stop_id フィールドにも同じ値を指定できます。乗客に表示されるコードが場所にない場合はこのフィールドを空にします。
stop_name テキスト 条件付き必須 場所の名前。地元の人や旅行者が理解できる名前を使用します。

場所が乗車エリア(location_type=4)である場合は、交通機関が乗車エリアの名前として使用している名称を stop_name に含めてください。名称は 1 文字(ヨーロッパのインターシティ鉄道駅など)の場合もあれば、「車椅子でのご乗車位置」(ニューヨーク市の地下鉄)や「短編成車両の先頭位置」(パリの RER)のようなテキストの場合もあります。

条件付き必須:
• 場所が停車地(location_type=0)、駅(location_type=1)、または出入口(location_type=2)の場合は必須です。
• 場所が汎用ノード(location_type=3)または乗車エリア(location_type=4)の場合は任意です。
stop_desc テキスト 任意 場所の説明。わかりやすく役に立つ情報を含めるようにします。場所の名前を単にコピーすることは避けてください。
stop_lat 緯度 条件付き必須 場所の緯度。

条件付きで必須:
• 場所が停車地(location_type=0)、駅(location_type=1)、または出入口(location_type=2)の場合は必須です。
• 場所が汎用ノード(location_type=3)または乗車エリア(location_type=4)の場合は任意です。
stop_lon 経度 条件付き必須 場所の経度。

条件付きで必須:
• 場所が停車地(location_type=0)、駅(location_type=1)、または出入口(location_type=2)の場合は必須です。
• 場所が汎用ノード(location_type=3)または乗車エリア(location_type=4)の場合は任意です。
zone_id ID 条件付き必須 停車地の運賃区間を定義します。fare_rules.txt で運賃情報を指定する場合、このフィールドは必須になります。それ以外の場合は任意です。このレコードが駅または駅の入口を表す場合、zone_id は無視されます。
stop_url URL 任意 場所に関するウェブページの URL。agency.agency_urlroutes.route_url の各フィールドとは異なる値を指定してください。
location_type 列挙型 任意 場所のタイプ:
0(または空白): 停車地(またはプラットフォーム)。乗客が交通機関の車両を乗り降りする場所。parent_station 内で定義されている場合は、プラットフォームと呼ばれます。
1: 。1 つ以上のプラットホームを含む、駅舎またはターミナルを指します。
2: 出入口。乗客が道路から出入りできる場所を示します。出入口が複数の駅に属している場合は、その出入口と各駅を結ぶ経路が存在します。この場合、データ提供者は 1 つの駅を親として指定します。
3: 汎用ノード。他の location_type には一致しない駅構内の場所。pathways.txt で定義された経路を連結するために使用できます。
4: 乗車エリア。乗客が乗降車するプラットホーム上の特定の場所。
parent_station stops.stop_id を参照する ID 条件付き必須 stops.txt で定義されているさまざまな場所間の階層を定義します。以下のように、親である場所の ID が含まれます。
停車地 / プラットフォームlocation_type=0): parent_station フィールドには駅の ID が含まれます。
location_type=1): このフィールドは空でなければなりません。
出入口location_type=2)または汎用ノードlocation_type=3): parent_station フィールドには駅(location_type=1)の ID が含まれます。
乗車エリアlocation_type=4): parent_station フィールドにはプラットフォームの ID が含まれます。

条件付きで必須:
• 場所が入口(location_type=2)、汎用ノード(location_type=3)、または乗車エリア(location_type=4)の場合は必須です。
• 停車地 / プラットフォーム(location_type=0)の場合は任意です。
• 駅(location_type=1)の場合は使用できません。
stop_timezone タイムゾーン 任意 場所のタイムゾーン。場所に親にあたる駅がある場合、場所のタイムゾーンを適用する代わりに親にあたる駅のタイムゾーンを継承します。stop_timezone を空にした場合、駅、および親となる駅のない停車地の時間帯は agency.agency_timezone で指定された時間帯を継承します。stop_timezone 値が stop_times.txt で指定されている場合でも、agency.agency_timezone で指定されたタイムゾーンにおける午前 0 時を基準とした時刻で指定します。これにより、いくつかの時間帯をまたぐ経路であっても、経路が進行するに従って常に時刻の値が増加していくようになります。
wheelchair_boarding 列挙型 任意 その場所から車椅子での乗車が可能かどうかを指定します。有効なオプションは次のとおりです。

親となる駅のない停車地の場合:
0 または空 - この停車地のバリアフリー情報がありません。
1 - この停車地では少なくとも一部の車両に車椅子利用者が乗車できることを示します。
2 - この停車地では車椅子での乗車はできません。

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

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

routes.txt

ファイル: 必須

フィールド名 タイプ 必須 説明
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_short_name よりもわかりやすく、経路の行き先または停車地を含む名前にします。route_short_nameroute_long_name のどちらか 1 つは必ず指定する必要があります。可能な場合は、両方を指定できます。
route_desc テキスト 任意 経路の説明。わかりやすく役に立つ情報を含めるようにします。経路の名前を単にコピーすることは避けてください。
たとえば、「A 列車は大手町と新宿間を終日運行。午前 6 時頃から深夜 0 時までは大手町と荻窪間の列車の臨時列車を運行(通常は荻窪行きと新宿行きを交互に運行)」といった情報を含めます。
route_type 列挙型 必須 経路で使用される輸送手段のタイプを指定します。有効なオプションは次のとおりです。

0 - 路面電車、市街電車、ライトレール。都市圏内を運行する軽量軌道交通または路面電車システム。
1 - 地下鉄、メトロ。都市圏内を運行する地下鉄システム。
2 - 電車。都市間または長距離の鉄道路線。
3 - バス。短距離および長距離のバス路線。
4 - フェリー。短距離および長距離の航路。
5 - ケーブルトラム。ケーブルが車両の下を通る、路面を走る鉄道車両(例: サンフランシスコのケーブルカー)。
6 - 索道(例: リフト、ケーブルカー、ゴンドラ、ロープウェイ)1 本または複数本のケーブルに吊り下げた客車、車両、ゴンドラ、椅子で移動する交通機関。
7 - 鋼索鉄道。急斜面用に設計されたすべての鉄道システム。
11 - トロリーバス。道路上空の架線から棹状の集電装置で集めた電気を動力として走るバス。
12 - モノレール。1 本のレールまたは桁を軌道とする鉄道。
route_url URL 任意 特定の経路に関するウェブページの URL。agency.agency_url とは異なる値を指定してください。
route_color 任意 一般に公開されている資料と一致する経路カラー。省略したり空にしたりした場合のデフォルトは白(FFFFFF)です。route_colorroute_text_color の色の間には、白黒の画面でも見分けられる程度のコントラストが必要です。
route_text_color 任意 route_color で指定した背景の上に表示されるテキストの色。読みやすい色にしてください。省略したり空にしたりした場合のデフォルトは黒(000000)です。route_colorroute_text_color の色の間には、白黒の画面でも見分けられる程度のコントラストが必要です。
route_sort_order 非負整数 任意 経路の順番。乗客にとって最適な順番に提示します。route_sort_order の値が小さいほど、先に表示されます。
continuous_pickup 列挙型 任意 乗客が、交通機関車両の移動経路の途中でその車両に乗車できるかどうかを示します。車両の移動経路は、その経路を運行するすべてのルートについて shapes.txt で記述します。有効なオプションは次のとおりです。

0 - 任意の停車地で乗車可。
1 または空 - 任意の停車地で乗車不可。
2 - 任意の停車地での乗車を手配するには、交通機関に乗車予約の電話が必要。
3 - 任意の停車地での乗車を手配するためには、運転手への事前連絡が必要。

routes.txt で定義された任意の停車地での乗車のデフォルトの処理は、stop_times.txt でオーバーライドできます。
continuous_drop_off 列挙型 任意 乗客が、交通機関車両の移動経路の途中でその車両から降車できるかどうかを示します。車両の移動経路は、その経路を運行するすべてのルートについて shapes.txt で記述します。有効なオプションは次のとおりです。

0 - 任意の停車地で降車可。
1 または空 - 任意の停車地で降車不可。
2 - 任意の停車地での降車を手配するには、交通機関への降車予約が必要。
3 - 任意の停車地での降車を手配するには、運転手への事前連絡が必要。

routes.txt で定義された任意の停車地での乗車のデフォルトの処理は、stop_times.txt でオーバーライドできます。

trips.txt

ファイル: 必須

フィールド名 タイプ 必須 説明
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.stop_headsign フィールドの値を指定して、trip_headsign を上書きできます。
trip_short_name テキスト 任意 乗客がルートを識別できるようにする一般公開のテキスト。たとえば通勤電車の列車番号(便名)などがこれに該当します。ルート名が乗客間であまり使用されない場合には、このフィールドを空にします。trip_short_name の値を指定する場合、その運行日の特定のルートを一意に識別するような値を指定する必要があります。このフィールドは行先を指定したり、特急や急行などの列車を区別するために使用したりしないでください。
direction_id 列挙型 任意 ルートの進行方向を指定します。このフィールドは経路計算には使用されませんが、時刻表を表示する際にルートの方向を区別するために使われます。有効なオプションは次のとおりです。

0 - ある方向の便(下り線など)
1 - 逆方向の便(上り線など)。
例: trip_headsigndirection_id の両方のフィールドを使用して、一組のルートセットの各方向の便に名前を割り当てることができます。その場合、trips.txt ファイルには、時刻表用に次のレコードを指定できます。
trip_id,...,trip_headsign,direction_id
1234,...,Airport,0
1505,...,Downtown,1
block_id ID 任意 ルートが属するブロックを識別する ID を指定します。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 - このルートでは自転車の持ち込みは許可されていません。

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

曜日ごとに個別のブロックを指定した有効例を次に示します。

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

上記の表に関する注意事項:

  • たとえば、金曜から土曜の早朝にかけて、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 に同じ値を入力してください。運行日の深夜 0 時をすぎる時刻については、運行が開始される日の現地時間(HH:MM:SS 形式)で 24:00:00 よりも大きい値として入力します。

指定した到着時刻と出発時刻のとおりに厳密に車両が運行される停車地を「タイムポイント」と言います。タイムポイントでない停車地の場合は、推定値か補間時刻を指定します。これを指定できない場合、arrival_time は空のままにしておくことができます。さらに、timepoint=0 の値で補間時刻を指定したことを示します。なお、timepoint=0として補間時刻を指定したことを示した場合、タイムポイントの停車地は timepoint=1 で示す必要があります。タイムポイントの停車地には、必ず到着時刻を指定してください。ルートの最初と最後の停車地には到着時刻を指定する必要があります。
departure_time 時刻 条件付き必須 経路を運行する特定のルートに含まれる特定の停車地からの出発時刻。運行日の深夜 0 時をすぎる時刻については、運行が開始される日の現地時間(HH:MM:SS 形式)で 24:00:00 よりも大きい値として入力します。停車地で到着時刻と出発時刻が区別されない場合は、arrival_timedeparture_time に同じ値を入力してください。タイムポイントを正しく使用する方法の詳細については、arrival_time の説明を参照してください。

可能な限り departure_time フィールドに時間の値を指定してください。タイムポイント間の推定時間または補間時間を指定することができます。拘束力はありません。
stop_id stops.stop_id を参照する ID 必須 車両の停車地を識別する ID を指定します。途中の停車地はすべて stop_times.txt にレコードが必要です。参照される場所は、駅または駅の入口ではなく、停車地でなければなりません。同じルートで同じ停車地に複数回停車する場合があり、複数のルートと経路で同じ停車地に停車する場合もあります。
stop_sequence 非負整数 必須 特定のルートの停車地の順序。値はルートの進行に応じて増加する必要がありますが、必ずしも連続した数である必要はありません。
たとえば、ルートの最初の場所が stop_sequence=1 の場合、2 番目の場所は stop_sequence=23、3 番目の場所は stop_sequence=40 でも可能です。
stop_headsign テキスト 任意 乗客に目的地を知らせる行先案内に表示されるテキスト。このフィールドは、停車地間で行先案内が変わる場合にデフォルトの trips.trip_headsign をオーバーライドします。ルート全体で行先案内が表示される場合は、このフィールドではなく、trips.trip_headsign を使用してください。

ある stop_time に指定された stop_headsign 値は、同じルートでのその後の stop_time には適用されません。同じルートの複数の stop_timetrip_headsign をオーバーライドする場合、stop_headsign 値を各 stop_time 行で繰り返す必要があります。
pickup_type 列挙型 任意 乗車方法を示します。有効なオプションは次のとおりです。

0 または空 - 時刻表記載の乗車地。
1 - 乗車不可能。
2 - 交通機関に乗車予約の電話が必要。場合により通過、経路変更あり。
3 - 運転手への事前連絡が必要。場合により通過、経路変更あり。
drop_off_type 列挙型 任意 降車方法を示します。有効なオプションは次のとおりです。

0 または空 - 時刻表記載の下車地。
1 - 下車不可能。
2 - 交通機関に下車予約の電話が必要。場合により通過、経路変更あり。
3 - 運転手への事前連絡が必要。場合により通過、経路変更あり。
continuous_pickup 列挙型 任意 乗客が、交通機関車両の移動経路の途中でその車両に乗車できるかどうかを示します。車両の移動経路は、shapes.txt で記述します(ルートの stop_sequence で、この stop_time から次の stop_time まで)。有効なオプションは次のとおりです。

0 - 任意の停車地で乗車可。
1 または空 - 任意の停車地で乗車不可。
2 - 任意の停車地での乗車を手配するには、交通機関に乗車予約の電話が必要。
3 - 任意の停車地での乗車を手配するには、運転手への事前連絡が必要。

stop_times.txt で指定された任意の停車地での乗車の処理は、routes.txt で定義された処理をオーバーライドします。
continuous_drop_off 列挙型 任意 乗客が、交通機関車両の移動経路の途中でその車両から降車できるかどうかを示します。車両の移動経路は、shapes.txt で記述します(ルートの stop_sequence で、この stop_time から次の stop_time まで)。

0 - 任意の停車地での降車可。
1 または空 - 任意の停車地での降車不可。
2 - 任意の停車地での降車を手配するには、交通機関への降車予約が必要。
3 - 任意の停車地での降車を手配するには、運転手への事前連絡が必要。

stop_times.txt で指定された任意の停車地での降車の処理は、routes.txt で定義された処理をオーバーライドします。
shape_dist_traveled 非負の浮動小数 任意 最初の停車地からこのレコードで指定された停車地まで、シェイプに沿って移動する実際の距離。このフィールドでは、ルート内の任意の 2 つの停車地の間に描くシェイプの長さを指定します。shapes.txt で使用されているのと同じ単位でなければなりません。shape_dist_traveled の値は stop_sequence の進行に合わせて増やす必要があります。これらのフィールドを使って経路を逆方向に移動する便を描くことはできません。
例: バスがシェイプの開始点から停車地まで 5.25 km 移動する場合、shape_dist_traveled=5.25 と指定します。
timepoint 列挙型 任意 停車地の到着時刻と出発時刻が車両の正確な運行時刻であるか、概算時刻かつ補間時刻(またはそのいずれか)であるかを指定できます。このフィールドでは、補間停車時刻を指定すると同時に、時刻が概算のものであることを示すこともできます。有効なオプションは次のとおりです。

0 - 概算の運行時刻。
1 または空 - 正確な運行時刻。

calendar.txt

ファイル: 条件付き必須

フィールド名 タイプ 必須 説明
service_id ID 必須 1 つまたは複数の経路でサービスを提供する日付のセットを一意に識別する ID を指定します。service_id の各値を 1 つの calendar.txt ファイルで指定できるのは、1 回だけです。
monday 列挙型 必須 start_dateend_date のフィールドで指定された期間内で、毎週月曜日に運行されるかどうかを指定します。なお、calendar_dates.txt で特定の日付を例外として列挙することができます。有効なオプションは次のとおりです。

1 - 所定の期間の毎週月曜日に運行されることを示します。
0 - 所定の期間の月曜日には運行されないことを示します。
tuesday 列挙型 必須 火曜日に適用されることを除き、monday と同じように機能します。
wednesday 列挙型 必須 水曜日に適用されることを除き、monday と同じように機能します。
thursday 列挙型 必須 木曜日に適用されることを除き、monday と同じように機能します。
friday 列挙型 必須 金曜日に適用されることを除き、monday と同じように機能します。
saturday 列挙型 必須 土曜日に適用されることを除き、monday と同じように機能します。
sunday 列挙型 必須 日曜日に適用されることを除き、monday と同じように機能します。
start_date 日付 必須 サービス提供期間の最初の日。
end_date 日付 必須 サービス提供期間の最後の日。ここで入力した日付はサービス提供期間に含まれます。

calendar_dates.txt

ファイル: 条件付き必須

calendar_dates.txt では、特定の日付を指定して明示的に運行を有効にしたり無効にしたりできます。2 つの方法で使用できます。

  • 推奨される使い方: calendar.txt とともに calendar_dates.txt を使用して、calendar.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 を指定します。calendar.txtcalendar_dates.txt の両方を使用する場合、service_iddate の各組を calendar_dates.txt 内で指定できるのは 1 回だけです。calendar.txtcalendar_dates.txt の両方のファイルに service_id の値が含まれる場合、calendar.txt で指定された運行情報は calendar_dates.txt の情報に変更されます。
date 日付 必須 サービス例外が発生する日付。
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 の場合、このフィールドはチケットの有効期限を示すために使用するか、空のままにすることができます。

fare_rules.txt

ファイル: 省略可能

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

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

fare_rules.txtfare_attributes.txt を使った運賃の設定方法の例は、GoogleTransitDataFeed オープンソース プロジェクト Wiki の https://code.google.com/p/googletransitdatafeed/wiki/FareExamples を参照してください。

フィールド名 タイプ 必須 説明
fare_id fare_attributes.fare_id を参照する ID 必須 運賃クラスを識別する ID を指定します。
route_id routes.route_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 任意 出発地区間を指定します。運賃クラスに出発地区間が複数ある場合、fare_rules.txt に各 origin_id 用のレコードを作成します。
たとえば、運賃クラス「b」が区間「2」または「8」のどちらかから出発するすべての便に適用される場合、fare_rules.txt ファイルにはこの運賃クラス用に次のレコードを含めます。
fare_id,...,origin_id
b,...,2
b,...,8
destination_id stops.zone_id を参照する ID 任意 目的地区間を指定します。運賃クラスに目的地区間が複数ある場合、fare_rules.txt に各 destination_id 用のレコードを作成します。
例: origin_iddestination_id の両方のフィールドを使って運賃クラス「b」が区間 3 と 4 間および区間 3 と 5 間にそれぞれ適用されることを指定するには、fare_rules.txt ファイルでこの運賃クラス用に次のレコードを含めます。
fare_id,...,origin_id,destination_id
b,...,3,4
b,...,3,5
contains_id stops.zone_id を参照する ID 任意 特定の運賃クラスの使用中に乗客が通過する区間を指定します。一部のシステムでは、正しい運賃クラスを計算するためにこのフィールドが使用されます。
たとえば、運賃クラス「c」が区間 5、6、7 を通過する GRT 経路上のすべての便に関連付けられている場合、fare_rules.txt には次のレコードを含めます。
fare_id,route_id,...,contains_id
c,GRT,...,5
c,GRT,...,6
c,GRT,...,7
適用する運賃に対してすべての contains_id 区間が一致する必要があるので、区間 5 と 6 を通っても区間 7 を通らないルートには運賃クラス「c」が適用されません。詳しくは GoogleTransitDataFeed プロジェクト Wiki の https://code.google.com/p/googletransitdatafeed/wiki/FareExamples を参照してください。

shapes.txt

ファイル: 省略可能

シェイプは、経路配置に沿って車両が通過する道のりを表し、shapes.txt ファイルで定義されます。シェイプは個々のルートに関連付けられ、車両が順番に通過する一連のポイントで構成されます。シェイプは停車地の位置を正確にたどる必要はありませんが、ルート上のすべての停車地は、そのルートのシェイプから遠くないところ、つまりシェイプ ポイントを結ぶ直線セグメントの近くにある必要があります。

フィールド名 タイプ 必須 説明
shape_id ID 必須 シェイプを識別する ID を指定します。
shape_pt_lat 緯度 必須 シェイプ ポイントの緯度。shapes.txt の各レコードは、シェイプの定義に使用されるシェイプ ポイントを表します。
shape_pt_lon 経度 必須 シェイプ ポイントの経度。
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_pt_sequence に合わせて増やす必要があります。これらのフィールドを使って経路を逆方向に移動する旅程を描くことはできません。距離の単位は、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 非負整数 必須 このルートの同じ駅または停留所からの出発間隔(秒単位)。start_time から end_time までの運行間隔です。1 つのルートに対して複数の運転時隔を指定することができますが、時刻が重ならないように注意する必要があります。ただし、新しい運転時隔を前の運転時隔の終了と同時刻に開始することは可能です。
exact_times 列挙型 任意 ルートのサービスの種類を示します。詳しくは、ファイルの説明を参照してください。有効なオプションは次のとおりです。

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

ファイル: 省略可能

GTFS-Pathways 拡張機能は、グラフ表現を使用して、ノード(場所)とエッジ(経路)で地下鉄または電車を記述します。

駅の入口(location_type=2 の場所として表されるノード)からプラットホーム(location_type=0 の場所として表されるノード)に移動するには、通路、改札、階段など(道のりとして表されるエッジ)を通過する必要があります。また、この提案では、別の種類の場所(「汎用ノード」と呼ばれる一般的な場所)を追加して、さまざまな通路が交差する交差点などを表します。

警告: 駅の経路をすべて含めてください。つまり、駅に属する 1 つのプラットホーム(停車地)、入口、またはノードに、それに連結する経路があると、その駅のすべての経路が含まれていると見なされます。したがって、次の常識的な規則が適用されます。

  • 宙に浮いている場所はない: 駅構内の 1 つの場所に経路がある場合、乗車エリアがあるプラットホームを除くすべての場所にも経路が存在する必要があります。
  • 孤立したプラットホームは存在しない: すべてのプラットホームには、少なくとも 1 つの入口と、そこに通じる一連の経路を指定する必要があります。現実に外に出られない駅は非常にまれです。
  • 乗車エリアがあるプラットホームの経路は指定しない: プラットホームに乗車エリアがある場合、そのプラットホームはノードではなく親オブジェクトとして処理されるため、経路を割り当てられません。この場合は、乗車エリアへの経路を指定します。
フィールド名 タイプ 必須 説明
pathway_id ID 必須 pathway_id フィールドには、通路を一意に識別する ID を指定します。pathway_id は該当のレコード(データベースのメインキーなど)の内部向け ID として使用されるため、pathway_id はデータセット内で一意なものにする必要があります。
同じ from_stop_id から同じ to_stop_id に複数の経路を指定することも可能です。たとえば、進行方向の異なるエスカレーターが 2 本並んでいる場合や、階段とエレベーターのどちらでも同じ場所に移動できる場合などがあります。
from_stop_id stops.stop_id を参照する ID 必須 経路の始点となる場所。stop_id ファイルで定義されている、プラットホーム、出入口、汎用ノード、乗車エリアなどを識別する stops.txt を含みます。
to_stop_id stops.stop_id を参照する ID 必須 経路の終点となる場所。stop_id ファイルで定義されている、プラットホーム、出入口、汎用ノード、乗車エリアなどを識別する stops.txt を含みます。
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_mode=1)、改札(pathway_mode=6)、出口(pathway_mode=7)に、このフィールドを指定することが推奨されています。
traversal_time 正の整数 任意 始点(from_stop_id で定義される)から終点(to_stop_id で定義される)までの経路を歩くのに必要な平均時間(秒単位)。

動く歩道(pathway_mode=3)、エスカレーター(pathway_mode=4)、エレベーター(pathway_mode=5)に、このフィールドを指定することが推奨されています。
stair_count Null 以外の整数 任意 経路にある階段の段数。

おすすめの方法: 1 フロアをおよそ 15 階段として、近似値を生成できます。

正の stair_count は、from_stop_id から to_stop_id まで階段を上ることを意味します。負の stair_count は、from_stop_id から to_stop_id まで階段を下りることを意味します。

階段(pathway_mode=2)に、このフィールドを指定することが推奨されています。
max_slope 浮動小数 任意 道のりの最大勾配率。このフィールドで有効な値は次のとおりです。
0 または空: 勾配なし。
• 浮動小数: 道のりの勾配率。上り勾配は正の数、下り勾配は負の数を指定します。

このフィールドは、通路(pathway_type=1)と動く歩道(pathway_type=3)でのみ使用する必要があります。

例: 米国では、手押し式車椅子が通行できるとされる最大傾斜比は 0.083(または 8.3%)です。これは 1 m ごとに 0.083 m(つまり 8.3 cm)上昇することを意味します。
min_width 正の浮動小数 任意 経路の最小幅(メートル単位)。

最小幅が 1 m 未満の場合は、このフィールドを指定することを強くおすすめします。
signposted_as テキスト 任意 構内に掲げられている案内板のテキストの文字列。この文字列により、文字情報で乗り換えの経路を案内することができます(例: 「標識に従って進んでください」)。このフィールドには、案内板に記載されているとおりに正確にテキストを入力します。テキストは翻訳しないでください。
reversed_signposted_as テキスト 任意 signposted_as フィールドと同様ですが、経路を to_stop_id から from_stop_id に逆方向に進むときに使用します。

levels.txt

ファイル: 省略可能

駅構内のさまざまな階を定義します。pathways.txt と組み合わせて使用すると最も有用であり、乗客がエレベーターを使って「中 2 階」、「プラットホーム」階に移動する場合にエレベーター(pathway_mode=5)には必須となります。

フィールド名 タイプ 必須 説明
level_id ID 必須 stops.txt から参照できる階の ID。
level_index 浮動小数 必須 他の階との相対的な位置関係を示す階の数値インデックス(インデックスの数字が大きいほど、上にある階と見なされます)。

地上階を表すにはインデックス 0 を使用し、地上より上の階は正のインデックス、地下の階は負のインデックスで表します。
level_name テキスト 任意 階のオプション名(建物または駅構内で使用されている階数表記(文字 / 数字)と一致している必要があります)。エレベーターを使って「中 2 階」、「プラットホーム」、「-1」に移動する場合など、エレベーターを使用する経路の指定に役立ちます。

feed_info.txt

ファイル: 条件付き必須

このファイルでは、データセットに記述されたサービスではなく、データセット自体についての情報を定義します。交通機関とは別の組織がデータセットを提供している場合もあります。translations.txt が提供されている場合、このファイルは必須となります。

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

別の言語を定義するには、translations.txtlanguage フィールドを使用します。

元のテキストが複数の言語で書かれていれば、多言語データセットがデフォルト言語になることもあります。この場合、feed_lang フィールドには、ISO 639-2 言語コードの「mul」(多言語)を指定します。データセットで使用されている各言語への翻訳を、translations.txt で提供します。データセットに含まれる元のテキストがすべて同一言語で書かれている場合、mul は使用しません。

たとえばスイスのデータセットで、stops.stop_name フィールドの各停車地名がそれぞれ異なる言語で記述されているとします。これはその停車地のエリアで最も一般的な言語を使用しているためで、フランス語圏にあるジュネーヴ市は「Genève」、ドイツ語圏のチューリッヒ市は「Zürich」、2 か国語が公用語のビール / ビエンヌ市は「Biel/Bienne」と記述されています。この場合、feed_lang=mul と設定したうえで、translations.txt で以下の翻訳を提供します。
  • ドイツ語: 「Genf」、「Zürich」、「Biel」
  • フランス語: 「Genève」、「Zurich」、「Bienne」
  • イタリア語: 「Ginevra」、「Zurigo」、「Bienna」
  • 英語: 「Geneva」、「Zurich」、「Biel/Bienne」
default_lang 言語コード 任意 データ利用者が乗客の言語を知らない場合に使用する言語を定義します。多くの場合「en」(英語)が指定されます。
feed_start_date 日付 任意 このデータセットが feed_start_date の初めから feed_end_date の終わりまでの期間に運行されるサービスについて、信頼できる完全な時刻表情報を提供していることを表します。完全なデータが入手できない場合は、どちらの日も空のままにすることができます。両方指定する場合、feed_end_datefeed_start_date より後の日付になるようにしてください。データセットの提供者は、この期間以降の運行スケジュールを提供して今後予定される運行について通知することができますが、データセットの利用者はそれが正式なデータではないことに留意する必要があります。feed_start_date または feed_end_datecalendar.txtcalendar_dates.txt で定義された運行期間の範囲外である場合、feed_start_date から feed_end_date の期間内でもカレンダーの有効期間に含まれていない日は、運行が提供されないことを明示していることになります。
feed_end_date 日付 任意 この表の feed_start_date の行を参照してください。
feed_version テキスト 任意 GTFS データセットの現行バージョンを表す文字列。GTFS を利用するアプリケーションにこの値が表示されていれば、データセット提供者は最新のデータセットが組み込まれているかどうかを確認できます。
feed_contact_email メール 任意 GTFS データセットとデータ公開方法に関するコミュニケーションに使用するメールアドレス。feed_contact_email には GTFS を利用するアプリケーションの技術面に関するコミュニケーションに使用する URL を指定します。カスタマー サービスの連絡先情報は agency.txt に指定します。
feed_contact_url URL 任意 GTFS データセットとデータ公開方法に関するコミュニケーションに使用する、連絡先情報のページ、ウェブフォーム、サポートデスクなどのツールの URL。feed_contact_url には GTFS を利用するアプリケーションの技術面に関するコミュニケーションに使用する URL を指定します。カスタマー サービスの連絡先情報は agency.txt に指定します。

translations.txt

ファイル: 省略可能

フィールド名 タイプ 必須 説明
table_name 列挙型 必須

翻訳するフィールドを含むデータセット テーブルを定義します。使用できる値は以下のとおりです。

  • agency
  • stops
  • routes
  • trips
  • stop_times
  • feed_info
  • pathways
  • levels
  • attributions
field_name テキスト 必須

翻訳するフィールドの名前を指定します。タイプが「テキスト」のフィールドを翻訳できます。タイプが「URL」、「メール」、「電話番号」のフィールドもここに含めて、適切な言語でリソースを提供することができます。

language 言語コード 必須

翻訳言語を指定します。

この言語が feed_info.txtfeed_lang の言語と同じ場合は、フィールドの元の値は、特定の翻訳がない言語で使用されるデフォルト値です。

たとえばスイスでは、公式に「Biel/Bienne」と呼ばれる二言語州の都市がありますが、フランス語では「Bienne」、ドイツ語では「Biel」と呼ばれます。

translation テキスト、URL、メールアドレス、または電話番号 必須 指定された field_name に対応する翻訳済みの値を指定します。
record_id ID 条件付き必須

翻訳対象のフィールドに対応するレコードを定義します。record_id の値は、次の表で定義されているように、データセット テーブルのメイン ID にする必要があります。

table_name record_id
agency agency_id
stops stop_id
routes route_id
trips trip_id
stop_times trip_id
pathways pathway_id
levels level_id
attributions attribution_id

このフィールドの使用条件は次のとおりです。

  • table_namefeed_info と等しい場合は使用不可。
  • field_value が定義されている場合は使用不可。
  • field_value が空の場合は必須。
record_sub_id ID 条件付き必須

record_id で参照されているテーブルに一意の ID がない場合、フィールドを含むレコードを翻訳する際に使用します。record_sub_id の値は次の表に示すように、データセット テーブルのセカンダリ ID になります。

table_name record_sub_id
agency NONE
stops NONE
routes NONE
trips NONE
stop_times stop_sequence
pathways NONE
levels NONE
attributions NONE

このフィールドの使用条件は次のとおりです。

  • table_namefeed_info と等しい場合は使用不可。
  • field_value が定義されている場合は使用不可。
  • table_namestop_times と 等しく、record_id が定義されている場合は必須。

field_value テキスト、URL、メールアドレス、または電話番号 条件付き必須

翻訳する必要のあるレコードを定義するのに record_idrecord_sub_id を使用する代わりに、field_value を使用することができます。使用する場合、table_namefield_name によって識別されるフィールドに field_value で定義された値とまったく同じ値が含まれる場合に、翻訳が適用されます。

フィールドは、field_value で定義された値と完全に一致している必要があります。値のサブセットのみが field_value と一致する場合、翻訳は適用されません。

2 つの翻訳ルール(ひとつは field_value、もうひとつは record_id)が同じレコードに一致する場合、record_id のルールが使用される必要があります。

このフィールドの使用条件は次のとおりです。

  • table_namefeed_info と等しい場合は使用不可。
  • record_id が定義されている場合は使用不可。
  • record_id が空の場合は必須。

attributions.txt

ファイル: 省略可能

フィールド名 タイプ 必須 説明
attribution_id ID 任意 データセットまたはそのサブセットの帰属を識別します。このフィールドは翻訳に利用できます。
agency_id 参照している ID 任意 帰属を適用する交通機関。agency_idroute_id、または trip_id のいずれか 1 つに帰属が定義されている場合、他のフィールドは空にする必要があります。何も指定しない場合、帰属はデータセット全体に適用されます。
route_id 参照している ID 任意 帰属が経路に適用される点を除き、このフィールドは agency_idと同じように機能します。同じ経路に複数の帰属を適用できます。
trip_id 参照している ID 任意 帰属がルートに適用される点を除き、このフィールドは agency_idと同じように機能します。同じルートに複数の帰属を適用できます。
organization_name テキスト 必須 データセットが関連付けられている組織の名前。
is_producer 列挙型 任意 組織の役割は製作者か否か。有効な値には次が含まれます。
0 または空: 組織にこの役割がありません。
1: 組織にこの役割があります。
is_produceris_operator、または is_authority のフィールドのうち少なくとも 1 つは、1 に設定する必要があります。
is_operator 列挙型 任意 表す組織の役割が事業主であることを除き、is_producerと同じように機能します。
is_authority 列挙型 任意 表す組織の役割が交通局であることを除き、is_producerと同じように機能します。
attribution_url URL 任意 組織の URL。
attribution_email メール 任意 組織のメールアドレス。
attribution_phone 電話番号 任意 組織の電話番号。