手機顯示公車還有 3 分鐘,才剛收起手機,車卻已經駛進站;或者原本顯示 1 分鐘,重新整理後變成 5 分鐘。這種落差很容易讓人下結論:「公車 App 不準。」
更精確的說法是:App 顯示的是根據最近一次成功回報所做的動態預估,不是公車當下位置的連續直播,也不是一個只會往下走的秒表。新定位、路況或班次狀態一進入系統,答案就可能重新計算。
你的理解大致正確,但傳輸時間差只是其中一段
公車資料確實會經過「車輛上傳、中心處理、資料發布、App 取得、使用者查看」等環節。每一段都有更新週期與傳輸時間,所以畫面通常代表「目前最新可取得的資料快照」,而不是這一毫秒的車輛位置。
不過,單靠網路傳輸延遲不足以解釋所有分鐘級落差。完整原因可以歸納為三件事:資料抵達手機需要時間;到站時間本身是一項預測,不是直接量測;真實道路與營運狀況又會隨時改變。
「即時」表示資料持續更新;「預估」則表示系統會在每次獲得新資訊時重新回答:這班車現在大約還要多久才會到?
一張圖看懂:公車資料如何到達你的手機
交通部的公共運輸資料標準把定時車機位置(A1)、到站事件(A2)與到站預估(N1)列為不同資料類型,正好說明「知道車在哪裡」和「推算多久會到」是兩件事。可參考交通部公共運輸旅運資料標準與TDX 公車資料服務。
公車到站時間常見的六種誤差來源
1. 定位與上傳不是毫秒連續直播
車機依固定週期取得並上傳位置。地下道、隧道、高樓密集區或行動網路不穩時,定位與上傳可能暫時中斷。國際 GTFS Realtime 最佳實務建議即時資料至少每 30 秒刷新,車輛位置及行程更新不宜舊於 90 秒;這是品質建議,不代表每個地區和每個時刻都能達到同一水準。
2. 系統還要辨認這台車正在跑哪一班
單有座標不夠。系統必須把車輛、路線、方向、站序與當日班次正確配對。臨時加班、換車、區間行駛、繞駛或駕駛交班若尚未完整同步,預估就可能短暫跳動或消失。
3. 真實路況不是固定速度
紅綠燈、事故、施工、違停、天候和尖峰車潮都可能突然改變同一路段的行駛時間。模型只能依當時可取得的資訊推算,不能預先知道所有臨時事件。
4. 停站時間本來就很難精準預測
乘客多寡、輪椅上下車、行李、刷卡速度或等待轉乘,都會改變車輛在站牌停留多久。每站數十秒的差異累積起來,就可能形成一到兩分鐘的落差。
5. API、服務快取與 App 各有更新週期
依服務架構,資料可能經過聚合平台、後端快取和網路傳輸,再由 App 定期取得。手機位於背景、省電模式或網路不穩時,畫面也可能沒有立刻刷新。並非所有服務都會經過 CDN,也不能把所有延遲都歸因於 CDN。
6. 顯示的整數分鐘經過取整
底層通常以秒為單位,但畫面為了容易閱讀會顯示整數分鐘。即使底層只差數十秒,也可能跨過顯示門檻,讓「3 分鐘」很快變成「1 分鐘」,或在重新估算後往上增加。
所以,公車 App 到底準不準?
與其只用準或不準二分,更適合問三個問題:這筆定位資料有多新?班次和方向是否配對正確?公車前方的路況與停站狀況是否仍符合模型假設?資料持續更新、班次正確且路況穩定時,到站預估通常很有參考價值;遇到訊號中斷、臨時調度或突發壅塞時,不確定性自然會提高。
候車時除了分鐘數,也應一起看更新時間、車輛位置與營運公告。若數字長時間不動或突然大幅跳動,應視為目前資訊較不穩定,為末班車、就醫、考試或轉乘預留更充裕的時間。
個人時間微調:讓常搭路線更貼近你的搭乘經驗
如果你每天搭 307,常發現公車總比畫面早約 1 分鐘到站,就可以把這條路線設為「提早顯示 1 分鐘」。儲存後,這台裝置看到的到站數字會少 1 分鐘;官方資料與其他人的畫面都不會改變。
- 搜尋路線並開啟「查看全線」。
- 展開「個人時間微調」,用加減按鈕選擇提早或延後顯示。
- 確認畫面上的示例後儲存;要取消時,選擇「恢復官方時間」。
- 只調整這台裝置看到的即時到站分鐘。
- 不修改官方 API、原始資料或資料更新時間。
- 不影響其他使用者,也不會在每次更新時重複加減。
- 「進站中」、表定時刻、停駛與交管狀態維持官方原值。
這項功能適合修正你反覆觀察到的固定小落差,不適合處理資料中斷、臨時改道或班次取消。若畫面長時間未更新,或分鐘數突然大幅跳動,仍應查看車輛位置與營運公告。
社群微調構想:10 個裝置、10 天、同一數值
一個人的搭乘經驗不能直接代表整條路線。因此,未來若要把使用者回報納入系統判斷,我們規劃先通過三道門檻:
- 同一路線至少有 10 個不同匿名裝置。
- 每個裝置都維持同一設定滿 10 天,期間沒有修改或撤回。
- 10 個裝置的調整方向與分鐘數完全一致。
三項都成立時,這個數值才會進入系統微調的候選檢查;不會因達到人數門檻就立即自動套用。這樣可以降低誤觸、短期塞車或單一裝置重複回報造成的影響。
目前只提供個人微調,設定留在自己的裝置,不會上傳到後端計票。若社群機制日後上線,我們會先公開匿名採計、撤回、防濫用、驗證與恢復官方值的規則。
把「預估」說清楚,才有真正的信任
公車到站資訊是一場資料接力:從車上定位、資料中心、預估模型一路傳到手機。道路上的不確定性無法完全消除,但資料從哪裡來、為什麼會有時間差,以及個人微調能做什麼,都應該說清楚。
所以下次看到分鐘數跳動,可以先把它理解為系統收到新資料後重新估算,而不是單純「App 壞了」。若同一路線長期存在穩定的小落差,再用個人微調讓自己的畫面更符合搭乘經驗。
常見問題
公車圖示在移動,為什麼到站時間沒有一起減少?
車輛位置與到站預估是不同資料。位置更新後,模型仍可能需要重新比對班次、站序與路段時間;App 的取得及畫面更新週期也可能不同。
為什麼到站時間會從 2 分鐘跳回 5 分鐘?
通常是系統取得新的定位、速度、路況或班次資訊後重新估算。到站時間是動態預測,不是固定倒數。
個人微調會改到官方資料或影響其他人嗎?
不會。它只調整這台裝置看到的到站分鐘,官方資料和其他使用者的畫面都保持不變。
「10 個裝置 × 10 天」已經啟用了嗎?
尚未。這是規劃中的候選門檻;即使未來達到門檻,也只會進入候選檢查,不會立即自動修改所有人的顯示。