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

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