(成都理工大學(xué) 四川 成都 610059)
基于特征標(biāo)志識別的室內(nèi)定位方法設(shè)計與實現(xiàn)
楊盼
(成都理工大學(xué)四川成都610059)
伴隨經(jīng)濟(jì)高速發(fā)展,大型購物商場越來越多地出現(xiàn)在人們的生活中。而商場導(dǎo)覽、導(dǎo)航、導(dǎo)購及停車場尋車等許多基于位置服務(wù)(LBS)卻無法由室外定位手段中最常見的GPS在室內(nèi)環(huán)境中提供。本文研究基于特征標(biāo)志識別的室內(nèi)定位方法,在Android移動平臺上,用Java編程語言實現(xiàn)配合特征標(biāo)志能夠進(jìn)行精確定位的方法。
Android;室內(nèi)定位方法;二維碼識別
隨著信息技術(shù)的不斷發(fā)展,出現(xiàn)了GPS(Global Positioning System)定位和導(dǎo)航系統(tǒng)。在室外的環(huán)境中,GPS定位導(dǎo)航系統(tǒng)可以進(jìn)行很精確的定位和導(dǎo)航,但是在室內(nèi)環(huán)境中,由于GPS衛(wèi)星信號無法穿透建筑的墻壁,因此在室內(nèi)的環(huán)境中無法使用GPS定位導(dǎo)航系統(tǒng)。另一方面,在室內(nèi)環(huán)境中進(jìn)行定位,除了要計算平面坐標(biāo)之外,還需要考慮定位點的高度,在室內(nèi)的環(huán)境中,如果高度定位相差幾米,就可能隔了一個樓層。因此相比與室外導(dǎo)航,在室內(nèi)導(dǎo)航中,定位的精度要求更高,這也限制了GPS定位導(dǎo)航系統(tǒng)在室內(nèi)環(huán)境中的應(yīng)用。
室內(nèi)定位技術(shù)的出現(xiàn)主要是為了解決由于GPS室外定位技術(shù)中所使用的衛(wèi)星信號不能穿透建筑物而導(dǎo)致不可用的問題,必須要采用全新的定位技術(shù)來進(jìn)行室內(nèi)定位。
基于特征標(biāo)志識別的室內(nèi)定位技術(shù)是指通過解析獲取到特征標(biāo)志的信息從而確定位置的一種定位技術(shù)。其具體流程為:首先在室內(nèi)場景中布設(shè)足夠密度的特征標(biāo)志,并將每一個特征標(biāo)志的位置信息記錄到系統(tǒng)文件中,然后在室內(nèi)環(huán)境中利用終端獲取鄰近位置的特征標(biāo)志,通過解析獲取到的特征標(biāo)志并結(jié)合系統(tǒng)數(shù)據(jù),確定該特征標(biāo)志在室內(nèi)環(huán)境中的具體位置,從而完成定位。
(一)特征標(biāo)志的設(shè)計
系統(tǒng)定位功能的實現(xiàn)是以特征標(biāo)志的識別為基礎(chǔ)的,特征標(biāo)志的選取關(guān)系著特征標(biāo)志識別的準(zhǔn)確度、速度,進(jìn)而影響到系統(tǒng)定位功能體驗的好壞。本文所選擇的特征標(biāo)志為二維碼。
圖1 二維碼示例
由于系統(tǒng)是通過解析二維碼來進(jìn)行定位的,所以在設(shè)計二維碼時,二維碼所包含的信息必須要能定位到具體的點位。根據(jù)建筑物的實際情況,想要在電子地圖中定位到一個具體的點位,必須要有這個點位的樓層號和坐標(biāo)。所以本系統(tǒng)設(shè)計的二維碼信息為樓層和點號,具體的坐標(biāo)是利用點號和系統(tǒng)存儲的二維碼坐標(biāo)文件來確定的。
(二)數(shù)據(jù)采集
特征標(biāo)志點位坐標(biāo)的采集是利用地圖底圖來進(jìn)行的。點位坐標(biāo)系以像素為長度單位,坐標(biāo)原點為圖片的左上頂角,向下為Y軸的正方向,向右為X軸的正方向。
圖2 二維碼點坐標(biāo)
在進(jìn)行二維碼數(shù)據(jù)采集的時候,先將所有需要放置二維碼的地點記錄下來,并找到其電子地圖上所對應(yīng)的點。再將所有電子地圖上的二維碼點位進(jìn)行編號,編號是從0開始的,然后根據(jù)編號的大小依次采集所有點位的坐標(biāo),并將采集到的點位坐標(biāo)信息存放在ewm_zb這個文件中。
(三)數(shù)據(jù)儲存
數(shù)據(jù)存儲采用的是文檔型的存儲方式(圖2所示),內(nèi)容是儲存樓層中二維碼點位的坐標(biāo),每一行為一個點位的坐標(biāo)。編號從0開始,此處將編號隱藏了,可通過坐標(biāo)的個數(shù)來計算編號。
(四)基于特征標(biāo)志識別的定位功能的設(shè)計與實現(xiàn)
定位功能是通過基于識別特征標(biāo)志所含的信息并匹配系統(tǒng)數(shù)據(jù)來獲取用戶當(dāng)前的位置信息,并在地圖上進(jìn)行標(biāo)定的功能。
本系統(tǒng)中的定位功能由用戶調(diào)用,其具體實現(xiàn)需要依賴電子地圖和二維碼解析模塊。本功能解析二維碼時使用的是一個條形碼識別庫ZXing。ZXing是一個開源的Java類庫,用于多種碼制的條碼的編碼和解析。ZXing不僅支持條碼格式多種多樣,而且還支持各種語言的實現(xiàn),包括:Java、C++和C#等。
圖3 系統(tǒng)定位結(jié)果
圖4 系統(tǒng)定位流程圖
定位功能的使用需要提前在使用的區(qū)域內(nèi)布設(shè)若干的二維碼標(biāo)志,并將這些二維碼標(biāo)志的編號和坐標(biāo)信息記錄在系統(tǒng)的二維碼坐標(biāo)文件中(步驟二與三)。當(dāng)用戶使用定位按鈕向系統(tǒng)發(fā)出定位請求后,系統(tǒng)接收請求并調(diào)用二維碼解析模塊,二維碼解析模塊調(diào)用系統(tǒng)照相機(jī)獲取當(dāng)前的二維碼圖像后使用相關(guān)函數(shù)解析出此二維碼所包含的文本信息,并將二維碼中的文本信息返回給系統(tǒng),系統(tǒng)通過遍歷二維碼坐標(biāo)文件獲取到此二維碼編號對應(yīng)的位置坐標(biāo),并通過電子地圖功能在地圖上將這個點描繪出來,這就完成了定位。如圖3所示,圖中紅點所示的位置就是通過定位功能得到的當(dāng)前位置。
定位的具體流程如圖4所示。
基于特征標(biāo)志識別的定位技術(shù)只需要解析獲取到的二維碼并通過讀取本地二維碼坐標(biāo)文件便可以完成定位。定位信息獲取快速,計算量小,定位速度快、精度高。而且該定位技術(shù)從二維碼的獲取到解析再到二維碼坐標(biāo)數(shù)據(jù)的匹配都是在移動終端中進(jìn)行的,不受通訊信號的限制,在地下停車場等這種通訊信號相對較弱的區(qū)域也可以很快的完成高精度的定位,是一種十分適合在室內(nèi)進(jìn)行定位的技術(shù)。
[1]趙軍,李鴻斌,王智.無線網(wǎng)絡(luò)室內(nèi)定位系統(tǒng)研究[J].信息與控制,2008,04:465-471.
[2]汪苑,林錦國.幾種常用室內(nèi)定位技術(shù)的探討[J].中國儀器儀表,2011,02:54-57.
[3]黨李成.基于Google Android智能手機(jī)平臺的研究與應(yīng)用[D].安徽大學(xué),2010.
楊盼(1993-),男,漢族,湖南岳陽市人,測繪工程碩士,成都理工大學(xué),研究方向工程測量。