• 沒有找到結果。

演算模式庫實作

第四章 演算模式庫實作開發

4.3 演算模式庫實作

此節將說明旅行時間預測模式的程式實作內容,而本研究的旅行時間預測模 組分成異常資料處理模組、資料融合模組以及旅行時間預測模組,以下將先介紹 兩支重複被其他程式使用的程式,再分別介紹各模組主要的演算程式。

 DBConnection:此程式負責處理資料庫相關工作,藉由對目的地資料庫 建立連線並撰寫 SQL 敘述語句(PreparedStatement),此程式可以對資料 庫中不同資料表單進行查詢(SELECT)、插入(INSERT)和更新(UPDATE) 動作,其中設計合適的查詢條件可以增加查詢速度。

 AreaShift:此程式主要負責兩項工作,一為計算路段旅行時間,二為線 性插補的演算法建構。

(1) 異常資料處理模組

 VDIrregularProcess:從"VD_RawData"資料表選取車輛偵測器原始資料,

並從"RampPosition"資料表選取交流道里程數,針對個別交流道區間進 行異常交通資料處理,處理程序包括離群值處理以及漏失值處理。

(2) 資料融合模組

 DataFusion:由 VDIrregularProcess 所回傳的插補後車輛偵測器資料,以

67

及從"ETC_RawData"所選取的電子收費交通資料進行資料融合動作,演 算完成後將插補資料和融合資料儲存到"VD_FusionData"資料表。

(3) 旅行時間預測模組

 TTPrediction_KF1:設定路徑起迄點、目前時間以及預計出發時間,以 相同星期別以及起迄點里程數為查詢條件,從"VD_FusionData"資料表 選取車輛偵測器每 5 分鐘歷史速度值,以卡曼濾波預測模式一(KF1)演 算法計算路徑總旅行時間和抵達迄點時間,再用 GetTrueTT 程式計算得 到真實路徑旅行時間以評估預測績效。

 TTPrediction_KF2:設定的路徑起迄點、目前時間以及預計出發時間,

以當天即時資料以及起迄點里程數為查詢條件,從"VD_FusionData"選 取車輛偵測器每 5 分鐘即時速度值,以卡曼濾波預測模式二(KF2)演算 法配合 MultiStepPrediction 程式計算路徑總旅行時間和抵達迄點時間,

再用 GetTrueTT 程式計算得到真實路徑旅行時間以評估預測績效。

 R2RTT_FT:先由 AreaShift 程式計算路段旅行時間,再由 DFT 程式計 算各交流道路段區間的傅立葉轉換參數,其中相位角由 AngleCalculate 負責計算,演算完參數儲存至"R2RTT_FT"資料表。

 TTPrediction_IDFT1:設定的路徑起迄點、目前時間以及預計出發時間,

以相同星期別以及起迄點里程數為查詢條件,從"R2RTT_FT"資料表查 詢各路段傅立葉轉換參數,將進入路段時間代入逆向傅立葉轉換公式計 算路段旅行時間,最後加總得到路徑總旅行時間和抵達迄點時間。

 TTPrediction_Hybrid1:以 DTFT 為短期預測模式、KF1 為長期預測模 式所建構複合式旅行時間預測模式一。

 TTPrediction_Hybrid2:以 KF2 為短期預測模式、DTFT 為長期預測模 式所建構複合式旅行時間預測模式二。

旅行時間預測模式中個演算程式的關係圖如圖 4-3 所示:

68

圖4-3 旅行時間預測模式UML類別圖

69