蔡 珊
(同濟(jì)大學(xué) 軟件學(xué)院,福建 廈門361012)
一種復(fù)雜線路快速判斷超速的方法,先確定車輛在眾多線路的哪條線路的范圍內(nèi),然后在本條線路所在的區(qū)域內(nèi)精確確定是否在這條線路上,然后檢測(cè)是否在線路內(nèi)存在超速的情況,本發(fā)明在針對(duì)上千點(diǎn)的路段進(jìn)行判斷時(shí),更靈活適應(yīng),對(duì)線路拐點(diǎn)的判斷更迅速,對(duì)于線路變化和限速值的改變可以快速響應(yīng)判斷。
隨著經(jīng)濟(jì)全球化的發(fā)展,通信領(lǐng)域也向著現(xiàn)代化方向迅速發(fā)展。各種基于GPS(全球定位系統(tǒng))的車載終端設(shè)備,也在廣泛使用。根據(jù)國(guó)家交通部要求,很多車輛都要安裝車載GPS設(shè)備,主要實(shí)現(xiàn)車輛的監(jiān)控和管理。監(jiān)管部門需要了解車輛的位置和違規(guī)等數(shù)據(jù),車輛在道路上行駛要特別注意安全事項(xiàng),尤其超速。而實(shí)際道路復(fù)雜且限速值不一致。車載GPS終端無論是從網(wǎng)絡(luò)獲得到的地圖信息還是本地存儲(chǔ)的地圖信息,都可以提取出道路的每一條線路的各個(gè)拐點(diǎn)的經(jīng)緯度,根據(jù)實(shí)際情況的復(fù)雜性,線路的拐點(diǎn)數(shù)由幾十到上千不等。車載GPS終端將這些拐點(diǎn)的經(jīng)緯度信息、所規(guī)定的限速值和道路寬度作為車輛是否超速判斷的數(shù)據(jù)。
傳統(tǒng)車載GPS設(shè)備在判斷車輛是否在某一條線路時(shí)常常是進(jìn)行當(dāng)前GPS點(diǎn)和地圖上的所有限速線路的全部遍歷,這種遍歷算法簡(jiǎn)單占用系統(tǒng)資源很高,對(duì)系統(tǒng)處理速度要求較高,運(yùn)算時(shí)間也相對(duì)會(huì)慢。
本方法的目的在于提供一種復(fù)雜線路快速判斷超速的方法,能在復(fù)雜線路、復(fù)雜限速值的情況下,迅速判斷車輛的超速狀態(tài),及時(shí)提醒司機(jī)和為監(jiān)管部門提供準(zhǔn)確快速的處罰數(shù)據(jù),占用系統(tǒng)資源少,對(duì)系統(tǒng)處理速度要求不高,且運(yùn)算時(shí)間快。
一種復(fù)雜線路快速判斷超速的方法,具體包括如下步驟:
步驟1:從地圖中抽稀出每條線路中拐點(diǎn)的經(jīng)緯度數(shù)據(jù)、道路寬度數(shù)據(jù)以及每條線路的限速值;將每條線路中的拐點(diǎn)作為各首尾相接的線段的端點(diǎn),將每條線路中的拐點(diǎn)分成N組進(jìn)行管理,該N組拐點(diǎn)形成N個(gè)子線段;
車載GPS終端具有GPS定位功能、無線數(shù)據(jù)收發(fā)功能、音頻錄播等功能。車輛實(shí)際行駛的道路有很多條,每條道路都有成百上千甚至更多的拐點(diǎn),這些拐點(diǎn)連接在一起就組成了一條完整的道路,車輛要判斷自己所在的具體位置就要管理這些拐點(diǎn)的經(jīng)緯度信息。而每條道路有自己的路寬和限速值,這些信息同樣要在車載GPS終端上保存。而如果把這些信息全部存儲(chǔ)在車載GPS終端,就需要終端有很大的存儲(chǔ)空間,而大的數(shù)據(jù)同時(shí)也影響了運(yùn)算的速度,所以需要進(jìn)行抽稀,提取必要的拐點(diǎn)、路寬和限速值。然后將每條線路的拐點(diǎn)作為各首尾相接的線段的端點(diǎn),將每條線路中的拐點(diǎn)分成N組進(jìn)行管理,該N組拐點(diǎn)形成N個(gè)子線段。
步驟2:計(jì)算每組子線路的外接矩形;
每一組子線路要達(dá)到快算判斷的目的,就需要進(jìn)行一種更簡(jiǎn)單的運(yùn)算,所以我們找到他們的外接矩形就可以大概確定他們的范圍。這樣就相當(dāng)于車載GPS終端在查找車輛當(dāng)前的路線時(shí),先找到N個(gè)外接矩形,而這個(gè)計(jì)算量相當(dāng)小。
步驟3:將每條線路中的所有子線路外接矩形信息、道路寬度數(shù)據(jù)、限速值以文件的形式存儲(chǔ)在車載GPS終端中,作為判斷是否超速的計(jì)算依據(jù);若地圖數(shù)據(jù)和限速值等信息更新,只要更新對(duì)應(yīng)的子線路的相應(yīng)信息即可;
為了減少對(duì)車載GPS存儲(chǔ)空間的要求,以及提高運(yùn)算速度,我們進(jìn)行了抽稀。為了方便數(shù)據(jù)的更新,又進(jìn)行了N個(gè)外接矩形的管理。
步驟4:車輛開始GPS定位及導(dǎo)航時(shí),遍歷已經(jīng)被拆分成多個(gè)子線路的外接矩形,定時(shí)輪詢并判斷車輛是否在該些外接矩形內(nèi)。
步驟5:當(dāng)車輛開始進(jìn)入任意一個(gè)外接矩形后,開始判斷車輛當(dāng)前位置至外接矩形內(nèi)的所有子線段的距離,當(dāng)距離小于道路寬度時(shí),判斷該車輛在該外接矩形所對(duì)應(yīng)的路線上,開始依據(jù)該線路相關(guān)的限速值判斷車輛當(dāng)前速度是否在預(yù)警和報(bào)警范圍,若不在,則繼續(xù)判斷車輛和外接矩形內(nèi)所有線段的距離是否小于道路寬度。
車輛同時(shí)具有無線傳輸和音頻播放的功能,這樣可以進(jìn)行提前預(yù)警對(duì)司機(jī)進(jìn)行語(yǔ)音提示,超速后進(jìn)行違規(guī)提示,同時(shí)上傳給管理平臺(tái),達(dá)到對(duì)超速的考核和處罰等管理。

圖1 工作原理示意圖
一種復(fù)雜線路快速判斷超速的方法,具體進(jìn)行如下步驟:
步驟1:從地圖中抽稀出每條線路中拐點(diǎn)的經(jīng)緯度數(shù)據(jù)、道路寬度數(shù)據(jù)以及每條線路的限速值;
將每條線路中的拐點(diǎn)作為各首尾相接的線段的端點(diǎn),將這些拐點(diǎn)進(jìn)行合理分配,例如一條大路的拐點(diǎn)有1000個(gè),將這些拐點(diǎn)分成N組進(jìn)行管理,該N組拐點(diǎn)形成N個(gè)子線段。
步驟2:計(jì)算每條子線路的外接矩形。
步驟3:將每條線路中的所有子線路外接矩形信息、道路寬度數(shù)據(jù)、限速值以文件的形式存儲(chǔ)在車載GPS終端中,作為判斷是否超速的計(jì)算依據(jù);若地圖數(shù)據(jù)和限速值等信息更新,只要更新對(duì)應(yīng)的子線路的相應(yīng)信息即可。
步驟4:車輛開始GPS定位及導(dǎo)航時(shí),遍歷已經(jīng)被拆分成多個(gè)子線路的外接矩形,定時(shí)輪詢并判斷車輛是否在該些外接矩形內(nèi)。
步驟5:當(dāng)車輛開始進(jìn)入任意一個(gè)外接矩形后,開始判斷車輛當(dāng)前位置至外接矩形內(nèi)的所有子線段的距離,當(dāng)距離小于道路寬度時(shí),判斷該車輛在該外接矩形所對(duì)應(yīng)的路線上,開始依據(jù)該線路相關(guān)的限速值判斷車輛當(dāng)前速度是否在預(yù)警和報(bào)警范圍,同時(shí)進(jìn)行語(yǔ)音提示和上報(bào)監(jiān)控系統(tǒng),若不在,則繼續(xù)判斷車輛和外接矩形內(nèi)所有線段的距離是否小于道路寬度。
如圖1所示,由CAR-0——CAR-1——CAR-2——CAR-3表示車輛行車路線,A、B、C是三個(gè)線路,1-N是A線路的拐點(diǎn),N-M是B線路的拐點(diǎn),M-Q是C線路的拐點(diǎn);L1、L2、L3是車輛到線路的距離;如圖1所示,CAR-0不在任何一條線路的外接矩形內(nèi),定時(shí)輪詢并判斷CAR-0是否落入任意一個(gè)外接矩形內(nèi),直到發(fā)現(xiàn)車輛進(jìn)入某一外接矩形,此計(jì)算只涉及到數(shù)據(jù)大小比較的計(jì)算。當(dāng)車輛開始進(jìn)入任意一個(gè)外接矩形后,開始判斷車輛當(dāng)前位置和外接矩形內(nèi)的所有子線段的距離,此計(jì)算只涉及到點(diǎn)到線的距離計(jì)算,當(dāng)距離小于道路寬度時(shí),判斷該車輛在該外接矩形所對(duì)應(yīng)的路線上,開始依據(jù)該線路相關(guān)的限速值判斷車輛當(dāng)前速度是否在預(yù)警和報(bào)警范圍,同時(shí)進(jìn)行語(yǔ)音提示和上報(bào)監(jiān)控系統(tǒng)。當(dāng)判斷到車輛在這條線路的某段線段后,按照車輛的行駛軌跡,接下來為了更高的提高判斷效率,只需要判斷和這條線段相鄰的幾個(gè)線段就好(可以選取3-5個(gè))。這樣一次的輪詢時(shí)間就更快了,計(jì)算量也大大減小。
當(dāng)CAR-1行駛進(jìn)入A路線的外接矩形時(shí),開始計(jì)算CAR-1至A路線所有子線段的距離,當(dāng)L1fflt;=道路路寬值時(shí),判斷車輛在A路線內(nèi);當(dāng)CAR-2行駛進(jìn)入B路線的矩形時(shí),開始計(jì)算CAR-2和B路線所有線段的距離,當(dāng)任何一個(gè)L2ffgt;道路路寬值時(shí),判斷車輛不在B線路內(nèi);超時(shí)后車輛還是不在B線路內(nèi),則從C所在的外接矩形開始判斷車輛是不是進(jìn)入了C線路內(nèi)……依此類推。
采用本技術(shù)方法后,先確定車輛在眾多線路的哪條線路的范圍內(nèi),然后在本條線路所在的區(qū)域內(nèi)精確確定是否在這條線路上,然后檢測(cè)是否在線路內(nèi)存在超速的情況。這樣針對(duì)上千點(diǎn)的路段進(jìn)行判斷時(shí),更靈活適應(yīng),對(duì)線路拐點(diǎn)的判斷更迅速,對(duì)于線路變化和限速值的改變可以快速響應(yīng)判斷。
本方法可以延伸使用到其他環(huán)境,例如一種車載廣告功能我們暫且稱它為定點(diǎn)廣告。車載流媒體終端可以結(jié)合位置進(jìn)行定點(diǎn)的廣告的發(fā)布。