はじめに
Google 乗換案内チームは、パートナーのニーズに対応するため、継続的に General Transit Feed Specification(GTFS)の改善を図っています。現在、Google マップの乗換案内に送信するフィードでパートナーが利用できるいくつかの拡張機能について、GTFS 仕様に追加することが提案されています。以下で、追加が提案されている機能をご確認ください。
GTFS 仕様の拡張について独自の提案がある場合は、公式 GTFS の変更プロセスをご覧ください。
特定の料金での最大乗換回数
1 つのフィードで複数の交通機関の料金属性をサポートするため、次の拡張機能が検討されています。
フィールド名 | 必須かどうか | 詳細 |
---|---|---|
transfers |
必須 | このフィールドで、該当の料金で可能な乗換回数の上限を設定します。乗客が同じ車両にいながら次の経路に移動できる、ブロック乗換は対象外です。Google 乗換案内では 0 ~5 の値を受け付けます。運賃に対して乗換回数に制限を設定しない場合は、transfers フィールドを空白のままにします。 |
IC カードの運賃(日本)
IC カードは、電車、地下鉄、バス、モノレールの運賃の支払いに使用できる、チャージ可能なプリペイド型スマートカードです(日本国内でのみ利用可能)。PASMO や Suica など、ほとんどの IC カードには運賃の割引があります。次の Google 専用の拡張機能は、IC カードの運賃設定をサポートしています。
fare_attributes.txt
フィールド名 | 必須かどうか | 詳細 |
---|---|---|
ic_price |
任意 | IC カード利用者に割引が適用される場合、値を割引運賃額とします。IC カード利用者に割引が適用されない場合、値を -1 とします。交通機関がサポートしていない IC カードの場合、値を -1 とします。 |
その他のルートタイプ
現在、GTFS では、特定のルートの運行タイプ(バス、電車、フェリーなど)を表すルートタイプが複数定義されていますが、より多くの経路タイプをサポートするため、routes.txt
の route_type
フィールドの拡張機能が提案されています。詳しくは、拡張された GTFS の経路タイプをご覧ください。
駅の車種
特定の駅で運行している車種を指定するための拡張機能が提案されています。
stops.txt
フィールド名 | 必須かどうか | 詳細 |
---|---|---|
vehicle_type |
任意 |
このフィールドでは、停車地で使用する輸送手段のタイプを指定します。Google が提案した拡張された GTFS の経路タイプ値など、 |
ルートの迂回
通常以外のスケジュールで運行するルートや、特別なイベントや計画的な運行止め(線路工事など)によって通常の経路を迂回するルートを示すことができると便利です。このような例外的な運行を示すために、trips.txt
の拡張機能を提案しています。
trips.txt
フィールド名 | 必須かどうか | 詳細 |
---|---|---|
exceptional |
任意 |
特別なイベントのための増便や、計画的な運行止め(線路工事)により通常経路を迂回する運行など、例外的なサービス状況を示すには、このフィールドを |
経路間やルート間の乗り換え
GTFS 仕様では、交通機関が transfers.txt
ファイルを使用して乗り換えの意味規則を定義できるようになっており、推奨乗換、接続乗換、乗換不可などの機能がサポートされています。現在のところ、これらの乗り換えは駅 / 停留所のみに適用されていますが、経路レベルやルートレベルでより詳細な乗換情報を指定したいとのご意見が、多数の交通機関から Google に寄せられています。そこで、Google ではこれらの交通機関と協力して、経路間やルート間の乗換モデルの作成について提案し、GTFS コミュニティからのご意見を受け付けています。
目的
Google では、ある停車地の組み合わせに対して特定のルート間または特定の旅程間の乗り換えを指定できるようにして、その停車地の組み合わせのすべての旅程に対して同じ乗り換えを指定しなくても済むようにしたいと考えています。
以下にその事例を示します。
-
2 つの旅程が同じホームに到着して、相互の乗り換えが可能な場合は、この 2 つの旅程間で接続乗換が可能であると指定できるようにします。ただし、この駅の他の乗り換えについては、接続乗換が可能であると指定できないようにします。
-
最大 30 分間遅れることがよくある電車で、この電車の予定される到着時刻から乗り換え電車の出発時刻までの間隔が 35 分以下の場合、この電車からは他の電車への乗り換えを指定できないようにします。
詳細
transfers.txt
に 4 つのフィールド(すべて省略可能)を追加します。
from_route_id
to_route_id
from_trip_id
to_trip_id
routes.txt
で指定した route_id
を from_route_id
と to_route_id
のフィールドで指定して、乗り換えの適用対象を絞り込むことができます。from_route_id
を指定した場合は、ある from_stop_id
に到着するルートのうち、指定された経路 ID のルートのみに乗り換えが適用されます。to_route_id
を指定した場合は、ある to_stop_id
から発車するルートのうち、指定された経路 ID のルートのみに乗り換えが適用されます。
from_trip_id
と to_trip_id
フィールドには、trips.txt
で指定した trip_id
を指定できます。from_trip_id
を指定すると from_route_id
は無視され、to_trip_id
を指定すると to_route_id
は無視されます。from_trip_id
を指定した場合は、ある from_stop_id
に到着する旅程のうち、指定された旅程 ID の旅程のみに乗り換えが適用されます。to_trip_id
を指定した場合は、ある to_stop_id
から出発する旅程のうち、指定された旅程 ID の旅程のみに乗り換えが適用されます。
乗り換えの特異性
一部の乗り換えは、他の乗り換えよりも特異性が高い場合があります。Google では、乗り換え適用するタイミングを特定するためのシンプルな順位付けのメカニズムを定義したいと考えています。乗り換えの「特異性」についての定義は、次のとおりです。
乗換元の特異性は、from_stop_id
のみが指定されている場合は 0
、from_route_id
が指定されている場合は 1
、from_trip_id
が指定されている場合は 2
となります。乗換先も同様に、to_stop_id
のみが指定されている場合は 0
、to_route_id
が指定されている場合は 1
、to_trip_id
が指定されている場合は 2
となります。これら 2 つの値を合計して、乗り換えの特異性を 0
~4
の値で表します。到着するルートと発車するルートの順序の組み合わせについては、これら 2 つのルートに適用される乗り換えのうち、最も特異性の高い乗り換えが選ばれます。そのため、どのルートの組み合わせについても、最も特異性の高い同等の乗り換えが 2 つ存在することはありません。
曖昧なルールの例:
from_stop_id,to_stop_id,from_route_id,to_route_id,transfer_type stopFrom,stopTo,routeFrom,,0 stopFrom,stopTo,,routeTo,1
これらの 2 つの乗り換えの特異性は両方とも 1
になります。ただし、駅 / 停留所「stopFrom
」に到着する経路 ID routeFrom
のルートから駅 / 停留所「stopTo
」に到着する経路 ID routeTo
のルートへの乗り換えには、これら 2 つの規則のいずれかを適用できます。