GTFS 時間表和 Google 大眾運輸導入方式的差異

本頁說明官方 GTFS 時間表和 Google 大眾運輸規格導入方式的主要差異,包含下列方面:

  • 略過的官方規格:這些欄位屬於官方 GTFS 的一部分。Google 大眾運輸會正確擷取這些資料,但不會主動使用。

  • 不同解讀:Google 大眾運輸對官方 GTFS 中這些欄位的解讀,與 GTFS 中的定義不同。

  • 實驗性支援:Google 大眾運輸導入的這些欄位屬於實驗性質。如要導入新的實驗性欄位,請與 Google 大眾運輸團隊聯絡。

  • Google 大眾運輸支援的擴充功能:這些擴充功能「不」屬於官方 GTFS 的一部分。Google 大眾運輸支援的擴充功能包含公開擴充功能,以及 Google 大眾運輸專屬的擴充功能。任何合作夥伴都能透過動態饋給,將這些資訊傳送給 Google 大眾運輸。

Static 大眾運輸資訊

以下各部分列出官方 GTFS 和 Google 大眾運輸 Static 動態饋給導入方式的主要差異。

Static 動態饋給中略過的官方規格

Google 大眾運輸略過的部分官方規格屬於實驗性質,詳情請參閱 gtfs.org

表 1 列出 Google 大眾運輸在 Static 動態饋給中不支援的 GTFS 檔案。此外,Google 大眾運輸不接受這些檔案中定義的任何欄位。

表 1:Static 動態饋給中不支援的 GTFS 檔案
areas.txt
fare_leg_rules.txt
fare_products.txt
fare_transfer_rules.txt
levels.txt
stop_areas.txt

表 2 列出 Google 大眾運輸在 Static 動態饋給中略過的所有 GTFS 定義欄位。

表 2:Static 動態饋給中略過的 GTFS 欄位
檔案名稱 略過的 GTFS 定義欄位 欄位類型
fare_attributes.txt payment_method 列舉
feed_info.txt default_lang 語言代碼
feed_info.txt feed_publisher_name 文字
pathways.txt max_slope 浮點值
routes.txt continuous_drop_off 列舉
routes.txt continuous_pickup 列舉
routes.txt network_id ID
routes.txt route_desc 文字
routes.txt route_sort_order 非負整數
stops.txt level_id ID
stops.txt stop_desc 文字
stops.txt stop_url 網址
stops.txt tts_stop_name 文字
stops.txt bikes_allowed 列舉

Static 動態饋給中的不同解讀

雖然 Google 大眾運輸接受某些 GTFS 定義欄位,但解讀方式與 GTFS 有所不同。

表 3 列出 Google 大眾運輸在 Static 動態饋給中導入的欄位,而這些欄位的導入方式與 GTFS 中所述的方式不同。

表 3:導入方式不同的 Static 動態饋給欄位
檔案名稱 GTFS 中定義的欄位 欄位類型 是否為 Google 大眾運輸的必要欄位? Google 大眾運輸導入方式詳細資料
fare_attributes.txt transfers 列舉 必要

Google 大眾運輸擴充功能。

公開 GTFS 會將值的範圍限制在 02 之間。Google 大眾運輸接受 05 之間的值。

請使用這個欄位設定票價允許的轉乘次數上限,不包含排程轉乘 (又稱不離座轉乘)。如果您不想設定票價允許的轉乘次數限制,可將 transfers 欄位留空。

pathways.txt pathway_mode 列舉 選用 如果指定 pathway_mode 欄位但留空,Google 大眾運輸會接受該欄位,並認定欄位值不明。
stop_times.txt arrival_time 時間 必要 (有條件) 時間值限制在 0099 之間,足以因應三日的行程。
transfers.txt transfer_type 列舉 必要

系統不支援 45 的值,會予以略過。

Google 大眾運輸支援 0123 的值。

trips.txt block_id ID 選用 詳情請參閱「排程轉乘範例」一文。

Static 動態饋給實驗性欄位的支援服務

如果您有意加入這個類別的新實驗性欄位,但需要協助,請與 Google 大眾運輸聯絡。

Google 大眾運輸在 Static 動態饋給中支援的擴充功能

表 4 提供 Google 大眾運輸擴充功能的相關資訊。這些欄位不屬於官方 GTFS 的一部分。

表 4:支援的 Static 動態饋給擴充功能
檔案名稱 欄位 欄位類型 是否為 Google 大眾運輸的必要欄位? Google 大眾運輸導入方式詳細資料
fare_attributes.txt ic_price 浮點值 選用

這項 Google 大眾運輸擴充功能僅適用於日本的合作夥伴。

ic_price 欄位代表使用智慧型卡片支付此票價時的折扣金額。如未提供該票價的折扣,或是系統不支援智慧型卡片,ic_price 欄位的值必須為 -1

fare_rules.txt contains_route_id ID 選用

Google 大眾運輸擴充功能。

此票價僅適用於經過指定路線組合的行程,路線由 fare_idorigin_iddestination_id 欄組合中所有列的 route_id 值識別。

如果缺少 contains_route_id 欄,或是該票價的所有值為空值,票價在這個參數中就不會受限。如果為票價提供 contains_route_id 欄位,則 route_id 欄位必須留空。

routes.txt checkin_duration 整數 選用

Google 大眾運輸擴充功能。

checkin_duration 欄位會指定乘客應在預定出發時間前提早多少秒抵達,才能順利報到和登機。

如果乘客要轉乘前往目的地,則任何定義的轉乘時間都會覆寫 checkin_duration 值。

checkin_duration 值只是建議,通常由大眾運輸業者提供,可能無法反映乘客能抵達並登機的最晚實際時間。

routes.txt route_type 列舉 必要

Google 大眾運輸擴充功能。

如要瞭解 Google 大眾運輸如何擴充 GTFS 接受的 route_type 值選項,請參閱「擴充 GTFS 路線類型」一文。

stop_times.txt stop_direction_name 文字 選用

Google 大眾運輸擴充功能。

stop_direction_name 欄位會向乘客指出行程方向。該方向會儲存為從該停靠站發車的 direction_name 值。

如果 stop_direction_name 欄位空白,系統會改用 Google 大眾運輸支援的 trip_direction_name 欄位。如果 trip_direction_namestop_direction_name 欄位皆空白,則大眾運輸資料匯入工具會將這些欄位留空。在這種情況下,合作夥伴可以改用 stop_headsigntrip_headsign 值。stop_direction_name 欄位的值會經過大小寫正規化處理。

stops.txt signposted_as 文字 選用

Google 大眾運輸擴充功能。

signposted_as 欄位包含月台看板上所寫的全文,例如「往市中心」和「東城和布魯克林」。

GTFS platform_code 欄位和 Google 大眾運輸支援的 signposted_as 欄位可同時設定。

platform_codesignposted_as 欄位的差異包括:

  • 長度:platform_code 欄位通常包含數字或字母,例如「2」或「C」
  • 語言:platform_code 欄位沒有語言,但 signposted_as 值可有翻譯。
  • 穩定性:platform_code 欄位的變更頻率遠低於 signposted_as 欄位。
stops.txt vehicle_type 整數 選用

Google 大眾運輸擴充功能。

vehicle_type 欄位會指定在停靠站使用的交通工具類型,且可接受階層式交通工具類型 (HVT) 的路線類型。HVT 值取自歐洲交通資訊傳輸協議 (TPEG) 標準。

agency.txt ticketing_deep_link_id ID 選用

Google 大眾運輸票務擴充功能。

agency.txt 檔案中,ticketing_deep_link_id 欄位代表運輸公司用於行程售票的深層連結。

routes.txt ticketing_deep_link_id ID 選用

Google 大眾運輸票務擴充功能。

routes.txt 檔案中,ticketing_deep_link_id 欄位代表路線用於行程售票的深層連結。

stop_times.txt ticketing_stop_time_id ID 選用

Google 大眾運輸票務擴充功能。

如果 ticketing_stop_time_id 欄位出現在 stop_times.txt 檔案中,就會覆寫透過深層連結售票的停靠時間 ID。

stop_times.txt ticketing_type 列舉 選用

Google 大眾運輸票務擴充功能。

ticketing_type 欄位會指定該停靠時間適用的售票類型。

Google 大眾運輸接受下列值:

  • Empty預設值,由行程定義。
  • 0只有在運輸公司或路線提供已啟用的售票深層連結時,才能使用這個值。
  • 1無法使用。
ticketing_deep_links.txt android_intent_uri URI 選用

Google 大眾運輸票務擴充功能。

android_intent_uri 欄位代表 Android 上用於深層連結的意圖 URI。

ticketing_deep_links.txt ios_universal_link_url 網址 選用

Google 大眾運輸票務擴充功能。

ios_universal_link_url 欄位代表 iOS 上用於深層連結的通用連結網址。

ticketing_deep_links.txt ticketing_deep_link_id ID 必要

Google 大眾運輸票務擴充功能。

ticketing_deep_link_id 欄位代表深層連結的 ID。

ticketing_deep_links.txt web_url 網址 選用

Google 大眾運輸票務擴充功能。

web_url 欄位代表網站上用於深層連結的網址。

ticketing_identifiers.txt agency_id ID 必要

Google 大眾運輸票務擴充功能。

為了指定已定義預設 ticketing_stop_id 欄位的停靠站運輸公司,agency_id 欄位會包含 GTFS agency.txt 檔案中的 ID。

ticketing_identifiers.txt stop_id ID 必要

Google 大眾運輸票務擴充功能。

為了指定已定義預設 ticketing_stop_id 欄位的停靠站,stop_id 欄位會包含 GTFS stops.txt 檔案中的 ID。

ticketing_identifiers.txt ticketing_stop_id ID 必要

Google 大眾運輸票務擴充功能。

ticketing_stop_id 欄位包含已套用至停靠站的售票 ID。運輸公司可視需要驗證 ID。

trips.txt ticketing_trip_id ID 選用

Google 大眾運輸票務擴充功能。

如果有 ticketing_trip_id 欄位,其中的值會覆寫 trip_id 欄位,以便識別透過深層連結售票的行程。

trips.txt ticketing_type 列舉 選用

Google 大眾運輸票務擴充功能。

ticketing_type 欄位會指定適用於該行程的售票類型。

Google 大眾運輸接受下列值:

  • 0預設值。只有在運輸公司或路線提供已啟用的售票深層連結時,才能使用這個值。
  • 1無法使用。
translations.txt lang 語言代碼 選用

Google 大眾運輸擴充功能。

lang 欄位並非官方 GTFS 的一部分,但 Google 大眾運輸會使用這個值 (如有)。

如要指定詞組的翻譯,請使用 lang 欄位,其中的值「不得」為空白或 und (未定義語言)。

translations.txt trans_id ID 選用

Google 大眾運輸擴充功能。

trans_id 欄位並非官方 GTFS 的一部分,但 Google 大眾運輸會使用這個值 (如有)。

如要為已提供翻譯的詞組指定 ID 權杖,請使用 trans_id 欄位。translations.txt 資料表的每一列代表在語言 lang 中,詞組 trans_id 會翻譯為 translation

trips.txt original_trip_id ID 選用

Google 大眾運輸擴充功能。

如果 original_trip_id 值出現在 trips.txt 檔案中,就會覆寫 trip_id 值供其他系統使用。即時比對即為一例。

trips.txt trip_direction_name 文字 選用

Google 大眾運輸擴充功能。

trip_direction_name 欄位會向乘客指出行程方向。這個欄位中的值會儲存為每趟行程的 direction_name 值。

如果 stop_times 資料表中的 stop_direction_name 值在行程中有所變動,可能就會覆寫 trip_direction_name 值。

trip_direction_name 欄位中的值會經過大小寫正規化處理。

trips.txt vehicle_category_id ID 選用

Google 大眾運輸擴充功能。

trips.txt 檔案中,vehicle_category_id 欄位代表分配給該行程的車輛。如果這個欄位出現在 trips.txt 檔案中,其中的值會覆寫 routes.txt 檔案中的 vehicle_category_id 值。