如果一組行程符合以下條件,就可以進行排程轉乘 (又稱不離座轉乘):
- 屬於連續行程。
- 兩趟行程都使用同一輛車營運。
- 系統會使用大眾運輸動態饋給
trips.txt
檔案中的同一個block_id
值佈建行程。
必備條件
要讓 Google 地圖瞭解行程之間可以進行排程轉乘,就必須符合下列必備條件:
- 行程必須使用
trips.txt
中的同一個block_id
值,這代表行程使用同一輛車。 - 行程必須在相同日期營運。如果行程跨越午夜,則必須在連續日期營運。
- 行程必須連續且不重疊。
- 抵達行程的最後一個停靠站和出發行程的第一個停靠站必須相同 (建議) 或地點相近。
使用 block_id
啟用排程轉乘
不同路線上的連續行程之間可以進行排程轉乘。如果路線是環狀線,則可在同一條路線上進行排程轉乘。使用 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 站的路線,系統會引導該名使用者在 12:00 從 A 路線的 A 站上車,並於車輛在
RouteATrip1
結束後抵達 C 站時留在車上,這是因為 B 路線的RouteBTrip1
使用同一輛車。 - 如果
RouteATrip1
的乘客想繼續搭到RouteBTrip1
的某個停靠站,就可以留在車上轉乘。 - 對於這些路線上搭乘其他車輛進行其他行程的乘客,由於他們每趟行程搭乘的車輛都不同,因此不會看到這個選項。
例 2:以頻率為準並使用確切時間的行程支援的排程轉乘
除了必備條件中列出的要求外,以頻率為準的行程還必須符合下列其中一項條件,才能支援排程轉乘:
- 如果是環狀行程,則起點和終點必須是同一個停靠點。
- 在
frequencies.txt
中,exact_times
欄位的值必須為1
。
下面的例子說明如何設定第二項條件的值:
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
的路線,系統會引導該名使用者在 08:00 從route1
的stop1
上車,並於車輛在route1_trip1
結束後抵達stop3
時留在車上,這是因為route2
的route2_trip1
使用同一輛車。 - 如果
route1_trip1
的乘客想繼續搭到route2_trip1
的某個停靠點,就可以留在車上轉乘。 - 對於這些路線上搭乘其他車輛進行其他行程的乘客,由於他們每趟行程搭乘的車輛都不同,因此不會看到這個選項。
- 以
route1_trip1
為例,headway_secs
的值是start_time
和end_time
間隔的一半,代表共有兩趟行程。如要進一步瞭解如何使用headway_secs
,請參閱 gtfs.org 上的 GTFS 時間表參考資料。
環狀線排程轉乘
環狀線行程的第一個和最後一個停靠點都相同,且具有相同的 stop_id
。無論是以時間表或頻率為準的行程,都必須符合這項條件。
如果連續環狀行程具有相同的 block_id
,系統就會啟用排程 (不離座) 轉乘,在車輛繼續行駛下一個循環時,讓第一趟行程的乘客留在車上。
GTFS 動態饋給中的有效排程
如要啟用排程轉乘,您必須在動態饋給中正確定義一或多個排程。如要通過驗證,屬於同一排程的行程不得重疊,且必須具有相同的 route_type
(地鐵、鐵路、公車,以此類推)。不同行程可能屬於同一排程,即使是在不同日期也一樣。如果在 Static 動態饋給中定義任何排程,這些排程就會顯示在「總覽」分頁的「驗證報表」中。