劉敬濤,黃 鷹,覃澤穎
(1.桂林理工大學(xué) 測(cè)繪地理信息學(xué)院,廣西 桂林 541004;2.廣西國(guó)土資源廳 土地整理中心,廣西 南寧530028;3.桂林好測(cè)信息科技有限公司,廣西 桂林 541004)
GPS-RTK自首次應(yīng)用之后,就憑借其定位速度快、精度高、全天候等優(yōu)勢(shì)迅速成為當(dāng)前野外測(cè)量的首選方法。然而,其操作手簿仍舊使用微軟的Windows操作系統(tǒng),Android版本的GPS-RTK手簿研究在國(guó)內(nèi)外仍舊是一個(gè)空白。本文對(duì)GPS-RTK手簿使用Android操作系統(tǒng)的可行性進(jìn)行研究,并簡(jiǎn)單比較了2種操作系統(tǒng)的優(yōu)劣。
經(jīng)過查閱大量文獻(xiàn)資料,筆者發(fā)現(xiàn)Android操作系統(tǒng)相對(duì)于微軟Windows 操作系統(tǒng)主要有以下優(yōu)勢(shì):①Android操作系統(tǒng)是開源的,不存在以前使用的手簿需要向微軟繳納版權(quán)費(fèi)的問題,降低了使用成本。更重要的是開源降低了對(duì)程序員的要求,會(huì)有更多的人投入到此應(yīng)用的開發(fā)中,這必定加快此應(yīng)用的更新速度,使其擁有更豐富的功能,更加人性化的操作,降低測(cè)量人員的野外工作強(qiáng)度,提高作業(yè)效率。②Android操作系統(tǒng)對(duì)硬件的要求遠(yuǎn)低于微軟的Windows 操作系統(tǒng)。目前市面上使用的RTK手簿多數(shù)都是需要向特定廠家訂購(gòu)的,價(jià)格昂貴,但是如果你有一款A(yù)ndroid的手機(jī)或者平板,那么你完全可以安裝Android版本的軟件來(lái)實(shí)現(xiàn)一樣的效果,從而省去購(gòu)買手簿的開支。③Android系統(tǒng)的3G通信模塊可以對(duì)未來(lái)CORS定位系統(tǒng)提供完美解決方案,而目前使用的微軟系統(tǒng)對(duì)此卻是一片空白。
手簿的開發(fā)以Windows7操作系統(tǒng)為平臺(tái),在搭建Android開發(fā)環(huán)境之前,需要以下必要的軟件支持[1]:
①JDK(Java Development Kit), 即jdk-7u11-windows-i586.exe,官網(wǎng)下載最新版本。
②Eclipse Classic 4.2.1-win32.zip,在Eclipse官網(wǎng)下載。
③ADT(Android Development Tools),Android開發(fā)插件,最新版本為ADT-21.0.1.zip。
④Android SDK(Software Development Kit):android-sdk_r21.0.1-windows.zip。
安裝過程為:①安裝JDK。②安裝Eclipse。③安裝SDK。④設(shè)置環(huán)境變量。⑤為Eclipse安裝ADT Plugin。⑥安裝Android SDK。啟動(dòng)Eclipse,在Windows→Android SDK Manager(注意,這個(gè)過程必須聯(lián)網(wǎng))查看當(dāng)前可用以及需要下載的SDK版本。在Windows→AVD Manager新建一個(gè)Android模擬器之后直接點(diǎn)擊Launch,稍等片刻,電腦屏幕便會(huì)出現(xiàn)虛擬Android機(jī)[2,3]。
系統(tǒng)涉及項(xiàng)目建立、項(xiàng)目套用、大地坐標(biāo)正反算、RTK校正、放樣、實(shí)時(shí)坐標(biāo)解算,需要按照特定格式存儲(chǔ)點(diǎn)位信息以及測(cè)量數(shù)據(jù)文件的自動(dòng)建立與命名等若干功能。
應(yīng)用共有5個(gè)主要模塊:工程模塊、工具模塊、測(cè)量模塊、藍(lán)牙模塊、解算模塊。
手簿試驗(yàn)所使用的GPS接收機(jī)以南方為主,考慮其兼容性,使用過中海達(dá)GPS接收機(jī)。
此模塊主要用于創(chuàng)建新的工程文件和打開已存在的工程文件。在創(chuàng)建新的工程文件中,用戶可以創(chuàng)建自己的工程,配置此工程測(cè)量所采用的橢球模型、中央子午線和相應(yīng)轉(zhuǎn)換參數(shù)等信息。打開工程即是采用之前此工程的配置參數(shù)進(jìn)行下一步測(cè)量。如果沒有創(chuàng)建新的工程和打開工程文件操作,系統(tǒng)會(huì)默認(rèn)采用前一次測(cè)量所采用的測(cè)量參數(shù)。主要流程見圖1。
圖1 工程模塊主要流程圖
工具模塊主要包括點(diǎn)位校正、坐標(biāo)正反算、高斯投影正反算及相鄰帶的坐標(biāo)換算等內(nèi)容。
測(cè)量模塊是此應(yīng)用中最重要的模塊,測(cè)量模塊的主要流程如圖2所示。
點(diǎn)號(hào)、編碼等主要為南方CASS數(shù)字化地形地籍成圖系統(tǒng)讀取數(shù)據(jù)格式設(shè)計(jì)。按下測(cè)量存儲(chǔ)后,數(shù)據(jù)自動(dòng)保存到工程模塊設(shè)置的文件中,其文件名后綴為.dat。其中內(nèi)部存放數(shù)據(jù)的格式為:點(diǎn)號(hào),編碼,y,x,h。控制點(diǎn)測(cè)量服務(wù)于工具模塊中的點(diǎn)位校正。按下此按鈕之后,程序?qū)⒃谠O(shè)置的時(shí)間內(nèi)將符合測(cè)量要求的點(diǎn)自動(dòng)測(cè)量、保存并平差計(jì)算,得到此點(diǎn)位相對(duì)較為準(zhǔn)確的三維坐標(biāo)值。解算模塊解算相應(yīng)的坐標(biāo)轉(zhuǎn)換參數(shù),進(jìn)而保證校正之后的點(diǎn)位坐標(biāo)與目標(biāo)坐標(biāo)一致。連接按鈕主要負(fù)責(zé)啟動(dòng)藍(lán)牙進(jìn)程,接收GPS接收機(jī)發(fā)送過來(lái)的數(shù)據(jù),之后交給解算模塊實(shí)時(shí)解算當(dāng)前點(diǎn)位信息。開發(fā)人員調(diào)試工具中,第一個(gè)文本框負(fù)責(zé)顯示處理之后的GPS接收機(jī)發(fā)送過來(lái)的相關(guān)字符串,第二個(gè)文本框負(fù)責(zé)編輯指令,配置GPS內(nèi)部參數(shù)和遠(yuǎn)程控制GPS接收機(jī)。發(fā)送按鈕負(fù)責(zé)將第二個(gè)文本框中編輯好的指令通過藍(lán)牙進(jìn)程發(fā)送給GPS接收機(jī)[4]。例如連接南方S86T GPS接收機(jī),編輯 “readmachine+回車”字符發(fā)送給GPS接收機(jī),返回相關(guān)信息如下:
圖2 測(cè)量模塊主要流程圖
$GPXXX,8000W1386770370,W13867703709973 054265C9BB8AE3B9,20130527,SA7224-V3.1,OEMT,GPRS,H86_HW_01,F121224H_2.1,STATIC,ZH,3,0,0,822,862*
其中W1386770370為機(jī)器號(hào),9973054265C9BB8 AE3B9為注冊(cè)碼,20130527為注冊(cè)到期時(shí)間。此命令為讀取此GPS接收機(jī)機(jī)器號(hào)、注冊(cè)碼、到期時(shí)間、特征碼等相關(guān)信息。
當(dāng)需要重新注冊(cè)此GPS接收機(jī)時(shí),編輯“REGI 9973054265C9BB8AE3B9+回車”并發(fā)送,如果得到正確注冊(cè),返回信息如下:
INPUT SERIAL W13867703709973054265 C9BB8AE3B9 UPDATED SUCCESSFUL,20130527.如果不正確,返回信息如下:
INIT: Serial CRC checksum error.
INPUT STRING W13867703709973054265 C9BB8AE3A9 UNMATCH SERIAL FORMAT.其中9973054265C9BB8AE3B9為W1386770370機(jī)器號(hào)此時(shí)的注冊(cè)碼。
此模塊為不可見模塊,主要有藍(lán)牙連接模塊、藍(lán)牙接收模塊、藍(lán)牙發(fā)送模塊和異常處理模塊。藍(lán)牙連接模塊主要負(fù)責(zé)發(fā)現(xiàn)附近可用藍(lán)牙并嘗試建立通信端口與之建立通信連接。藍(lán)牙接收模塊主要負(fù)責(zé)接收與之建立連接的GPS接收機(jī)藍(lán)牙端口發(fā)送過來(lái)的GPS協(xié)議數(shù)據(jù),格式如圖3所示。其中每一行分別代表的含義詳見GPS協(xié)議[5,6](NMEA-0183協(xié)議)。(注:廠家對(duì)此協(xié)議會(huì)有所改動(dòng),例如南方S86 GPS接收機(jī)發(fā)送電文$GPGGA中經(jīng)緯度精度達(dá)到小數(shù)點(diǎn)后8位,無(wú)$GPASV電文,增加一些新電文,如前面介紹的注冊(cè)GPS接收機(jī)主機(jī)時(shí)反饋的電文)。此模塊在接收到數(shù)據(jù)之后,會(huì)提取經(jīng)緯度、衛(wèi)星狀態(tài)等信息并將其移送到解算模塊。接收模塊是一個(gè)建立好連接之后一直在后臺(tái)運(yùn)行的進(jìn)程,用戶選擇停止或者藍(lán)牙連接中斷會(huì)銷毀此進(jìn)程。藍(lán)牙發(fā)送模塊主要負(fù)責(zé)將編輯好的指令發(fā)送給GPS接收機(jī),以期操作GPS接收機(jī)。異常處理模塊主要處理一些異常情況,例如突然丟失藍(lán)牙連接、藍(lán)牙開關(guān)突然關(guān)閉等,此模塊會(huì)妥善處理此類情況,而不至于使程序因?yàn)樗{(lán)牙連接異常而崩潰[7]。
圖3 GPS協(xié)議數(shù)據(jù)格式(部分)
此模塊同樣為不可見模塊,主要負(fù)責(zé)程序解算工作。高斯投影正反算及相鄰帶的坐標(biāo)換算、坐標(biāo)正反算、點(diǎn)位校正、坐標(biāo)轉(zhuǎn)換等都是通過此模塊解算。
Android是一款全新的智能無(wú)線終端操作系統(tǒng),它開放性好、功能擴(kuò)展性強(qiáng),能很好地支持各類測(cè)量程序開發(fā)。隨著GPS_RTK在測(cè)量中越來(lái)越多的應(yīng)用,其操作手簿功能豐富程度與方便使用與否將成為評(píng)價(jià)其優(yōu)劣的直接因素,Android的開源優(yōu)勢(shì)將逐漸凸顯,Android系統(tǒng)的GPS_RTK手簿將會(huì)得到更廣泛的使用。
[1]吳孝麗,何燚.Windows中JDK的安裝及Java開發(fā)環(huán)境的搭建[J].福建電腦,2005(9):126-127
[2]李寧.Android 開發(fā)權(quán)威指南[M].北京:人民郵電出版社,2011
[3]李興華.Android開發(fā)實(shí)戰(zhàn)經(jīng)典[M].北京:清華大學(xué)出版社,2012
[4]周峰.基于Android智能手機(jī)平臺(tái)的GPS開發(fā)[D].蘇州:蘇州大學(xué),2011
[5]曹婷婷,高玉.GPS中NMEA-0183協(xié)議的應(yīng)用[J].電子工程師,2006,32(10):8-11
[6]胡輝.GPS數(shù)據(jù)采集軟件的實(shí)現(xiàn)[J].全球定位系統(tǒng),2008(1):25-30
[7]公磊.基于Android的GPS測(cè)量系統(tǒng)開發(fā)[D].南昌:南昌大學(xué),2008