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