張曉章,鄭峴,喻成,蔣勝華,王磊
(武漢市測繪研究院,湖北 武漢 430022)
基于Android手機和PC平臺的水準(zhǔn)測量內(nèi)外業(yè)一體化系統(tǒng)開發(fā)
張曉章*,鄭峴,喻成,蔣勝華,王磊
(武漢市測繪研究院,湖北 武漢 430022)
介紹了基于Android手機和PC平臺開發(fā)的水準(zhǔn)測量內(nèi)外業(yè)一體化系統(tǒng)的總體框架與功能,闡述了系統(tǒng)中移動端水準(zhǔn)APP和PC端水準(zhǔn)軟件開發(fā)相關(guān)技術(shù)問題。系統(tǒng)測試結(jié)果表明:系統(tǒng)操作性強,可降低水準(zhǔn)測量工作量,大大提高工作效率,進(jìn)一步促進(jìn)了水準(zhǔn)測量行業(yè)的數(shù)字化和智能化。
Android平臺;PC平臺;水準(zhǔn)測量內(nèi)外業(yè)一體化;系統(tǒng)開發(fā)
水準(zhǔn)測量是高程測量中最基本、最精密的一種方法,被廣泛應(yīng)用于高程控制測量和工程測量中,同時也為施工放樣、設(shè)備安裝、變形監(jiān)測及分析與預(yù)報領(lǐng)域等提供基礎(chǔ)資料?,F(xiàn)有的電子水準(zhǔn)儀和光學(xué)水準(zhǔn)儀的外業(yè)測量工作量大,且無法及時檢核觀測質(zhì)量,容易造成返工,加大外業(yè)工作強度。同時,內(nèi)業(yè)數(shù)據(jù)處理非智能,數(shù)據(jù)導(dǎo)入花費時間,影響水準(zhǔn)測量工作效率。隨著智能手機移動終端功能愈發(fā)強大,已經(jīng)成為人們的生活中不可或缺的工具,因此將智能手機應(yīng)用于水準(zhǔn)測量領(lǐng)域,引起了學(xué)者的關(guān)注。文獻(xiàn)[1]基于Windows Mobile的水準(zhǔn)測量記錄軟件的開發(fā)與應(yīng)用,以Windows Mobile5.0 Software Development Kit作為開發(fā)工具,在VS2008的環(huán)境下進(jìn)行功能完備的電子記錄軟件開發(fā),實現(xiàn)了測量數(shù)據(jù)實時記錄以及觀測質(zhì)量的及時檢核,并在丹江口水庫建設(shè)征地水文河道專業(yè)設(shè)施復(fù)建工程控制測量項目中得以應(yīng)用,極大地提高了測量效率;文獻(xiàn)[2]基于手機平臺的水準(zhǔn)測量系統(tǒng)開發(fā),為測量人員提供完整的水準(zhǔn)測量基本功能,包括電子觀測手簿、平差計算、圖形顯示等,但程序的兼容性較差。文獻(xiàn)[3]基于手機的測量計算程序開發(fā)和應(yīng)用,使用Java開發(fā)測量計算程序,應(yīng)用于導(dǎo)線測量、放樣和邊長交會計算,所得精度完全能夠滿足常用測量計算需要,但其僅支持Java CLDC1. 1和MIDP2.0規(guī)范的手機。應(yīng)用智能手機移動終端設(shè)備實現(xiàn)水準(zhǔn)測量內(nèi)外業(yè)一體化的研究較少。因此,本文研究開發(fā)了基于Android手機和PC平臺的水準(zhǔn)測量內(nèi)外業(yè)一體化系統(tǒng),系統(tǒng)主要適用于圖根級水準(zhǔn)測量,對實現(xiàn)規(guī)范高效的測量工作,降低作業(yè)強度具有明顯的現(xiàn)實意義。
圖1給出了基于Android手機與PC平臺的水準(zhǔn)測量內(nèi)外業(yè)一體化系統(tǒng)的軟件構(gòu)架。手機移動端記錄軟件在Android平臺上開發(fā),用于外業(yè)實時記錄數(shù)據(jù)、快速檢核數(shù)據(jù)質(zhì)量以及計算水準(zhǔn)線路閉合差等,生成自定義格式的觀測文件;PC端軟件在Windows系統(tǒng)下開發(fā),用于智能化讀取移動設(shè)備中的原始觀測文件,數(shù)據(jù)處理、成圖和質(zhì)量檢核等。通過手機移動端App端和PC端軟件自定義格式文件Excel鏈接,實現(xiàn)了水準(zhǔn)測量內(nèi)外業(yè)一體化。
圖1 水準(zhǔn)測量內(nèi)外業(yè)一體化系統(tǒng)的軟件架構(gòu)
系統(tǒng)包括移動端水準(zhǔn)APP和PC端水準(zhǔn)軟件兩部分,主要功能有移動端數(shù)據(jù)記錄、移動端數(shù)據(jù)安全措施、移動端數(shù)據(jù)導(dǎo)出、PC端讀取數(shù)據(jù)和計算、PC端輸出結(jié)果文件等。PC端與移動端測量數(shù)據(jù)進(jìn)行鏈接可以實現(xiàn)數(shù)據(jù)處理智能化。
考慮到目前安卓(Android)操作系統(tǒng),因其功能強大、使用方便、價格便宜且是開源性操作系統(tǒng),已經(jīng)成為世界上最受歡迎的智能手機平臺,在該平臺上開發(fā)移動端水準(zhǔn)記錄處理軟件,PC端在Windows系統(tǒng)下開發(fā)一款水準(zhǔn)數(shù)據(jù)處理軟件,主要采用的開發(fā)組件如下:
(1)Eclipse。Eclipse是一個開放源代碼的、基于Java的可擴展開發(fā)平臺。它只是一個框架和一組服務(wù),可以通過本身附帶的一個標(biāo)準(zhǔn)插件集(如:Java Development Kit,JDK)來構(gòu)建開發(fā)環(huán)境[4]。
(2)Android SDK。Android是谷歌(Google)公司推出的手機開發(fā)平臺,Android Sdk是提供給軟件工程師的android app開發(fā)包,本文使用Android 4.0 Ice Cream Sandwich(API 14)版本。使用Eclipse進(jìn)行android應(yīng)用開發(fā)需要給Eclipse安裝adt(Android Development Tools)插件,這樣Eclipse就可以和Android SDK進(jìn)行連接,可以在Eclipse中啟動android模擬器進(jìn)行程序調(diào)試。
(3)Microsoft Visual C++ 6.0。C++是面向?qū)ο蟮木幊陶Z言,支持多種編程范式[5]。VC6.0是由Developer Studio組件集合成的一個基于Windows操作系統(tǒng)的可視化集成開發(fā)環(huán)境(integrated development environment,IDE),包括編輯器、調(diào)試器以及程序向?qū)ppWizard、類向?qū)lass Wizard等開發(fā)工具。
3.1 移動端水準(zhǔn)APP開發(fā)
移動端水準(zhǔn)APP是在Eclipse中開發(fā),整體界面采用線性布局,數(shù)據(jù)庫采用Android自帶SQlite,使用SDK版本為Android4.4.2,Excel操作使用第三方開發(fā)包jxl.jar。軟件功能主要由Paginating Table、SimpleTable、SQliteUtiltity、TextAdatper四個類實現(xiàn)。其中Paginating Table為activity主類,用于生成整個表格界面;SimpleTable為表格具體實現(xiàn)類,具體實現(xiàn)表格設(shè)計;SQliteUtiltity為數(shù)據(jù)庫操作和算法實現(xiàn)類,實現(xiàn)數(shù)據(jù)顯示、記錄、保存等功能;TextAdatper為文本設(shè)置類,控制文本大小、顏色及樣式等等。
由于設(shè)備或軟件等原因,使用電子設(shè)備記錄數(shù)據(jù)時會出現(xiàn)卡死、意外退出、死機等突發(fā)情況,這些都會使得數(shù)據(jù)丟失。為了預(yù)防這種問題,程序采用sqlite格式的數(shù)據(jù)庫文件進(jìn)行實時動態(tài)鏈接,即每一次的更改操作(包括前視、后視、點名的更改)除了在界面端進(jìn)行顯示,后臺會同步更新并保存數(shù)據(jù)庫文件。因此,無論設(shè)備或軟件是否出現(xiàn)異常情況,都不會造成數(shù)據(jù)丟失,保證了數(shù)據(jù)的安全。
圖2為移動端水準(zhǔn)APP界面。頂部為字段視圖:總共6個字段:序列、后視、前視、改正數(shù)、高程、點名;中間主體為測量數(shù)據(jù),其中后視、前視、點名、起始高程、終止高程數(shù)據(jù)由用戶填寫,改正數(shù)和高程計算得出;下方視圖為一些功能性按鈕,實現(xiàn)翻頁,計算改正數(shù),高程等功能,最下方一行為3個數(shù)據(jù)庫操作按鈕。其中“清除所有數(shù)據(jù)”按鈕將清除當(dāng)前數(shù)據(jù)庫這一欄的所有數(shù)據(jù),“保存到Excel”將數(shù)據(jù)保存為Excel格式,“打開Excel”能打開以往Excel格式的觀測文件。
圖2 移動端水準(zhǔn)APP界面
3.2 PC端水準(zhǔn)軟件開發(fā)
PC端水準(zhǔn)軟件是一款基于MFC(Microsoft Foundation Classes)的對話框程序,包含的類包含大量Windows句柄封裝類和很多Windows的內(nèi)建控件和組件的封裝類,采用VC6.0編寫,以C++類的形式封裝了Windows API,并且包含一個應(yīng)用程序框架,以減少應(yīng)用程序開發(fā)人員的工作量。
圖3為PC端水準(zhǔn)軟件界面。最上部一行功能區(qū)包括4個文本框,4個編輯框,3個按鈕(Button)。最左邊的兩個編輯框輸入起點高程和終點高程,中部的計算按鈕封裝計算算法,生成結(jié)果。閉合差、限差顯示在右邊的兩個編輯框。最右邊兩個按鈕為數(shù)據(jù)文件輸入輸出按鈕、讀寫Excel文件。軟件界面主體區(qū)域為一個列表框控件,自定義為如圖格式,分為6列,其次是序號、點號、后視、前視、改正數(shù)和高程。其中。前視之和、后視之和顯示在后視列及前視列的尾部。
圖3 PC端軟件界面
PC端水準(zhǔn)軟件數(shù)據(jù)輸入有兩種形式:第一,手工輸入:在電腦上手工輸入觀測數(shù)據(jù),需要修改對應(yīng)列表框單元格數(shù)據(jù),實現(xiàn)原理為:在點擊到列表相應(yīng)單元格的時候,在相應(yīng)的位置生成一個跟單元格大小相當(dāng)?shù)木庉嬁颍斎霐?shù)據(jù),回車后即會更新到對應(yīng)單元格。第二,手機端APP數(shù)據(jù)導(dǎo)入:在手機端APP中會生成Excel格式的觀測文件,為實現(xiàn)水準(zhǔn)內(nèi)外業(yè)兩款軟件的一體化,PC端同樣要實現(xiàn)對Excel的讀寫操作,即在VC6.0中導(dǎo)入Excel操作功能的類,如表1所示。
VC6.0所需添加的類 表1
4.1 系統(tǒng)測試環(huán)境
測試需要一個獨立和受控的系統(tǒng)環(huán)境,為了測試環(huán)境的完整性,測試所用的網(wǎng)路不允許外界無關(guān)人員進(jìn)行訪問。測試所用的設(shè)備配置三星GALAXY S4手機和DELL OPTIPLEX臺式機,軟件Android4.4.2和Windows7旗艦版。
4.2 系統(tǒng)測試結(jié)果
經(jīng)過測試,無論由于何種原因退出了APP(死機、斷電、誤操作),重新打開APP均能恢復(fù)上次未保存記錄數(shù)據(jù),符合系統(tǒng)對記錄可靠性的要求。
圖根水準(zhǔn)測量按照國家水準(zhǔn)測量規(guī)范,解算只有唯一解,不存在最優(yōu)估值等平差問題,測試結(jié)果表明該系統(tǒng)可以滿足水準(zhǔn)測量內(nèi)外業(yè)一體化的要求,快速計算出閉合差(或附和差),并按規(guī)范正確配賦改正數(shù),獲取正確結(jié)果。極大地提高了工作效率,降低了工作強度,具有很高的現(xiàn)實意義。
本文介紹了一套完善的水準(zhǔn)測量內(nèi)外業(yè)一體化作業(yè)系統(tǒng),該系統(tǒng)在外業(yè)階段中可以利用手機端軟件進(jìn)行實時水準(zhǔn)數(shù)據(jù)記錄,生成觀測手簿。此外,采用數(shù)據(jù)庫技術(shù)進(jìn)行同步操作界面和后臺的觀測數(shù)據(jù),以保障水準(zhǔn)數(shù)據(jù)的安全性。同時,系統(tǒng)能夠快速檢核數(shù)據(jù)質(zhì)量以及準(zhǔn)確計算水準(zhǔn)線路的閉合差等。內(nèi)業(yè)處理中應(yīng)用PC端軟件導(dǎo)入自定義格式的觀測文件進(jìn)行計算并生成結(jié)果文件、質(zhì)量檢核文件等。本系統(tǒng)簡化了水準(zhǔn)測量內(nèi)外業(yè)工作流程和強度,大幅提升了測量內(nèi)外業(yè)的效率與質(zhì)量。目前,該系統(tǒng)主要適用于圖根級水準(zhǔn)測量,后續(xù)將逐步擴大該系統(tǒng)的應(yīng)用范圍。同時,為了進(jìn)一步降低水準(zhǔn)測量工作量,系統(tǒng)還將引入語音控制功能,使其能夠通過語音播報錄入觀測數(shù)據(jù),使其更加智能化,更加方便測量工作的進(jìn)行。
[1] 張振軍,楊建,胡祖平等. 基于Windows Mobile的水準(zhǔn)測量記錄軟件的開發(fā)與應(yīng)用[J]. 地理空間信息,2014,12(5):140~142.
[2] 李傳華,賈虎軍. 基于手機平臺的水準(zhǔn)測量系統(tǒng)開發(fā)[J]. 測繪通報,2013,10:112~114.
[3] 申健康. 基于手機的測量計算程序開發(fā)和應(yīng)用[J]. 測繪科學(xué),2011,36(2):91~94.
[4] 劉洪星,謝玉山. Eclipse開發(fā)平臺及其應(yīng)用[J]. 武漢理工大學(xué)學(xué)報.信息與管理工程版,2005,27(2):89~92.
[5] 譚浩強. C++面向?qū)ο蟪绦蛟O(shè)計[M]. 北京:清華大學(xué)出版社,2011.
Development of Integrative System for Indoor and Field Work of Leveling Based on Android mobile phone and PC platform
Zhang Xiaozhang,Zheng Xian,Yu Cheng,Jiang Shenghua,Wang Lei
(Wuhan Geomatic Institute,Wuhan 430022,China)
This paper introduces the overall framework and functions of the Integrative System for Indoor and Field Work of Leveling ,and expounds the technical issues related to the development of mobile terminal level APP and PC level software in the system. The system testing shows that the system has strong operability,and can reduce the measuring workload and improve the working efficiency significantly. this will further promote on the leveling in digital and intellectual.
android platform;PC platform;integrative system for indoor and field work of leveling;system development
1672-8262(2017)02-137-03
P209
A
2016—09—26
張曉章(1965—),男,高級工程師,主要從事城市勘測技術(shù)管理工作。 基金項目:精密工程與工業(yè)測量國家測繪地理信息局重點實驗室開放基金重點項目(PF2015-6)