ブロック乗換の例

ブロック乗換はシート内乗換とも呼ばれ、一連のルートが次の条件を満たしている場合に使用できます。

  1. ルートが連続している。
  2. 同じ車両が 2 つのルートで使用されている。
  3. ルートが、乗換案内フィードの trips.txt ファイルの同じ block_id 値でプロビジョニングされている。

要件

ルート間でブロック乗換が可能なことを Google マップで認識できるようにするには、次の要件を満たす必要があります。

  1. trips.txt の同じ block_id 値が 2 つのルートに使用されている(2 つのルートに使用される車両が同じであることを示しています)。
  2. 2 つのルートの運行日が同一(ルート内で日をまたぐ場合は連続した日付)である。
  3. 2 つのルートの経路が重複せずに連続している。
  4. 2 つ目のルートの最後の駅(停留所)が 1 つ目のルートの最初の駅(停留所)である(推奨)。2 つの駅(停留所)の場所が異なる場合は、駅(停留所)間の距離が短いこと。

block_id を使ってブロック乗換を有効にする

ブロック乗換は、連続したルート間(環状ルートの場合は、同一のルート)で設定できます。ルートをシート内乗換が可能な 1 つのブロックとして指定するには、block_id フィールドを使用します。

例 1: 運行スケジュール ベースのルート向けのブロック乗換

この例では、各ファイルで以下の値を使用するとします。

trips.txt

route_id trip_id block_id
RouteA RouteATrip1 Block1
RouteB RouteBTrip1 Block1


stop_times.txt

trip_id arrival_time departure_time stop_id stop_sequence
RouteATrip1 12:00:00 12:01:00 A 1
RouteATrip1 12:05:00 12:06:00 B 2
RouteATrip1 12:15:00 C 3
RouteBTrip1 12:18:00 C 1
RouteBTrip1 12:22:00 12:23:00 D 2
RouteBTrip1 12:30:00 E 3

この場合のルールの仕組みは次のようになります。

  • 駅(停留所)A から駅 E までのルートを検索するユーザーに対して、駅 A から駅 C までのルート A(RouteATrip1)が提示されます。ルート A では、駅 A で午後 12 時 00 分発の車両に乗り、駅 C に着いた後もその車両で待機することになっています。これは、次のルート B(RouteBTrip1)で使用される車両が同じためです。
  • ルート A(RouteATrip1)を利用したユーザーは、その車両にとどまることで、ルート B(RouteBTrip1)もそのまま利用できます。
  • 上の例と同じ経由地をたどっていても、ルート A とルート B で使用される車両が異なる場合、ブロック乗換を設定することはできません。

例 2: 運転時隔ベースのルート向けのブロック乗換

運転時隔ベースのルート向けのブロック乗換は、要件セクションに記載されている要件に加えて、以下の条件のいずれかを満たした場合にのみサポートされます。

  • ルートが環状の場合は、始点と終点が同じ駅または停留所である必要があります。
  • frequencies.txtexact_times フィールドの値を 1 に設定する必要があります。

以下の例では、2 つ目の条件にある値の設定方法を示しています。

trips.txt

route_id trip_id block_id
route1 route1_trip1 block_2
route2 route2_trip1 block_2


stop_times.txt

trip_id arrival_time departure_time stop_id stop_sequence
route1_trip1 08:00:00 08:04:00 stop1 1
route1_trip1 08:10:00 08:14:00 stop2 2
route1_trip1 08:20:00 stop3 3
route2_trip1 08:24:00 stop3 1
route2_trip1 08:30:00 08:34:00 stop4 2
route2_trip1 08:40:00 08:44:00 stop5 3


frequencies.txt

trip_id start_time end_time headway_secs exact_times
route1_trip1 08:00:00 08:20:00 600 1
route2_trip1 08:24:00 08:44:00 600 1

この場合のルールの仕組みは次のようになります。

  • stop1 から stop5 までのルートを検索するユーザーに対して、route1 で午前 8 時 00 分発の車両に乗る stop1 が提示されます。route1_trip1 では、ユーザーは stop3 に着いた後もその車両で待機することになっています。これは、次の route2route2_trip1)で使用される車両が同じためです。
  • route1_trip1 を利用したユーザーは、その車両にとどまることで、route2_trip1 もそのまま利用できます。
  • 上の例と同じ経由地をたどっていても、各ルートで使用される車両が異なる場合、ブロック乗換を設定することはできません。
  • たとえば、route1_trip1 の場合、headway_secs の値は、start_timeend_time 間の半分の期間となります。この場合、2 つのルートがあるということです。headway_secs の使用方法について詳しくは、gtfs.org に関する GTFS 運行スケジュール リファレンスをご覧ください。

環状ルートのブロック乗換

環状ルートとは、最初と最後の駅(停留所)が同じ(stop_id が同じ)ルートです。これは、運行スケジュール ベースのルートと運転時隔ベースのルートの両方で必須となります。

連続する環状ルートで同じ block_id が使用されている場合、ブロックまたはシート内乗換が有効になります。これにより、最初のルートの終点に着いたユーザーに対して、そのルートの車両を引き続き利用するよう指示できるようになります。

GTFS フィードの有効なブロック

ブロック乗換を有効にするには、フィードでブロックを適切に定義する必要があります。同じブロックに属するルートの経路が重複せず、かつ同じ route_type(地下鉄、鉄道、バスなど)が使用されていることが検証に合格する条件です。なお、日付が異なるルートも同じブロックに含めることができます。静的フィードで定義されているブロックは、検証レポートの [概要] タブに表示されます。