在移動設(shè)備中處理旅游信息的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及移動設(shè)備的數(shù)據(jù)處理,特別涉及一種在移動設(shè)備中處理旅游信息的方法。
【背景技術(shù)】
[0002]近年來,智能移動設(shè)備軟硬件功能不斷提升,隨著移動通信與互聯(lián)網(wǎng)技術(shù)的迅猛發(fā)展,智能移動設(shè)備已成為人們工作生活必不可少的通訊及信息獲取工具。旅游作為一種休閑游樂的新型產(chǎn)業(yè),正走信息化高速發(fā)展道路,能隨時隨地獲取旅游相關(guān)信息已成為旅游者的迫切需求,傳統(tǒng)的通過計算機終端登錄旅游網(wǎng)站獲取信息的方式已不能滿足用戶需求,移動設(shè)備旅游與移動互聯(lián)網(wǎng)的結(jié)合應(yīng)運而生了移動設(shè)備旅游應(yīng)用軟件,是以移動設(shè)備為終端的移動互聯(lián)網(wǎng)技術(shù)在旅游服務(wù)中的應(yīng)用。然而現(xiàn)有的旅游相關(guān)應(yīng)用功能單一,并未充分利用羅盤、方向傳感器等傳感器功能,因此無法滿足用戶日益增長的真實漫游體驗和實用性要求。
【發(fā)明內(nèi)容】
[0003]為解決上述現(xiàn)有技術(shù)所存在的問題,本發(fā)明提出了一種在移動設(shè)備中處理旅游信息的方法,包括:
[0004]通過移動設(shè)備的傳感器獲取移動設(shè)備的三維定位信息;
[0005]當(dāng)移動設(shè)備未面向正上方時,根據(jù)用戶所調(diào)節(jié)的雷達半徑來獲取在當(dāng)前范圍內(nèi)的導(dǎo)航?目息;
[0006]當(dāng)移動設(shè)備面向正上方時,使用Google Maps Android API開發(fā)包對用戶進行地圖定位。
[0007]優(yōu)選地,所述獲取移動設(shè)備的三維定位信息,進一步包括:
[0008]通過移動設(shè)備上的GPS模塊取得瑋度、經(jīng)度和海拔,并以瑋度、經(jīng)度信息為參數(shù),獲取用戶當(dāng)前范圍內(nèi)的數(shù)據(jù),然后獲取羅盤上的方向信息,依據(jù)移動設(shè)備當(dāng)前的方向,從下載的數(shù)據(jù)中過濾符合當(dāng)前移動設(shè)備方向上的數(shù)據(jù),依據(jù)這些數(shù)據(jù)的經(jīng)瑋度和自身的位置計算出地面坐標系,依據(jù)重力傳感器獲得的傾角和仰角,把地面坐標系的坐標轉(zhuǎn)換成OSearth上的三維坐標系;
[0009]實時監(jiān)聽移動設(shè)備的當(dāng)前朝向,獲取當(dāng)前重力傳感器和羅盤的坐標數(shù)據(jù),通過這些數(shù)據(jù)獲取校正的旋轉(zhuǎn)矩陣,并將其傳遞到OSearth坐標中實時更新興趣點的信息;
[0010]在傳感器的注冊及監(jiān)聽過程中,在Google Maps Android API的onStart O方法中向SenorManager注冊重力傳感器和羅盤,向1cat1nManager注冊位置監(jiān)聽器;同時采用了 network和GPS的方法獲取經(jīng)瑋度;
[0011]在向OSearth三維坐標系的轉(zhuǎn)化過程中,在Android平臺上利用OSearth繪制物體,將傳感器數(shù)據(jù)矩陣映射到OSearth的三維坐標系中,當(dāng)傳感器數(shù)據(jù)變化時,在監(jiān)聽方法中獲得傳感器變化的數(shù)組,其中獲取到的羅盤數(shù)據(jù)的值是個數(shù)組,grav[0]、grav[l]、grav[2]分別表示加速度在x、y、z軸的負值,接著SensorManager調(diào)用getRotat1nMatrix函數(shù),將設(shè)備的坐標系統(tǒng)轉(zhuǎn)化為世界坐標系統(tǒng),用于矩陣正交運算,并將結(jié)果轉(zhuǎn)換成旋轉(zhuǎn)矩陣R和傾斜矩陣I ;然后將旋轉(zhuǎn)矩陣R轉(zhuǎn)換成OSearth中的三維坐標系相應(yīng)的矩陣;在Android中利用remapCoordinateSystem函數(shù),將旋轉(zhuǎn)矩陣按照系統(tǒng)設(shè)備的三個方向映射到指定的坐標系中。
[0012]優(yōu)選地,其特征在于,所述獲取在當(dāng)前范圍內(nèi)的導(dǎo)航信息,進一步包括:
[0013]解析下載數(shù)據(jù)、處理緩存信息、計算興趣點數(shù)據(jù)的地面坐標系、計算興趣點距離;將所有的興趣點位置信息按一定比例縮放到雷達上,把周圍所有的興趣點數(shù)據(jù)的位置信息以雷達圖的方式顯示在屏幕上;通過傳感器獲得的方向信息來旋轉(zhuǎn)畫板,并在畫板上根據(jù)所有興趣點和當(dāng)前位置的相當(dāng)距離計算出的坐標繪制雷達圖上的數(shù)據(jù)集點。
[0014]優(yōu)選地,所述對用戶進行地圖定位之前,還包括:
[0015]向服務(wù)器申請密鑰,在申請密鑰時首先獲得程序簽名的SHAl認證指紋,然后向服務(wù)器進行密鑰的申請;在申請時,填寫SHAl認證指紋和應(yīng)用的包名,申請的密鑰是長度為20位的字符串;申請完密鑰后在Manifest文件中進行配置,利用類SupportMapFragment對MapView進行封裝,并將MapActivity類繼承SupportMapFragment類以配置布局文件。
[0016]本發(fā)明相比現(xiàn)有技術(shù),具有以下優(yōu)點:
[0017]本發(fā)明提出了一種移動終端的旅游數(shù)據(jù)處理方法,基于移動設(shè)備的朝向信息為用戶提供了導(dǎo)航和移動設(shè)備定位,將虛擬信息與真實環(huán)境進行直觀的融合,提高用戶體驗。
【附圖說明】
[0018]圖1是根據(jù)本發(fā)明實施例的在移動設(shè)備中處理旅游信息的方法的流程圖。
【具體實施方式】
[0019]下文與圖示本發(fā)明原理的附圖一起提供對本發(fā)明一個或者多個實施例的詳細描述。結(jié)合這樣的實施例描述本發(fā)明,但是本發(fā)明不限于任何實施例。本發(fā)明的范圍僅由權(quán)利要求書限定,并且本發(fā)明涵蓋諸多替代、修改和等同物。在下文描述中闡述諸多具體細節(jié)以便提供對本發(fā)明的透徹理解。出于示例的目的而提供這些細節(jié),并且無這些具體細節(jié)中的一些或者所有細節(jié)也可以根據(jù)權(quán)利要求書實現(xiàn)本發(fā)明。
[0020]本發(fā)明的一方面提供了一種在移動設(shè)備中處理旅游信息的方法。圖1是根據(jù)本發(fā)明實施例的在移動設(shè)備中處理旅游信息的方法流程圖。
[0021]本發(fā)明的方法通過對目標物體的識別,計算攝像頭與目標物體的相對位置,得到投影矩陣,根據(jù)投影矩陣將虛擬信息實時地顯示在圖像平面的正確位置上。根據(jù)信號發(fā)射源以及傳感器對目標物體的跟蹤測量出的數(shù)據(jù)得到攝像機相對空間位置和方向。以場景中的圖像信息為基準來計算攝像機的方向。此外,羅盤可得到移動設(shè)備的平面朝向,重力傳感器可得到移動設(shè)備的傾仰角,GPS可獲得移動設(shè)備的地理位置,攝像頭能捕捉現(xiàn)實影像,通過這些信息可進行三維定位。并且在Android操作系統(tǒng)中通過接口來獲取投影矩陣,然后將相關(guān)的坐標轉(zhuǎn)換成相應(yīng)的坐標。利用遠程服務(wù)器來存儲大量的數(shù)據(jù)信息也可用來處理這些數(shù)據(jù)信息。例如,可以通過調(diào)用谷歌(Google)等數(shù)據(jù)服務(wù)來獲取數(shù)據(jù)源。
[0022]根據(jù)本發(fā)明的方法當(dāng)移動設(shè)備未面向正上方時,用戶從Okm到10km自主調(diào)節(jié)雷達半徑來獲取在當(dāng)前范圍內(nèi)的導(dǎo)航信息。在Π界面上雷達會顯示一定范圍內(nèi)的所有導(dǎo)航信息點。當(dāng)移動設(shè)備面向正上方時,用戶界面會切換到地圖定位界面。地圖定位界面的實現(xiàn)使用 Google Maps Android API 開發(fā)包。
[0023]首先通過Android移動設(shè)備上GPS取得瑋度、經(jīng)度和海拔,并以這些經(jīng)瑋度信息為參數(shù),調(diào)用Google的數(shù)據(jù)服務(wù),獲取用戶當(dāng)前一定范圍內(nèi)的數(shù)據(jù),其次獲取羅盤上的方向信息,依據(jù)移動設(shè)備當(dāng)前的方向,從下載的數(shù)據(jù)中過濾符合當(dāng)前移動設(shè)備方向上的附近數(shù)據(jù),接著依據(jù)這些數(shù)據(jù)的經(jīng)瑋度和自身的位置計算出地面坐標系,依據(jù)重力傳感器獲得的傾角和仰角把地面坐標系的坐標轉(zhuǎn)換成OSearth上的三維坐標系,最后,在OSearth的三維坐標系中繪制附近的數(shù)據(jù)并與攝像頭的視頻流疊加,達到虛擬數(shù)據(jù)和視頻流相結(jié)合的目的。該模塊主要分為傳感器處理、數(shù)據(jù)處理和數(shù)據(jù)繪制三個部分。
[0024]傳感器處理部分主要的任務(wù)是實時監(jiān)聽移動設(shè)備的當(dāng)前朝向,獲取當(dāng)前重力傳感器和羅盤的坐標數(shù)據(jù),通過這些數(shù)據(jù)獲取校正的旋轉(zhuǎn)矩陣,并將其傳遞到OSearth坐標中實時更新興趣點的信息。
[0025](I)傳感器的注冊及監(jiān)聽
[0026]在Google Maps Android API 的 onStart O 方法中向 SenorManager 注冊重力傳感器和羅盤,向1cat1nManager注冊位置監(jiān)