ブロック乗換はシート内乗換とも呼ばれ、一連のルートが次の条件を満たしている場合に使用できます。
- ルートが連続している。
- 同じ車両が 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
(地下鉄、鉄道、バスなど)が使用されていることが検証に合格する条件です。なお、日付が異なるルートも同じブロックに含めることができます。静的フィードで定義されているブロックは、検証レポートの [概要] タブに表示されます。