ブロック乗換はシート内乗換とも呼ばれ、一連のルートが次の条件を満たしている場合に使用できます。
- ルートが連続している。
 - 同じ車両が 2 つのルートで使用されている。
 - ルートが、乗換案内フィードの 
trips.txtファイルの同じblock_id値でプロビジョニングされている。 
要件
ルート間でブロック乗換が可能なことを Google マップで認識できるようにするには、次の要件を満たす必要があります。
trips.txtの同じblock_id値が 2 つのルートに使用されている(2 つのルートに使用される車両が同じであることを示しています)。- 2 つのルートの運行日が同一(ルート内で日をまたぐ場合は連続した日付)である。
 - 2 つのルートの経路が重複せずに連続している。
 - 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.txtのexact_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に着いた後もその車両で待機することになっています。これは、次のroute2(route2_trip1)で使用される車両が同じためです。route1_trip1を利用したユーザーは、その車両にとどまることで、route2_trip1もそのまま利用できます。- 上の例と同じ経由地をたどっていても、各ルートで使用される車両が異なる場合、ブロック乗換を設定することはできません。
 - たとえば、
route1_trip1の場合、headway_secsの値は、start_timeとend_time間の半分の期間となります。この場合、2 つのルートがあるということです。headway_secsの使用方法について詳しくは、gtfs.org に関する GTFS 運行スケジュール リファレンスをご覧ください。 
環状ルートのブロック乗換
環状ルートとは、最初と最後の駅(停留所)が同じ(stop_id が同じ)ルートです。これは、運行スケジュール ベースのルートと運転時隔ベースのルートの両方で必須となります。
連続する環状ルートで同じ block_id が使用されている場合、ブロックまたはシート内乗換が有効になります。これにより、最初のルートの終点に着いたユーザーに対して、そのルートの車両を引き続き利用するよう指示できるようになります。
GTFS フィードの有効なブロック
ブロック乗換を有効にするには、フィードでブロックを適切に定義する必要があります。同じブロックに属するルートの経路が重複せず、かつ同じ route_type(地下鉄、鉄道、バスなど)が使用されていることが検証に合格する条件です。なお、日付が異なるルートも同じブロックに含めることができます。静的フィードで定義されているブロックは、検証レポートの [概要] タブに表示されます。