王 靜 ,解 超
(1.中國民航信息集團(tuán)有限公司,北京 101318;2.中國交通通信信息中心,北京 100011;3.中交信有限責(zé)任公司,北京 100007)
近年來,隨著計(jì)算機(jī)、網(wǎng)絡(luò)技術(shù)在公路、鐵路、民航道路客運(yùn)領(lǐng)域應(yīng)用范圍的逐漸擴(kuò)展,對出行的精確規(guī)劃已經(jīng)成為常態(tài)。然而,相比在封閉體系中運(yùn)行的火車、飛機(jī),道路客運(yùn)車輛與其他社會車輛共享行駛路徑,其行駛時間受路況、事故、天氣等因素影響較大,因此難以編制確定的車輛行程時間、里程表,導(dǎo)致乘客只知道上車的時間,卻不知道什么時候到站,更不可能知道車輛現(xiàn)在行進(jìn)到了哪里,是否晚點(diǎn),還有多久才能抵達(dá)目的地。這嚴(yán)重影響了乘客們的出行體驗(yàn),更為行程提前規(guī)劃、接駁轉(zhuǎn)乘與多種交通工具聯(lián)程聯(lián)運(yùn)制造了障礙??梢?,缺乏精準(zhǔn)的車輛到站時間精準(zhǔn)計(jì)算機(jī)制,已經(jīng)成為了道路客運(yùn)的最大痛點(diǎn)之一。相較之下,航空、鐵路都有嚴(yán)格的行程-時刻表體系,除個別的延誤情況外,基本做到了行程的可預(yù)期、可控制。航旅縱橫等應(yīng)用在航空領(lǐng)域的發(fā)軔,更為用戶準(zhǔn)確實(shí)時掌握交通工具精準(zhǔn)動態(tài)提供了便捷的途徑。
針對上述問題,作者利用全國營運(yùn)車輛聯(lián)網(wǎng)聯(lián)控系統(tǒng)的長途班線客運(yùn)車輛GPS監(jiān)測數(shù)據(jù),結(jié)合道路客運(yùn)聯(lián)網(wǎng)售票系統(tǒng)中的班次、票務(wù)數(shù)據(jù),提出了一種計(jì)算長途班線客運(yùn)車輛行程—時刻表的算法,實(shí)時獲取長途班線客運(yùn)車輛運(yùn)行動態(tài)時刻表以及旅客實(shí)時位置信息,在此基礎(chǔ)上,預(yù)測車輛到達(dá)特定車站時間、待行駛里程,服務(wù)于旅客的智慧出行和精準(zhǔn)規(guī)劃。如圖1所示。
圖1 基于GPS的道路客運(yùn)旅客在途位置辨識與到站時間精準(zhǔn)預(yù)測技術(shù)路線圖
從2008年起,交通運(yùn)輸部在班線客運(yùn)、旅游包車和危險品運(yùn)輸車等重點(diǎn)營運(yùn)車輛(即“兩客一危”)車輛上安裝基于北斗衛(wèi)星導(dǎo)航系統(tǒng)的車載機(jī),并通過無線數(shù)據(jù)網(wǎng)絡(luò)將車輛的位置與行駛狀況信息實(shí)時回傳并記錄。截至2017年底,在重點(diǎn)營運(yùn)車輛上的設(shè)備安裝率已達(dá)到100%,數(shù)據(jù)回傳率在99%以上。
重點(diǎn)營運(yùn)車輛聯(lián)網(wǎng)聯(lián)控系統(tǒng)GPS數(shù)據(jù)格式分為歷史數(shù)據(jù)和實(shí)時數(shù)據(jù)兩種。
圖2 重點(diǎn)營運(yùn)車輛軌跡數(shù)據(jù)示例
1.1.1 歷史數(shù)據(jù)
文件格式:重點(diǎn)營運(yùn)車輛聯(lián)網(wǎng)聯(lián)控系統(tǒng)GPS歷史數(shù)據(jù)格式如圖3所示:
(1)聯(lián)網(wǎng)聯(lián)控系統(tǒng)車輛歷史數(shù)據(jù)文件統(tǒng)一采用文本文件格式($accesscode.data)。
(2)聯(lián)網(wǎng)聯(lián)控系統(tǒng)車輛歷史數(shù)據(jù)每天每小時保存為一個文件夾,以當(dāng)天日期YYYYMMDD_txt 格式命名為根目錄,如2014年4月6日,保存數(shù)據(jù)的文件夾名為20140406_txt。根目錄下每小時數(shù)據(jù)保存為一個文件夾,格式為data_HH,如上午十時數(shù)據(jù)保存的文件夾名為data_10。
(3)文本文件中各字段之間使用符號(,)進(jìn)行分割,每條記錄以回車符表示結(jié)束。
(4)每行數(shù)據(jù)中各字段的排列順序按照下一節(jié)中每種數(shù)據(jù)的序號排列。
圖3 重點(diǎn)營運(yùn)車輛聯(lián)網(wǎng)聯(lián)控系統(tǒng)GPS歷史數(shù)據(jù)格式
1.1.2 實(shí)時數(shù)據(jù)
重點(diǎn)營運(yùn)車輛聯(lián)網(wǎng)聯(lián)控系統(tǒng)GPS實(shí)時數(shù)據(jù)格式如表1所示:
長途客車GPS數(shù)據(jù)通過車載GPS終端在一定間隔內(nèi)實(shí)時采集,數(shù)據(jù)主要包括線路編號、車輛編號、回傳時間、GPS坐標(biāo)(經(jīng)緯度)、定位狀態(tài)等。
長途客車在行駛過程中,由于隧道、立交橋等影響,易發(fā)生數(shù)據(jù)丟失、位置漂移等問題,因此,需要對長途客車GPS數(shù)據(jù)進(jìn)行預(yù)處理,清洗掉漂移或異常的數(shù)據(jù)。
表1 重點(diǎn)營運(yùn)車輛聯(lián)網(wǎng)聯(lián)控系統(tǒng)GPS實(shí)時數(shù)據(jù)格式表
為提高處理效率,基于GPS的道路客運(yùn)旅客在途位置辨識與到站時間精準(zhǔn)預(yù)測技術(shù)使用緩沖區(qū)方法對GPS漂移或異常數(shù)據(jù)進(jìn)行過濾。過濾遠(yuǎn)離道路的數(shù)據(jù)最有效的方法是在道路中線的基礎(chǔ)上構(gòu)建緩沖區(qū),然后刪除在緩沖區(qū)以外的數(shù)據(jù)。
1.2.1 兩級緩沖區(qū)法
為提高數(shù)據(jù)預(yù)處理過程的計(jì)算效率,引入了利用大小兩級緩沖區(qū)進(jìn)行車輛位點(diǎn)過濾的方法,即先通過大緩沖區(qū)高速粗篩,剔除遠(yuǎn)離目標(biāo)道路的車輛數(shù)據(jù),再通過小緩沖區(qū)細(xì)篩,剔除與道路距離較近,但不在道路上的車輛數(shù)據(jù)。
經(jīng)分析,大約80%以上的車輛定位點(diǎn)都遠(yuǎn)離道路300m以上,為了提高效率,過濾遠(yuǎn)離道路點(diǎn)采用多(兩)級緩沖區(qū)技術(shù),先利用大尺度上的緩沖區(qū)對絕大多數(shù)遠(yuǎn)離道路500m以上的點(diǎn)進(jìn)行過濾,然后利用小尺度上的緩沖區(qū)對距離道路500m以內(nèi)的數(shù)據(jù)點(diǎn)進(jìn)行過濾,提取出在道路上行駛的定位點(diǎn)。大小尺度上的緩沖區(qū)分別見圖4和圖5。
圖4 大尺度緩沖區(qū)
圖5 小尺度緩沖區(qū)
在這個過程中,最關(guān)鍵是確定小尺度緩沖區(qū)的范圍,從而最大程度地讓存在誤差的定位數(shù)據(jù)被包含在這個緩沖區(qū)中。根據(jù)誤差理論,設(shè)道路網(wǎng)的定位誤差為α,車輛定位誤差最大為β,高速公路單向路寬為w,由圖6可知,車輛GPS定位點(diǎn)離道路網(wǎng)的距離最大為,因此將緩沖區(qū)的半徑設(shè)為ρ。
一般認(rèn)為道路網(wǎng)的精度α=5m,車輛定位誤差β=5m,從現(xiàn)有高速公路狀況來看,大部分單向路寬為10~16m,大型車輛車寬為2.5m,則ρ取值為13~16m。由于在不同地區(qū),道路寬度標(biāo)準(zhǔn)與車輛GPS型號的差異可能導(dǎo)致定位精度和緩沖區(qū)大小有所差別,因此可以考慮分區(qū)域確定緩沖區(qū)半徑的具體值。這樣,可以使所設(shè)緩沖區(qū)既能較快地區(qū)分車輛所屬道路,又能最大程度包含行駛在道路上的車輛的定位數(shù)據(jù)。
圖6 道路、車輛的定位示意圖
注:按照《GB-1589-2004道路車輛外廓尺寸、軸荷及質(zhì)量限值》的規(guī)定,車輛高度限值為4m,寬度限值為2.5m,故取2.5m為車輛寬度。
由于緩沖區(qū)在每次計(jì)算路況時都會使用且范圍相同,因此可以事先計(jì)算全國道路網(wǎng)的兩級緩沖區(qū)數(shù)據(jù),保存為獨(dú)立圖層,在浮動車數(shù)據(jù)預(yù)處理操作時直接調(diào)用。同時,緩沖區(qū)還可以消除車輛進(jìn)入服務(wù)區(qū)或收費(fèi)站后的定位數(shù)據(jù),排除這些情況的對路況計(jì)算的干擾。
在過濾過程中,需要判斷每一個動態(tài)數(shù)據(jù)點(diǎn)是否在緩沖區(qū)內(nèi),這時記錄下在緩沖區(qū)內(nèi)的數(shù)據(jù)點(diǎn)被包含于哪個道路的緩沖區(qū)內(nèi),此信息將用于地圖匹配過程。在道路交叉點(diǎn)區(qū)域,還需要根據(jù)道路方向判斷。
1.2.2 方程式緩沖區(qū)法
為了進(jìn)一步提高浮動車數(shù)據(jù)篩選過程的效率,在兩步緩沖區(qū)基礎(chǔ)上,又引入了一種適合于浮動車數(shù)據(jù)的高效緩沖區(qū)分析方法。
考慮到目前緩沖區(qū)表達(dá)方式的特點(diǎn),若使用柵格法表達(dá),雖然緩沖區(qū)分析簡單但占用存儲空間大;若使用矢量法表達(dá),雖然存儲效率高但緩沖區(qū)分析涉及的幾何計(jì)算復(fù)雜。兩種表達(dá)方法都存在缺點(diǎn),因此我們希望尋找第三種緩沖區(qū)表達(dá)方法,既存儲效率高又應(yīng)用簡單。緩沖區(qū)分析主要是以距離為依據(jù),因此方程式緩沖區(qū)需要與距離有關(guān)系,并且具有連續(xù)封閉的特點(diǎn),當(dāng)然最重要的特點(diǎn)是能用一個數(shù)學(xué)公式描述。而萬有引力的等值線恰好能滿足這些要求,為此我們借助萬有引力等值線公式的形式構(gòu)造方程式緩沖區(qū),用地理要素的一條引力等值線擬合與之最接近的緩沖區(qū)邊界,使緩沖區(qū)分析從一個包含復(fù)雜幾何運(yùn)算的過程轉(zhuǎn)變成包含簡單代數(shù)運(yùn)算的過程,從而提高計(jì)算效率。
下面分別給出了點(diǎn)和線段的緩沖區(qū)方程,具體推導(dǎo)過程不在本文中闡述。
(1)點(diǎn)(x0,y0)的緩沖區(qū)為
式中,r是緩沖區(qū)半徑。
(2)線段((x1,y1),(x2,y2))的緩沖區(qū)為
式中,r是緩沖區(qū)半徑;為線段的長度;t為向量((x1,y1),(x2,y2))與X軸的夾角;(xm,ym)為線段的中點(diǎn)是線段的線密度。
圖7中,左列為常規(guī)緩沖區(qū),右列為方程式緩沖區(qū),(a)、(b)為點(diǎn)的緩沖區(qū),從里到外緩沖區(qū)半徑分別為20、40、60、80,(c)、(d)為線段的緩沖區(qū),線段長400,從里到外緩沖區(qū)半徑分別為40、80、120、160。
圖7 常規(guī)緩沖區(qū)與方程式緩沖區(qū)的對比
下面以地理信息檢索為例,介紹方程式緩沖區(qū)的應(yīng)用方法,即查詢在緩沖區(qū)內(nèi)的地理要素。
點(diǎn)緩沖區(qū)。判斷某要素點(diǎn) T(xt,yt)是否在點(diǎn) A(x0,y0)半徑為r的緩沖區(qū)內(nèi)時,將要素坐標(biāo)代入公式(1)中得到,若不等式成立,則要素點(diǎn)T在點(diǎn)A的緩沖區(qū)內(nèi);若不成立,則要素點(diǎn)T在點(diǎn)A的緩沖區(qū)外。緩沖區(qū)半徑變化時只需要改變r的值重新計(jì)算即可。
線段緩沖區(qū)。判斷某要素點(diǎn)T(xt,yt)是否在線段AB半徑為r 的緩沖區(qū)內(nèi),A、B的坐標(biāo)分別為(x1,y1),(x2,y2),將要素坐標(biāo)代入公式(2)中得到,若不等式成立,則要素點(diǎn)T在線段AB的緩沖區(qū)內(nèi);若不成立,則要素點(diǎn)T在線段AB的緩沖區(qū)外。
表2 聯(lián)網(wǎng)聯(lián)控?cái)?shù)據(jù)樣例表
曲線緩沖區(qū)。曲線Q(P1,P2,…Pn),判斷某要素點(diǎn)T(xt,yt)是否在曲線半徑為r的緩沖區(qū)內(nèi)時,需要將要素坐標(biāo)代入曲線所有子線段(Pt,Pt+1,t=1,2,…,n-1)的緩沖區(qū)不等式中進(jìn)行判斷,只要有一個不等式成立,則要素點(diǎn)T在曲線Q的緩沖區(qū)內(nèi),反之則不在曲線Q的緩沖區(qū)內(nèi)。
道路客運(yùn)線路經(jīng)停點(diǎn)精準(zhǔn)識別與動態(tài)時刻表生成主要分為線路(班次)行駛軌跡精準(zhǔn)識別、客運(yùn)站精準(zhǔn)位置提取和動態(tài)時刻表生成3個步驟,具體的技術(shù)路線圖如圖8所示:
(1)根據(jù)車輛班次表中的車牌號信息,從聯(lián)網(wǎng)聯(lián)控GPS數(shù)據(jù)中提取車輛軌跡數(shù)據(jù)(如表2)。
(2)通過識別和剔除時間紊亂點(diǎn)、異常定位點(diǎn)、臨時停車點(diǎn)與長時停車點(diǎn),生成精確軌跡路線圖(見圖8)。
(1)依據(jù)原始車輛軌跡數(shù)據(jù)識別出長時間停車數(shù)據(jù),通過聚類算法匯總大量車輛數(shù)據(jù)提取共性停車位置,即客運(yùn)站(停車點(diǎn))位置。
圖8 道路客運(yùn)線路經(jīng)停點(diǎn)精準(zhǔn)識別與動態(tài)時刻表生成技術(shù)路線圖
圖9 線路行駛軌跡精準(zhǔn)識別與提取
具體步驟如下:
A)坐標(biāo)系轉(zhuǎn)換:將GPS定位數(shù)據(jù)從地理坐標(biāo)系轉(zhuǎn)換到投影坐標(biāo)系,便于后面步驟中的距離計(jì)算。
B)停車定位點(diǎn)篩選:從原始數(shù)據(jù)中篩選出速度零值點(diǎn),為了剔除一些偶發(fā)因素(定位設(shè)備誤差、臨時停車)導(dǎo)致的速度零值點(diǎn),添加距離、方向指標(biāo)作為篩選條件。
C)停車定位點(diǎn)聚類:使用改進(jìn)后的DB-SCAN 算法對步驟B)篩選出的停車定位點(diǎn)進(jìn)行分類,將高密度的定位點(diǎn)集劃分到同一類中,分類后得到若干個點(diǎn)簇,并剔除噪聲點(diǎn)。
D)聚類中心計(jì)算:對任一個點(diǎn)簇Ci,提取簇心Pi(XPi,YPi),并通過車牌號字段統(tǒng)計(jì)點(diǎn)簇包含的車輛數(shù)VNi,得到簇心集合S。
E)客運(yùn)站位置提?。簩中距離較近的簇心歸并到同一類中,得到S的多個子集Sk,使Sk中任意兩個簇心的距離不超過dc。合并Sk中的簇心,得到新的簇心(XSk,YSk),合并后剔除車輛數(shù)量小于Nmin或與道路中線距離小于dr的簇心,剩下的簇心即為客運(yùn)站。
(2)根據(jù)車站位置與班次經(jīng)停表數(shù)據(jù)庫、第三方電子地圖地名POI數(shù)據(jù)庫進(jìn)行比對(圖10),確認(rèn)各車站位置與班次經(jīng)停表中車站名稱的對應(yīng)關(guān)系,如表3所示。
圖10 電子地圖POI庫車站位置點(diǎn)
在確定班次各經(jīng)停站的名稱、位置的對應(yīng)關(guān)系后,即可根據(jù)班次軌跡計(jì)算道路客運(yùn)班次對應(yīng)的里程-時刻表格,即:
表3 車站名稱與經(jīng)緯度對應(yīng)表
按照班次行駛路線,每1分鐘記錄一個采樣點(diǎn),記錄經(jīng)緯度、計(jì)劃到達(dá)時刻、從起點(diǎn)出發(fā)的行駛時間、從起點(diǎn)出發(fā)行駛里程及該點(diǎn)對應(yīng)的經(jīng)停站在數(shù)據(jù)庫中生成特定班次對應(yīng)的里程-時刻表格(見表4)。
表4 班次里程—時刻表
該方法實(shí)現(xiàn)軌跡與車站位置點(diǎn)的匹配,使用準(zhǔn)確的采樣方法計(jì)算班次時刻-里程表,并可通過同一班次對應(yīng)的多日車輛軌跡數(shù)據(jù)的整合減少不確定因素影響,提高班次時刻-里程表的精度。
獲取旅客在途位置可通過兩種途徑:一是根據(jù)用戶前端(手機(jī)等)GPS定位數(shù)據(jù)獲取用戶實(shí)時空間位置(經(jīng)緯度信息)。二是根據(jù)用戶購票訂單信息建立用戶與特定車次的關(guān)系,再通過班次信息獲取運(yùn)營車輛的車牌號碼(圖11),之后通過前文所述的重點(diǎn)營運(yùn)車輛聯(lián)網(wǎng)聯(lián)控系統(tǒng)GPS實(shí)時數(shù)據(jù)數(shù)據(jù)接口獲取對應(yīng)車牌車輛的實(shí)時位置,從而獲取旅客實(shí)時位置。
圖11 用戶訂票信息與班次時刻表信息與軌跡關(guān)聯(lián)
(1)獲取旅客在途位置后,根據(jù)依照票務(wù)信息關(guān)聯(lián)到的班次數(shù)據(jù),查詢對應(yīng)班次的動態(tài)里程-時刻表(見表2,圖11)。
(2)利用勾股法計(jì)算動態(tài)里程-時刻表中與當(dāng)前位置最接近的記錄,設(shè)當(dāng)前點(diǎn)位置(Xc,Yc),即在動態(tài)里程-時刻表中查找點(diǎn)(Xi,Yi),使 ΔDc-i=[(Xc-Xi)2+(Yc-Yi)2]1/2為最小,即可確定車輛當(dāng)前在班次軌跡上的位置。
(3)之后根據(jù)點(diǎn)(Xi,Yi)對應(yīng)的時刻和車輛行駛里程數(shù)據(jù),與動態(tài)里程-時刻表中計(jì)劃到達(dá)站的時刻和車輛行駛里程數(shù)據(jù)比較,即可計(jì)算得到車輛到達(dá)特定目的地站點(diǎn)的時間。同時,還可以根據(jù)乘客需要,在車輛到達(dá)目的地站點(diǎn)前的一定時間(或里程),向旅客發(fā)送提醒信息(圖12)。
圖12 車輛到達(dá)時間計(jì)算及旅客到站提醒
通過以上方法,在GPS車載機(jī)采集的數(shù)據(jù)可以覆蓋車輛運(yùn)營軌跡的情況下,即可精確獲取車輛的動態(tài)里程-時刻表,并根據(jù)該表格計(jì)算旅客的精確在途位置并預(yù)測其到達(dá)時間。同時,系統(tǒng)可通過同一班次對應(yīng)的多日車輛軌跡數(shù)據(jù)的整合減少不確定因素及軌跡數(shù)據(jù)缺失的影響,提高班次時刻-里程表的精度與可信度。
在此基礎(chǔ)上,作者將建立獲取無車牌信息的班次時刻-里程表的機(jī)制:根據(jù)經(jīng)停站位置,對無車牌信息的班次數(shù)據(jù)進(jìn)行分析,根據(jù)軌跡數(shù)據(jù)推算出其對應(yīng)的車牌號,繪制無車牌信息班次的線路軌跡、無位置數(shù)據(jù)經(jīng)停站位置及時刻-里程表。從而進(jìn)一步通過已獲得的經(jīng)停站位置數(shù)據(jù),對全部班線客運(yùn)車輛數(shù)據(jù)進(jìn)行篩選,獲得軌跡與已知班次經(jīng)停站位置相匹配的車輛車牌號,即確定無車牌信息的班次對應(yīng)運(yùn)營車輛的車牌號信息,實(shí)現(xiàn)全部班次時刻-里程表的計(jì)算與輸出。■