程鵬,董亞波,陳宇峰
(1.湖北汽車工業(yè)學(xué)院 電氣與信息工程學(xué)院,湖北 十堰 442002;2.浙江大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,浙江 杭州 310027)
面向交通安全信息主動(dòng)推送的POI檢索設(shè)計(jì)與實(shí)現(xiàn)
程鵬1,董亞波2,陳宇峰1
(1.湖北汽車工業(yè)學(xué)院 電氣與信息工程學(xué)院,湖北 十堰 442002;2.浙江大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,浙江 杭州 310027)
設(shè)計(jì)并實(shí)現(xiàn)了交通安全信息主動(dòng)推送系統(tǒng),根據(jù)車輛位置,通過手機(jī)終端將高速公路上的道路交通安全信息主動(dòng)推送給駕駛員。為滿足推送需求設(shè)計(jì)并實(shí)現(xiàn)了一種基于地圖投影的興趣點(diǎn)(Point of Interest,POI)檢索算法。首先分析了基于位置服務(wù)(Location Based Service,LBS)云檢索的工作模式,在此基礎(chǔ)上提出一種G_Cell算法,該算法利用高斯投影原理將地圖網(wǎng)格化,實(shí)現(xiàn)了一種基于位置服務(wù)的POI檢索算法。實(shí)驗(yàn)結(jié)果表明:所提出的G_Cell算法比直接計(jì)算兩點(diǎn)之間的距離算法更穩(wěn)定、有效。
POI檢索;高斯變換;位置信息服務(wù);地圖投影
基于位置信息推送服務(wù)是指移動(dòng)終端通過各種定位技術(shù)獲得當(dāng)前的位置信息,再利用移動(dòng)網(wǎng)絡(luò)將這些信息發(fā)送給服務(wù)提供商,服務(wù)商根據(jù)用戶的位置信息及需求為用戶提供個(gè)性化推送服務(wù)[1]。針對駕駛員因無法獲取交通安全信息而影響出行甚至產(chǎn)生交通事故的情況,設(shè)計(jì)了“交通安全信息主動(dòng)推送系統(tǒng)”,根據(jù)車輛位置,通過手機(jī)終端將高速公路上的道路交通安全信息主動(dòng)推送給駕駛員。其中交通安全信息包括設(shè)施風(fēng)險(xiǎn)、路網(wǎng)狀態(tài)指數(shù)、擁堵信息、道路養(yǎng)護(hù)、道路管制、交通事故、惡劣天氣等。高速公路上提醒標(biāo)牌的間距為2 km,因此文中設(shè)置檢索范圍為2 km。為了準(zhǔn)確地將交通安全信息推送給用戶,除了需要考慮推送范圍外,還需判斷車輛的行駛方向是否正在靠近交通安全信息所在位置。如果車輛位于推送范圍內(nèi),但是車輛的行駛方向正在遠(yuǎn)離交通安全信息所在位置,那么交通安全信息不予播報(bào)。為了減少推送平臺的計(jì)算壓力、增加推送效率,將車輛行駛方向是否正在靠近交通安全信息所在位置的判斷放在手機(jī)終端。平臺端只用判斷交通安全信息是否在行駛車輛的2 km范圍內(nèi)。車輛通過手機(jī)終端上傳其經(jīng)緯度信息給服務(wù)器,當(dāng)交通安全信息所對應(yīng)的事件位于車輛2 km范圍內(nèi)則將該事件信息通過手機(jī)終端主動(dòng)推送給駕駛員。這需要根據(jù)車輛的實(shí)時(shí)位置,查找其2 km范圍內(nèi)的事件點(diǎn),實(shí)現(xiàn)基于位置信息的POI檢索。系統(tǒng)中,為實(shí)現(xiàn)實(shí)時(shí)性,車輛每隔10 s上傳一次位置信息,同時(shí)進(jìn)行一次檢索運(yùn)算。
現(xiàn)有的基于位置信息POI檢索是根據(jù)用戶輸入的關(guān)鍵字,搜索和該關(guān)鍵字相關(guān)的POI,按照和用戶輸入字符串的匹配程度,由高到低把這些POI呈現(xiàn)給用戶[2]。高速公路上車輛在高速行駛,需要將車輛2 km范圍內(nèi)的交通安全信息及時(shí)、主動(dòng)推送給駕駛員。如果駕駛員利用手機(jī)終端手動(dòng)輸入關(guān)鍵字的方法來檢索2 km范圍內(nèi)的交通安全信息,那么這個(gè)手動(dòng)輸入的過程會(huì)造成交通安全信息推送不及時(shí),并且不利于駕駛員安全駕駛。因此這種通過關(guān)鍵字來實(shí)現(xiàn)POI檢索的模式不適合應(yīng)用在文中高速公路的場景。基于此,文中首先提出利用高斯投影實(shí)現(xiàn)POI檢索,但是這種算法面臨著大量的指數(shù)運(yùn)算。因此,在高斯投影的基礎(chǔ)上做出改進(jìn),并針對本系統(tǒng)的實(shí)際需求提出了G_Cell算法。
圖1 POI檢索算法框圖
圖2 檢索矩形
面向交通安全信息主動(dòng)推送的POI檢索算法如圖1所示。檢索算法決定了在手機(jī)終端推送事件點(diǎn)信息的條件。當(dāng)終端位于事件點(diǎn)信息2 km的范圍內(nèi),則將事件點(diǎn)信息推送給手機(jī)終端。為了便于設(shè)計(jì),采用邊長為4 km的矩形來代替直徑為4 km的圓。該系統(tǒng)接收手機(jī)終端的經(jīng)緯度信息設(shè)為點(diǎn)A,將點(diǎn)A輸入到推送算法模塊中,其輸出是一個(gè)以點(diǎn)A為質(zhì)心、邊長為4 km的檢索矩形,如圖2所示。點(diǎn)A是手機(jī)終端的位置,其經(jīng)緯度信息是經(jīng)過手機(jī)終端上傳得到的。通過推送算法模塊可以得到點(diǎn)B~E的經(jīng)緯度。此時(shí)可以利用點(diǎn)B~E構(gòu)成的檢索矩形在交通安全信息數(shù)據(jù)庫中檢索駕駛員所需要的事件點(diǎn)信息,如果駕駛員所需要的事件點(diǎn)信息的經(jīng)緯度處于檢索矩形的范圍內(nèi),則將該事件點(diǎn)信息推送給手機(jī)終端。
推送算法流程如圖3所示。其中高斯正算的功能是將手機(jī)終端的經(jīng)緯度坐標(biāo)轉(zhuǎn)換成平面坐標(biāo);檢索矩形構(gòu)造模塊是在平面坐標(biāo)系中利用點(diǎn)A的位置,結(jié)合點(diǎn)B~E的方位角以及它們與點(diǎn)A的距離,算出點(diǎn)B~E的平面坐標(biāo);高斯反算的功能是將點(diǎn)B~E的平面坐標(biāo)轉(zhuǎn)換成經(jīng)緯度坐標(biāo)。事件檢索的功能是利用點(diǎn)B~E的坐標(biāo)從交通安全信息數(shù)據(jù)庫中檢索車輛2 km范圍內(nèi)的事件信息。
圖3 推送算法流程圖
檢索算法中高斯正反算理論基礎(chǔ)為高斯投影。
所謂地圖投影就是將橢球面上的元素點(diǎn)、線、面按照一定的條件投影到平面上[3]。由于地球是一個(gè)不可展曲面,所以在投影過程中會(huì)產(chǎn)生投影變形。投影變形分為長度變形、角度變形、面積變形,對應(yīng)的投影方式為等長投影、等角投影、等積投影。
等角投影主要有2個(gè)性質(zhì)[4]:1)保角性,即投影前后角度保持不變;2)伸長的固定性,即投影前后長度的變化是固定的,這種變化是按照一定的比例關(guān)系發(fā)生變化的。我國在實(shí)際測量中采用等角投影正是基于此,既可以保證小范圍內(nèi)的圖形在投影前后是相似的,又可以免去大量的角度投影換算工作,文中介紹的高斯投影為等角投影的一種。
地球旋轉(zhuǎn)橢球面是一個(gè)不可展曲面,根據(jù)高斯投影的保角性,地球旋轉(zhuǎn)橢球面在展開成平面的過程中,需要借助一個(gè)可展曲面如圖4所示。想象有一個(gè)橢球柱面套在地球旋轉(zhuǎn)橢球面外面,而且與地球橢球面的某一子午線相切,這條子午線稱為中央子午線,橢圓柱的中心軸通過橢球體中心,然后利用中心投影的方法,將中央子午線兩側(cè)一定范圍內(nèi)的區(qū)域投影到橢圓柱面上,再將這個(gè)橢圓柱面沿著母線展開即高斯投影面[5]。在投影過程中,被投影的圖形會(huì)產(chǎn)生形變,離中央子午線越遠(yuǎn)形變就越大[2]。利用高斯投影將地球旋轉(zhuǎn)橢球面這樣一個(gè)不可展曲面投影到平面。
圖4 高斯投影示意圖
為了解決離中央子午線越遠(yuǎn)形變越大的問題,提出了分帶投影的概念。分帶投影,即按照一定的經(jīng)差,利用經(jīng)線將投影面分成若干個(gè)投影帶,如按照6°經(jīng)差,可以把全球分成60個(gè)區(qū)域,按照3°經(jīng)差,可以把全球劃分成120個(gè)區(qū)域[6]。然后按照各投影帶分別獨(dú)立進(jìn)行高斯投影。文中按照6°經(jīng)差進(jìn)行劃分,那么整個(gè)橢球分成60個(gè)投影帶,編號為1~60。投影分布圖如圖5所示。
文中采用6°帶劃分,選取其中一個(gè)投影帶如圖6所示。由圖6可知,正形投影有如下特征[7]:1)中央子午線和赤道投影后為一條直線,并且保持相互垂直,體現(xiàn)了正形投影的保角性;2)除中央子午線和赤道外,其他經(jīng)線和緯線均為曲線;3)位于中央子午線兩側(cè)的經(jīng)線,在經(jīng)差相等的情況下,這2條經(jīng)線的投影是關(guān)于中央子午線的投影是對稱的。
圖5 投影分布圖
圖6 投影帶圖
根據(jù)上述正形投影必須滿足的3個(gè)條件推導(dǎo)出高斯正算的公式為[8]
高斯反算公式為
式中:X為緯度B對應(yīng)的子午線弧長,m;N為所求點(diǎn)對應(yīng)的卯酉子午線半徑;B和l單位為rad。
以圖2中點(diǎn)A為例,先根據(jù)式(1)~(2)將點(diǎn)A的經(jīng)緯度坐標(biāo)轉(zhuǎn)化成平面坐標(biāo),再根據(jù)點(diǎn)B~E與點(diǎn)A的距離以及方位角算出點(diǎn)B~E的平面坐標(biāo),最后根據(jù)式(3)~(4)算出點(diǎn)B~E的經(jīng)緯度坐標(biāo)。
高斯正反算所涉及的式(1)~(4)需要進(jìn)行指數(shù)運(yùn)算,耗時(shí)較多。如果服務(wù)器每隔10 s計(jì)算運(yùn)行一次上述公式,消耗了服務(wù)器資源同時(shí)又增加了服務(wù)器的響應(yīng)時(shí)間?;诖?,提出基于地圖網(wǎng)格化的G_Cell檢索算法,將圓形區(qū)域檢索近似為矩形區(qū)域檢索,即將指數(shù)運(yùn)算用加減運(yùn)算來近似。
首先利用高斯投影原理計(jì)算出球面上不同位置2 km對應(yīng)經(jīng)度差和緯度差。經(jīng)緯度差值見表1。
然后利用經(jīng)緯度差值表來實(shí)現(xiàn)地圖網(wǎng)格化。球面經(jīng)緯網(wǎng)分如圖7所示。由于球面上每隔2 km對應(yīng)緯度差不變,經(jīng)度差與緯度相關(guān)。因此地圖網(wǎng)格劃分如下:緯度每相差1°視為1格,北緯20.5°和21.5°之間的區(qū)域W視為1格、北緯21.5°和北緯22.5°之間的區(qū)域S視為1格。以圖2中的點(diǎn)A為例,假設(shè)點(diǎn)A位于區(qū)域W內(nèi),由于球面上任意位置的緯度差相等,根據(jù)表1中2 km對應(yīng)的緯度差,可以計(jì)算出點(diǎn)B~E的緯度;點(diǎn)A位于圖中北緯20.5°和北緯21.5°的區(qū)域W內(nèi),首先將點(diǎn)A的緯度值四舍五入為21°,然后在表1中查找北緯21°帶2 km對應(yīng)的經(jīng)度差,可以計(jì)算出點(diǎn)B~E的經(jīng)度。
如表1所示,在球面上任何地方相差2 km的緯度差值是相等的。隨著緯度增加,對應(yīng)2 km的經(jīng)度差值在增加。當(dāng)終端位置的緯度不為整數(shù)的時(shí)候,采用四舍五入的方法,這樣做給經(jīng)度差的計(jì)算帶來誤差。通過實(shí)驗(yàn)數(shù)據(jù)分析,由四舍五入帶來的誤差從4°帶到53°帶依次遞增。4°帶最大誤差為0.01 km;53°帶最大誤差為0.048 km。而實(shí)際是要求手機(jī)終端在服務(wù)信息2 km的范圍內(nèi)完成推送。最高誤差為2%,滿足實(shí)際應(yīng)用要求。
表1 經(jīng)緯度差值表 (°)
圖7 球面經(jīng)緯網(wǎng)圖
為驗(yàn)證文中提出的面向交通安全信息主動(dòng)推送POI檢索的有效性,將該算法部署到服務(wù)器上進(jìn)行測試,服務(wù)器配置為64位Win7操作系統(tǒng)、4.00 GB內(nèi)存、1TB硬盤、CPU3.40GHz。先根據(jù)文中正形投影必須滿足的3個(gè)條件推導(dǎo)出式(1)~(2),然后計(jì)算表1中2km對應(yīng)的經(jīng)緯度差實(shí)現(xiàn)地圖網(wǎng)格化,最后利用地圖網(wǎng)格實(shí)現(xiàn)POI檢索算法;根據(jù)網(wǎng)格和車輛位置計(jì)算圖2中點(diǎn)B~E,再查詢數(shù)據(jù)庫中事件位置是否在該4個(gè)點(diǎn)所構(gòu)造的矩形中。
本算法與對照算法相比的效果如表2所示。對照算法是直接根據(jù)2點(diǎn)的經(jīng)緯度計(jì)算車輛與事件之間的距離,利用2點(diǎn)的經(jīng)緯度通過式(5)~(12)計(jì)算得到手機(jī)終端和事件的距離。
表2 算法效率對比表
表2數(shù)據(jù)表明:采用G_Cell算法的服務(wù)器響應(yīng)時(shí)間t1,采用直接計(jì)算2點(diǎn)之間距離算法的服務(wù)器響應(yīng)時(shí)間t2,隨著終端數(shù)量增多,t1與t2的比值越來越小,一方面說明了G_Cell算法的有效性,另一方面體現(xiàn)了G_Cell算法的穩(wěn)定性。
通過分析推送算法響應(yīng)時(shí)間發(fā)現(xiàn),當(dāng)手機(jī)終端的數(shù)量達(dá)到9 000個(gè)時(shí),響應(yīng)時(shí)間不到4 s。按極限情況來算,在高速公路上汽車以120 km·h-1行駛時(shí),車輛在4 s的時(shí)間內(nèi)行駛了0.13 km左右。按照手機(jī)終端在服務(wù)信息2 km的范圍內(nèi)完成推送要求,0.13 km的推送延時(shí)對用戶的體驗(yàn)影響并不大。
文中設(shè)計(jì)并實(shí)現(xiàn)了面向交通安全信息主動(dòng)推送的POI檢索,通過地圖網(wǎng)格化將基于高斯投影的指數(shù)運(yùn)算用基于地圖網(wǎng)格的加減運(yùn)算來近似。從服務(wù)器的響應(yīng)時(shí)間來分析,G_Cell算法能夠滿足同時(shí)在線的用戶數(shù)量小于10 000的推送需求。未來可以考慮將保存于數(shù)據(jù)庫中的事件按照位置劃分到緯度帶中,在檢索時(shí)僅檢索車輛位置所在緯度帶的事件,以減少檢索量。
[1]洪文菊,茍剛,薛現(xiàn)斌.基于位置服務(wù)的移動(dòng)GIS[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2017(4):1-3.
[2]劉希騫.基于Android手機(jī)定位系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].曲阜:曲阜師范大學(xué),2016:8-12.
[3]劉健,劉高峰.高斯-克呂格投影下的坐標(biāo)變換算法研究[J].計(jì)算機(jī)仿真,2005:1-3.
[4]陳成,金立新,李厚樸,等.等距離球面高斯投影[J].測繪通報(bào),2017(10):1-6.
[5]盛珍.基于Android平臺的LBS應(yīng)用系統(tǒng)開發(fā)技術(shù)研究[D].昆明:云南大學(xué),2012:21-24.
[6]胡圣武.對高斯投影分帶的研究[J].地理空間信息,2012,10(1):54-56.
[7]王守康.高斯正形投影平面直角坐標(biāo)系在工程測量中的應(yīng)用[J].甘肅科技,2014,30(16):31-32.
[8]高偉,吳文凱,袁超.高斯投影坐標(biāo)變換[J].鋼鐵技術(shù),2008(1):3-5.
Design and Implementation of POI Retrieval of Active Push System for Traffic Safety Information
Cheng Peng1,Dong Yabo2,Chen Yufeng1
(1.School of Electrical&Information Engineering,Hubei University of Automotive Technology,Shiyan 442002,China;2.College of Computer Science and Technology,Zhejiang University,Hangzhou 310027,China)
A Traffic Safety Message Pushing System was designed to push traffic safety information on the highways to the drivers through the terminal,based on the location of the vehicle.In order to push the information efficiently,POI(Point of Interest)searching algorithm based on map projection to the system were designed and applied.In the thesis,the work patterns of LBS(Location Based Service)cloud retrieval was analyzed firstly,and an algorithm of G_Cell was proposed based on the analysis.An LBS-Basing POI was achieved based on the map meshed by Gauss projection.The experiment results show that the proposed G_Cell algorithm is stable and effective than the direct calculation of the dis?tance between two points.
POI retrieval;Gaussian transformation;location information service;map projection
TP311.1
A
1008-5483(2017)04-0062-05
10.3969/j.issn.1008-5483.2017.04.014
2017-06-04
國家科技支撐計(jì)劃課題(2014BAG01B03);湖北省自然科學(xué)基金重點(diǎn)項(xiàng)目(2013CFA054);
湖北省自然科學(xué)基金項(xiàng)目(2014CFB287);湖北省教育廳科學(xué)技術(shù)研究計(jì)劃重點(diǎn)項(xiàng)目(D20141804);
汽車動(dòng)力傳動(dòng)與電子控制湖北省重點(diǎn)實(shí)驗(yàn)室開放基金(ZDK1201406)
程鵬(1991-),男,湖北黃岡人,碩士生,從事車聯(lián)網(wǎng)、汽車電子信息等方面的研究。E-mail:qcxy_cp@163.com
董亞波(1974-),男,浙江寧波人,博士,從事移動(dòng)計(jì)算、無線傳感網(wǎng)方面的研究。E-mail:dongyb@zju.edu.cn