首先,我懷疑 Citymapper 係先用 schedule plan journey ,然後 overlay 個 real time data 落去,我見過佢一開始出118分鐘然後一 load real time data 跳到全程87分鐘,因為某啲 connection 追到。
至於 OpenTripPlanner 呢,就係直接用 real time data 改個 timetable ,再用來 plan journey 。
prediction 呢樣嘢唔係 journey planner 嘅範疇,而係 data producer 嘅責任。 GTFS 標準有一個概念叫定時點( timing point ),咁可以知道架車會唔會喺度等時間,定係會越來越快/慢;至於確實點樣預測,呢樣就係可以用來賺錢嘅範疇,舉例唔,而家已經有產品會自動話你知巴士改道,唔使經人手干預(佢嘅方法係連續3班車有同一個方式偏離路線就當係臨時改道),然後自動直出 GTFS-RT 俾所有 app 知道,無論你用邊隻 app 都可以得到同樣資訊。
至於 real time 點樣 match schedule ? 好簡單,對字軌。部車嘅機(AVL)入面當然有字軌,咁直接配對就得;如果條線唔係行時間表,而係行班距(唔跟時間表運作),咁就另一回事。
你話跟 real time 等車出事,呢個亦都係 GTFS-RT 支持嘅範疇;如果個資料話係15分鐘有車,預期誤差係正負5分鐘,咁你差唔多到10分鐘嗰陣就可以睇部車有無跑快/慢到;如果某條線埋轉車站嘅誤差係3分鐘,另一條嘅誤差係5分鐘,咁個程式可以提供幾個選項:安全選項係避免叫人轉8分鐘以內嘅車(咁如果第二條線係半個鐘一班,就可能會叫你轉另一條唔同嘅路線);一般選項就可能係留5分鐘(取兩者較高誤差);趕時間模式就直接無視呢個數。尤其係當你嘅路程有好多個唔同選項,時間都差唔多嘅話,你可以經大隧、獅隧、青沙轉車都得嘅話,咁呢啲資料同選項就好重要。