GTFS の運行スケジュールと Google 乗換案内の実装の相違点

このページでは、公式の GTFS の運行スケジュールと Google 乗換案内の仕様の実装に関する主な相違点について説明します。以下の分野の相違点を取り上げます。

  • 無視される公式仕様: 公式 GTFS の一部のフィールドが該当します。これらのフィールドのデータは Google 乗換案内にエラーなく取り込まれるものの、ほとんど使用されません。

  • 異なる解釈: 公式 GTFS の一部のフィールドは、Google 乗換案内で GTFS での定義とは異なった仕方で解釈されます。

  • 試験運用のサポート: Google 乗換案内の実装で試験運用されているフィールドです。新しい試験運用フィールドを実装する場合は、Google 乗換案内チームにお問い合わせください。

  • Google 乗換案内でサポートされている拡張機能: この拡張機能は公式 GTFS には含まれていません。乗換案内でサポートされている拡張機能には、一般公開されている拡張機能と Google 乗換案内固有の拡張機能があります。パートナーは、フィードを使ってこれらの拡張機能のデータを乗換案内に送信することができます。

静的な乗換案内データ

以下のセクションでは、公式 GTFS と Google 乗換案内で実装される静的フィードの主な相違点について説明します。

静的フィードで無視される公式仕様

乗換案内で無視される公式仕様には、試験運用中のフィールドも含まれます。詳しくは、gtfs.org をご覧ください。

表 1 に、静的フィードにおいて乗換案内ではサポートされていない GTFS ファイルを示します。これらのファイルで定義されているフィールドも乗換案内ではサポートされません。

表 1: 静的フィードでサポートされていない GTFS ファイル
areas.txt
fare_leg_rules.txt
fare_products.txt
fare_transfer_rules.txt
levels.txt
stop_areas.txt

表 2 に、静的フィードにおいて乗換案内では無視される GTFS のフィールドを示します。

表 2: 静的フィードで無視される GTFS フィールド
ファイル名 無視される GTFS のフィールド フィールド タイプ
fare_attributes.txt payment_method 列挙型
feed_info.txt default_lang 言語コード
feed_info.txt feed_publisher_name テキスト
pathways.txt max_slope 浮動小数点数
routes.txt continuous_drop_off 列挙型
routes.txt continuous_pickup 列挙型
routes.txt network_id ID
routes.txt route_desc テキスト
routes.txt route_sort_order 非負整数
stops.txt level_id ID
stops.txt stop_desc テキスト
stops.txt stop_url URL
stops.txt tts_stop_name テキスト
stops.txt bikes_allowed 列挙型

静的フィードで異なって解釈されるフィールド

GTFS で定義されている一部のフィールドは、乗換案内でも使用できるものの、解釈が GTFS と異なる場合があります。

表 3 に、GTFS の定義とは異なる仕方で実装される静的フィードのフィールドを示します。

表 3: 解釈が異なる静的フィードのフィールド
ファイル名 GTFS で定義されているフィールド フィールド タイプ Google 乗換案内で必須 / 任意 Google 乗換案内での実装の詳細
fare_attributes.txt transfers 列挙型 必須

Google 乗換案内の拡張機能。

一般公開されている GTFS では値の範囲が 02 に制限されていますが、Google 乗換案内では 05 の値を受け付けます。

このフィールドで、該当の料金で可能な乗換回数の上限を設定します。乗客が同じ車両にいながら次のルートに移動できる、ブロック乗換は対象外です。運賃に対して乗換回数に制限を設定しない場合は、transfers フィールドを空白のままにします。

pathways.txt pathway_mode 列挙型 任意 pathway_mode フィールドが指定されているものの、空である場合、Google 乗換案内はこのフィールドを受け入れ、不明として処理します。
stop_times.txt arrival_time 時刻 条件付き必須 指定できる時刻の値の範囲は 0099 です。ルートが 3 日間にまたがる場合でも、対応することが可能です。
transfers.txt transfer_type 列挙型 必須

45 の値はサポートされていないため、無視されます。

Google 乗換案内では、0123 の値がサポートされています。

trips.txt block_id ID 任意 詳しくは、ブロック乗換の例をご覧ください。

静的フィードでの試験運用のサポート

このカテゴリに該当する新しい試験運用フィールドを実装するにあたってサポートを必要とされる場合は、Google 乗換案内にお問い合わせください。

静的フィードで利用できる Google 乗換案内の拡張機能

表 4 に、Google 乗換案内の拡張機能に関する情報を示します。以下のフィールドは、公式の GTFS には含まれていません。

表 4: サポートされている静的フィードの拡張機能
ファイル名 フィールド フィールド タイプ Google 乗換案内で必須 / 任意 Google 乗換案内での実装の詳細
fare_attributes.txt ic_price 浮動小数点数 任意

この Google 乗換案内の拡張機能を利用できるのは、日本のパートナーのみです。

ic_price フィールドは、この運賃を IC カードで支払う場合の割引された金額を表します。この運賃に割引が適用されない場合、または該当の IC カードがサポートされていない場合は、ic_price フィールドの値を -1 にする必要があります。

fare_rules.txt contains_route_id ID 任意

Google 乗換案内の拡張機能。

この運賃は、指定された一連の経路を通過する移動にのみ適用されます。経路は、fare_idorigin_id、および destination_id 列のこの組み合わせにおいて、すべての行の route_id の値で識別されます。

contains_route_id 列がない場合、またはこの運賃に対するこの列の値がすべて null である場合、運賃がこのパラメータによって制限されることはありません。運賃の contains_route_id フィールドを指定する場合は、route_id フィールドを空にする必要があります。

routes.txt checkin_duration 整数 任意

Google 乗換案内の拡張機能。

checkin_duration フィールドは、乗車に要する時間を考慮して、予定された出発時刻の何秒前に到着するとよいかを指定します。

乗り継ぎで出発便に乗車する場合は、定義されている乗り換えの時間が checkin_duration の値よりも優先されます。

checkin_duration に指定される値は、通常、交通機関の運営者が推奨している時間です。この時間より後に到着しても、出発に間に合う可能性はあります。

routes.txt route_type 列挙型 必須

Google 乗換案内の拡張機能。

Google 乗換案内では、GTFS で定義されている route_type の値のオプションに加えて、より多くのタイプを指定できるように仕様が拡張されています。詳しくは、GTFS 経路タイプの仕様の拡張をご覧ください。

stop_times.txt stop_direction_name テキスト 任意

Google 乗換案内の拡張機能。

stop_direction_name フィールドは、乗客にルートの進行方向を示します。この進行方向は、この停車地から出発する車両の direction_name の値として保存されます。

stop_direction_name フィールドが空である場合は、乗換案内でサポートされている trip_direction_name フィールドが代わりに使用されます。trip_direction_name フィールドと stop_direction_name フィールドの両方が空である場合、乗換案内データのインポータはどちらの値も空白のままにします。その場合、パートナーは stop_headsign または trip_headsign の値を代わりに使用できます。stop_direction_name フィールドの値の大文字 / 小文字は正規化されます。

stops.txt signposted_as テキスト 任意

Google 乗換案内の拡張機能。

signposted_as フィールドには、プラットフォームの表示板に記載されているテキストをそのまま使用します。たとえば、「セントラル駅行き」や「イーストサイド&ブルックリン」と指定できます。

GTFS の platform_code フィールドと乗換案内でサポートされている signposted_as フィールドは同時に設定することができます。

platform_code フィールドと signposted_as フィールドには、以下のような違いがあります。

  • 長さ: platform_code フィールドには、通常「2」や「C」のような数字や文字を指定します。
  • 言語: platform_code フィールドには言語は設定されませんが、signposted_as の値には翻訳を含めることができます。
  • 安定性: signposted_as フィールドは platform_code フィールドよりも頻繁に変更される可能性があります。
stops.txt vehicle_type 整数 任意

Google 乗換案内の拡張機能。

vehicle_type フィールドは、停車地で使用される車両のタイプを指定します。このフィールドでは、階層型車種(HVT)の経路タイプを使用します。HVT の値は、欧州全域 TPEG(Transport Protocol Experts Group)規格に基づいています。

agency.txt ticketing_deep_link_id ID 任意

Google 乗換案内の乗車券販売の拡張機能。

agency.txt ファイルの ticketing_deep_link_id フィールドは、この交通機関のルートの乗車券販売に使用されるディープリンクを表します。

routes.txt ticketing_deep_link_id ID 任意

Google 乗換案内の乗車券販売の拡張機能。

routes.txt ファイルの ticketing_deep_link_id フィールドは、この経路のルートの乗車券販売に使用されるディープリンクを表します。

stop_times.txt ticketing_stop_time_id ID 任意

Google 乗換案内の乗車券販売の拡張機能。

stop_times.txt ファイルに ticketing_stop_time_id フィールドが存在する場合、ディープリンクを使用する乗車券販売において、このフィールドは停車時間の ID をオーバーライドします。

stop_times.txt ticketing_type 列挙型 任意

Google 乗換案内の乗車券販売の拡張機能。

ticketing_type フィールドは、この停車時間に適用される乗車券販売のタイプを指定します。

Google 乗換案内では次の値を使用できます。

  • Empty: デフォルト。ルートの定義に従います。
  • 0: 交通機関または経路で乗車券販売のディープリンクが有効である場合にのみ利用できます。
  • 1: 利用不可。
ticketing_deep_links.txt android_intent_uri URI 任意

Google 乗換案内の乗車券販売の拡張機能。

android_intent_uri フィールドは、Android でディープリンクに使用されるインテント URI を表します。

ticketing_deep_links.txt ios_universal_link_url URL 任意

Google 乗換案内の乗車券販売の拡張機能。

ios_universal_link_url フィールドは、iOS でディープリンクに使用されるユニバーサル リンク URL を表します。

ticketing_deep_links.txt ticketing_deep_link_id ID 必須

Google 乗換案内の乗車券販売の拡張機能。

ticketing_deep_link_id フィールドは、ディープリンクの ID を表します。

ticketing_deep_links.txt web_url URL 任意

Google 乗換案内の乗車券販売の拡張機能。

web_url フィールドは、ウェブでディープリンクに使用される URL を表します。

ticketing_identifiers.txt agency_id ID 必須

Google 乗換案内の乗車券販売の拡張機能。

デフォルトの ticketing_stop_id フィールドが定義されている停車地の交通機関を指定するには、agency_id フィールドに GTFS の agency.txt ファイルに記載されている ID を指定します。

ticketing_identifiers.txt stop_id ID 必須

Google 乗換案内の乗車券販売の拡張機能。

デフォルトの ticketing_stop_id フィールドが定義されている停車地を指定するには、stop_id フィールドに GTFS の stops.txt ファイルに記載されている ID を指定します。

ticketing_identifiers.txt ticketing_stop_id ID 必須

Google 乗換案内の乗車券販売の拡張機能。

ticketing_stop_id フィールドは、停車地に適用される乗車券販売の ID を指定します。オプションとして、交通機関で ID を修飾できます。

trips.txt ticketing_trip_id ID 任意

Google 乗換案内の乗車券販売の拡張機能。

ticketing_trip_id フィールドが存在する場合、その値は trip_id フィールドをオーバーライドして、ディープリンクを使用する乗車券販売のルートを指定します。

trips.txt ticketing_type 列挙型 任意

Google 乗換案内の乗車券販売の拡張機能。

ticketing_type フィールドは、このルートに適用される乗車券販売のタイプを指定します。

Google 乗換案内では次の値を使用できます。

  • 0: デフォルト。交通機関または経路で乗車券販売のディープリンクが有効である場合にのみ利用できます。
  • 1: 利用不可。
translations.txt lang 言語コード 任意

Google 乗換案内の拡張機能。

lang フィールドは公式の GTFS には含まれていませんが、このフィールドが指定されていれば、Google 乗換案内ではその値が使用されます。

フレーズの翻訳を指定する場合は、lang フィールドを使用します。値を空白または und(未定義の言語)にすることはできません。

translations.txt trans_id ID 任意

Google 乗換案内の拡張機能。

trans_id フィールドは公式の GTFS には含まれていませんが、このフィールドが指定されていれば、Google 乗換案内ではその値が使用されます。

翻訳対象のフレーズの ID トークンを指定する場合は、trans_id フィールドを使用します。translations.txt テーブルの各行は、言語 lang で、フレーズ trans_idtranslation と翻訳されることを意味します。

trips.txt original_trip_id ID 任意

Google 乗換案内の拡張機能。

trips.txt ファイルに original_trip_id フィールドが存在する場合、その値は trip_id の値をオーバーライドします。このフィールドの値は、他のシステムで使用されます。たとえば、リアルタイム マッチングなどで使用されます。

trips.txt trip_direction_name テキスト 任意

Google 乗換案内の拡張機能。

trip_direction_name フィールドは、乗客にルートの進行方向を示します。このフィールドの値は、各ルートの direction_name の値として保存されます。

stop_times テーブルの stop_direction_name の値がルートとともに変更されると、trip_direction_name の値はオーバーライドされる場合があります。

trip_direction_name フィールドの値の大文字 / 小文字は正規化されます。

trips.txt vehicle_category_id ID 任意

Google 乗換案内の拡張機能。

trips.txt ファイルの vehicle_category_id フィールドは、このルートに割り当てられている車両を指定します。このフィールドが trips.txt ファイルに存在する場合、その値は routes.txt ファイルの vehicle_category_id の値をオーバーライドします。