王偉棟,周志易,李曉莉,符永清,張水根
(合肥工業(yè)大學(xué) 土木與水利工程學(xué)院,安徽 合肥 230009)
GPS導(dǎo)航定位技術(shù)在國(guó)民生產(chǎn)和社會(huì)發(fā)展的應(yīng)用越來(lái)越廣泛,已經(jīng)融入較多的學(xué)科領(lǐng)域。未來(lái)的GPS民用技術(shù)將向著使用可靠性、經(jīng)濟(jì)性、快速、高精度方向發(fā)展。能夠更好更全面地使用GPS技術(shù),是目前廣大用戶的強(qiáng)烈需求。
安卓系統(tǒng)目前是全球第一大用戶操作系統(tǒng),激活設(shè)備超過(guò)20億臺(tái),占據(jù)了大部分的移動(dòng)市場(chǎng)。安卓系統(tǒng)以其開(kāi)放的姿態(tài)和強(qiáng)大的功能受到廣大開(kāi)發(fā)者的喜愛(ài)。根據(jù)自身需求在安卓平臺(tái)上開(kāi)發(fā)合適的應(yīng)用是現(xiàn)在以及未來(lái)的熱點(diǎn)。
目前的海上定位導(dǎo)航設(shè)備是基于一套完整的航海自主移動(dòng)平臺(tái),且都裝配在大型的船上,精度較高、定位速度快,但是體積龐大,價(jià)格昂貴,出現(xiàn)導(dǎo)航故障時(shí)不易發(fā)現(xiàn)和糾正。雖然目前手機(jī)軟件市場(chǎng)存在較多導(dǎo)航定位軟件,但是在無(wú)移動(dòng)數(shù)據(jù)信號(hào)覆蓋的情況下,依然不能進(jìn)行導(dǎo)航,無(wú)法滿足用戶的需要。而在陸地導(dǎo)航定位時(shí),需購(gòu)買相應(yīng)的導(dǎo)航設(shè)備,價(jià)格較貴,攜帶也不方便。而智能手機(jī)在國(guó)內(nèi)基本上普及,時(shí)刻攜帶在身邊,且具有GPS定位功能。所以,在航行的過(guò)程中,用戶擁有一款可以在無(wú)信號(hào)覆蓋的情況下,通過(guò)手機(jī)進(jìn)行實(shí)時(shí)定位且能確定航線方向的手機(jī)APP非常重要。
利用手機(jī)GPS獲取到的橢球面上大地元素,按照白塞爾投影條件投影到輔助球面上,得到球面相應(yīng)值,即實(shí)現(xiàn)橢球面向球面的過(guò)渡;在球面上解算大地問(wèn)題;按球面上得到的數(shù)值計(jì)算橢球面上的相應(yīng)數(shù)值,即實(shí)現(xiàn)從圓球向橢球的過(guò)渡。
圖1 設(shè)計(jì)思路框圖
橢球的大地元素與球面大地元素之間的關(guān)系,如圖2所示。
圖2 橢球與球面大地元素關(guān)系圖
在橢球面上大地線微分方程為:
(1)
在單位圓球面上,易知大圓弧的微分方程為:
(2)
由以上兩組關(guān)系式易知二者有如下關(guān)系式:
(3)
利用JAVA語(yǔ)言設(shè)計(jì)的程序流程圖如圖3所示。
圖3 程序設(shè)計(jì)流程圖
本軟件是基于Android Studio開(kāi)發(fā)平臺(tái),適用的最低版本為Android 6.0。程序界面主要包括正反算按鈕、定位按鈕、用戶所在地、目的地、大地距離、大地方位角等顯示框。本程序生成一份apk安裝文件,可直接安裝在Android系統(tǒng)的智能手機(jī)上進(jìn)行使用。
(1)手機(jī)GPS自動(dòng)定位
將手機(jī)處于室外開(kāi)闊處,并打開(kāi)GPS定位功能,啟動(dòng)軟件便可自動(dòng)定位獲取所在地的經(jīng)緯度。獲取到的經(jīng)緯度界面如圖4所示。
(2)實(shí)時(shí)經(jīng)緯度獲取
點(diǎn)擊如圖5所示的位置一的獲取按鈕,將實(shí)時(shí)獲取的經(jīng)緯度顯示到如圖5所示界面的兩個(gè)文本框中使用。
圖4 經(jīng)緯度的獲取
圖5 經(jīng)緯度的顯示
(3)功能按鈕
功能按鈕如圖6所示,反算按鈕進(jìn)行大地主題的反算,正算按鈕用來(lái)進(jìn)行大地主題的正算,清除按鈕用來(lái)清空所有文本框,保存按鈕用來(lái)保存結(jié)果數(shù)據(jù),設(shè)置按鈕用來(lái)選擇一個(gè)路徑存儲(chǔ)數(shù)據(jù),路徑如圖7所示。
圖6命令按鈕
圖7 保存路徑
(4)實(shí)時(shí)大地主題解算
算法程序令該經(jīng)緯度坐標(biāo)作為獲取的參數(shù)1,目的地經(jīng)緯度坐標(biāo)作為輸入的參數(shù)2,不斷地進(jìn)行實(shí)時(shí)的經(jīng)緯度獲取并調(diào)用白塞爾大地主題的反算算法,計(jì)算當(dāng)前點(diǎn)與目標(biāo)點(diǎn)之間的大地距離和大地方位角。
大地主題反算的數(shù)據(jù)實(shí)時(shí)獲取如圖8所示。在兩個(gè)不同的位置分別獲取,便可得到兩個(gè)位置實(shí)時(shí)數(shù)據(jù)。實(shí)時(shí)解算的結(jié)果如圖9所示。
圖8 目標(biāo)位置的實(shí)時(shí)獲取
圖9 解算的結(jié)果
從圖7中可得到大地距離和大地正反方位角,用戶根據(jù)這些數(shù)據(jù)可得知與目的地的距離并調(diào)整航行方向,順利抵達(dá)目的地。
(5)手動(dòng)輸入進(jìn)行大地主題的解算
該程序不僅可以通過(guò)手機(jī)自動(dòng)定位實(shí)時(shí)進(jìn)行大地主題的解算,也可以通過(guò)手動(dòng)輸入數(shù)據(jù)進(jìn)行大地主題解算,手動(dòng)輸入按正算反算所需數(shù)據(jù)進(jìn)行輸入,手動(dòng)輸入如圖10所示。
圖10 手動(dòng)輸入數(shù)據(jù)
手機(jī)內(nèi)置GPS模塊雖然定位速度快,且不受手機(jī)信號(hào)的影響,但是其定位精度不容樂(lè)觀。為了能夠更好地提高定位效果,本文嘗試使用其他的星基系統(tǒng)。廣域差分系統(tǒng)(WAAS)通過(guò)向用戶播發(fā)鐘差改正數(shù)、大氣時(shí)延等一系列改正信息,幫助用戶改善定位精度。若用戶手機(jī)無(wú)法支持WAAS信號(hào),那么可改進(jìn)原始觀測(cè)數(shù)據(jù)的計(jì)算方法。如電離層雙頻改正、衛(wèi)星高度角定權(quán)、收集多種衛(wèi)星系統(tǒng)的觀測(cè)數(shù)據(jù)。
手機(jī)GPS和GPS接收機(jī)一樣,存在初始化定位速度較慢的問(wèn)題。時(shí)間一般為 10 min~30 min,這在航行失去信號(hào)情況下是無(wú)法接受的。在不失定位精度的前提下,本文認(rèn)為應(yīng)進(jìn)行熱啟動(dòng),即保持手機(jī)定位功能開(kāi)啟,這樣在需要時(shí)可快速獲取坐標(biāo)。此外,船只的移動(dòng)速度越小,定位所需時(shí)間越少。手機(jī)應(yīng)處于船只開(kāi)闊處,利于接收衛(wèi)星信號(hào)。
研究開(kāi)發(fā)的軟件可直接利用安卓設(shè)備的GPS信號(hào)接收功能,并根據(jù)大地主題解算的算法快速得到用戶所在地至目的地的大地距離和方位。經(jīng)測(cè)試,在沒(méi)有其他導(dǎo)航設(shè)備并關(guān)閉安卓手機(jī)數(shù)據(jù)功能的情況下,基本可實(shí)現(xiàn)導(dǎo)航功能。雖然能達(dá)到預(yù)計(jì)效果,但是也存在一些問(wèn)題,比如精度不高,不能顯示路況等。在未來(lái)的研究方向中,提高精度和能夠較好顯示路況是最主要的兩個(gè)工作,軟件的應(yīng)用前景將會(huì)得到很大提升。