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