盧祥,張軍
(中國地質大學測繪工程系,湖北武漢 430074)
基于PDA的水準測量軟件開發(fā)
盧祥?,張軍
(中國地質大學測繪工程系,湖北武漢 430074)
隨著測量工作中PDA的廣泛應用,基于PDA的測量軟件開發(fā)將逐漸成為測量工作者的一項必備技能。本文采用目前主流的編程語言Visual C++對此問題進行了研究。通過對基于Windows Mobile系統(tǒng)PDA的測量軟件開發(fā)步驟的探討,形成了一套較為完整的開發(fā)流程、方法,并編程實現(xiàn)了水準測量軟件:掌中水準。最后,將軟件應用于武吉高速江西修水段水準測量中證明了該方法的正確性與可行性。
C++;PDA;測量程序;軟件開發(fā)
水準測量是工程建設中必不可少的一項工作。在傳統(tǒng)水準測量工作中,通常采用手工記錄的方式記錄測量數(shù)據(jù),整個過程中稍有差錯就可能會導致全測段返工,也非常不便于內(nèi)業(yè)工作中的數(shù)據(jù)處理。因此,繁瑣的手工記錄工作成了制約水準測量效率和質量提高的一個瓶頸。
近年來微電子技術的迅速發(fā)展使測繪工作的面貌發(fā)生了重大變化,大量的高新儀器為測繪工作的全自動化提供了可能,PDA就是其中非常重要的一種。PDA,即個人數(shù)字助理(Personal Digital Assistant),它集成了網(wǎng)絡、計算、存儲等功能,體積小,重量輕,有自身的操作系統(tǒng),與PC數(shù)據(jù)傳輸非常方便?;赑DA的電子記錄手簿,可以自動檢核測量中的錯誤,數(shù)據(jù)導入PC進行后處理也非常方便,能極大地提高測量效率。
因PDA體積有限,硬件配置往往不會太高,這就要求它的程序效率必須要高。目前,已有少數(shù)人從事基于PDA的軟件開發(fā),但源代碼一般不公開,且使用的開發(fā)語言多為Microsoft eMbedded Visual Basic 3.0。這種語言雖然簡單易學,但并不是真正的面向對象的開發(fā)工具,而且不支持指針,表達能力很有限,編譯速度也比較慢,開發(fā)的程序效率相對較低。Microsoft Visual Studio 2005中集成的Visual C++是當今軟件開發(fā)的主流軟件,語言靈活性好,效率高,開發(fā)的軟件運行速度快,是理想的基于PDA的程序開發(fā)軟件。
門類繁多的PDA產(chǎn)品大部分采用以下三種操作系統(tǒng):Windows Mobile,Palm OS和Linux。
微軟公司開發(fā)的Windows Mobile(基于Windows CE)秉承了桌面Windows平臺的易于使用和擴展性好等優(yōu)點,使用最為廣泛。下面將介紹基于Windows Mobile系統(tǒng)用Visual C++進行開發(fā)測量軟件的方法,開發(fā)流程圖如圖1。
圖1 測量軟件開發(fā)流程圖
2.1 集成開發(fā)環(huán)境
要進行基于PDA的程序設計,首先必須要有特定的開發(fā)環(huán)境,可按照以下步驟配置環(huán)境:
(1)安裝VS 2005,主要安裝VC++以及.Net Framework;
(2)安裝ActiveSync,用來與PC同步;
(3)安裝Windows Mobile 6 Professional SDK(語言開發(fā)工具包);
(4)安裝Windows Mobile 6 Professional Image(模擬器)。
2.2 創(chuàng)建Windows Mobile應用程序
(1)啟動Microsoft Visual Studio程序;
(2)選擇菜單:文件→新建→項目;
(3)在項目類型窗格中,展開Visual C++的分支,選擇智能設備,點擊下一步;
(4)在模板窗格中,選擇MFC智能設備應用程序,點擊下一步;
(5)在MFC智能設備應用程序向導中,點擊下一步,然后選擇你希望支持的平臺(Windows Mobile 6 Professional SDK),點擊下一步;
(6)選擇所需要的應用程序類型,然后單擊完成。
這樣,一個新的Windows Mobile應用程序便建好了。
2.3 軟件具體實現(xiàn)簡介
首先應進行界面設計。進入到資源窗口,根據(jù)需要添加菜單欄、對話框等。將軟件提供的各種控件,如編輯框(Edit Control)、按鈕(Button)等,根據(jù)需要加入到相應窗體中,并修改其屬性,構成一個美觀實用的程序界面。需要注意的是,設計界面大小應和PDA屏幕相適應,避免顯示不全或軟鍵盤遮擋界面。
然后將各控件進行變量的關聯(lián),并對按鈕進行命令的編輯。程序的絕大部分代碼都是在這個階段寫的,根據(jù)預先設計好的程序要實現(xiàn)的功能編寫相應的代碼。
代碼編寫完成后進行調(diào)試。調(diào)試的方法通常有以下兩種:一種是在PC上運行之前安裝的模擬器模擬PDA硬件環(huán)境運行,另一種是通過ActiveSync軟件將PDA與PC連接,并將程序導入PDA。在程序的調(diào)試階段一般采用第一種較為方便。
程序調(diào)試無誤后,可按上段中的第二種方法將程序導入PDA運行,在實際應用中發(fā)現(xiàn)新問題,可在PC上再修改調(diào)試。至此,一個基于PDA的測量軟件開發(fā)已經(jīng)完成。
按照以上步驟,開發(fā)了一款適用于三、四等水準測量電子記錄手簿——掌中水準,軟件開始界面如圖3 (a)所示,下面來介紹本軟件。
3.1 設計思想
掌中水準以實現(xiàn)水準測量內(nèi)外業(yè)一體化為宗旨,以最大限度降低勞動強度、提高生產(chǎn)效率為目標,以操作簡單化、運行智能化、限差控制自動化為條件,使用目前主流開發(fā)語言Microsoft Visual C++開發(fā)其各功能模塊。
3.2 數(shù)據(jù)存儲結構
掌中水準針對以光學水準儀觀測,以掌上電腦PDA作為記錄器,手工鍵入數(shù)據(jù)的記錄模式設計的。每個工程包含如下兩個文件:一個工程信息文件(文件名.INF),一個水準路線記錄文件(文件名.LEV)。水準路線記錄文件為整個工程的主文件。各文件結構如表1、表2所示。
工程信息文件結構 表1
水準路線記錄文件結構 表2
3.3 軟件流程圖(圖2)
圖2 軟件流程圖
3.4 軟件重要源代碼
3.5 軟件主要功能
(1)新建工程
在如圖3(b)窗口中,可將工程信息存儲到PDA上,這些信息包括工程名稱、觀測者、記錄者、觀測等級、觀測日期、使用儀器號、后尺常數(shù)、前尺常數(shù)。
圖3 軟件主要功能界面
(2)水準測量外業(yè)數(shù)據(jù)錄入
外業(yè)數(shù)據(jù)錄入模塊包括圖3(c)、(d)兩個窗口。這是本軟件的基本功能,將外業(yè)測量數(shù)據(jù)存儲到PDA上。
每個測段開始前要求用戶在圖3(c)所示窗口中輸入測段起點和終點。測段起止點輸入完成后,在圖3(d)中輸入各項原始觀測數(shù)據(jù),輸入完畢后,點擊圖3 (d)窗口中的確定按鈕,系統(tǒng)將自動計算該測站的前、后視距,視距差,累計視距差,黑、紅面高差以及本測站高差,并按照新建工程時所選擇的施測等級進行限差檢核。如檢核合格,將各項數(shù)據(jù)按上文中表2所示結構直接記錄到記錄文件中。為防止數(shù)據(jù)偽造,數(shù)據(jù)檢核不合格時,將彈出如圖3(e)所示的對話框,系統(tǒng)不記錄本測站數(shù)據(jù),提示“限差超限,請重新測量”,并清除窗口中已輸入的觀測數(shù)據(jù)。測段完成時用戶按圖3 (d)界面上的測段結束鍵,完成此測段的測量并進入下一測段。
考慮到外業(yè)工作的實際情況,如圖3(d)所示,在PDA屏幕上設計了一些常用按鈕(數(shù)字鍵、刪除鍵、小數(shù)點符號),而且這些按鈕足夠大,測量人員能直接用手指操作,界面簡潔實用。
(3)限差瀏覽
針對本系統(tǒng)的適用范圍,系統(tǒng)將現(xiàn)行國家水準規(guī)范規(guī)定的三等、四等水準測量限差置入程序中,供記錄者隨時瀏覽。
(4)綜合查詢
由于在測量工作進行時,有時需要對已有的數(shù)據(jù)進行查詢,程序設計了綜合查詢功能,使用戶能夠隨時對保存在PDA中的測量記錄進行瀏覽查詢。綜合查詢窗口如圖3(f)所示。為防止偽造數(shù)據(jù),此窗口只能進行查詢,而不能對數(shù)據(jù)進行刪除、添加、修改操作。
軟件研制成功后,便于2009年12月投入到武吉高速江西修水段水準測量作業(yè)中。實際應用表明,軟件各功能模塊工作正常,操作簡便,減輕了記錄員負擔,內(nèi)業(yè)處理方便,較大提高了水準測量的速度與效率,縮短了項目工作時間,節(jié)省了項目經(jīng)費。
隨著微電子技術的迅猛發(fā)展,PDA廣泛應用于各項測量工作中將是一種必然趨勢,基于PDA的測量程序開發(fā)也將逐漸成為測量人員的基本技能。本文內(nèi)容有助于普通測繪人員了解和學習基于PDA測量軟件開發(fā),所述方法對進行類似測量軟件的實現(xiàn)具有很好的借鑒意義。
[1] 高志偉,宋雅娟,牛江川等.Visual C++程序設計教程與上機指導[M].北京:北京大學出版社,2006
[2] 周奕君,童小華.基于掌上電腦PDA的水準測量電子手簿研究與關鍵技術開發(fā)[J].黑龍江哈爾濱:測繪與空間地理信息,2008(1):17~20
[3] 劉俊清,李克,郭鋒等.利用掌上電腦開發(fā)水準測量記簿軟件[J].遼寧沈陽:東北地震研究,2006(1):52~55
[4] 李苑紅.基于PDA工程測量軟件的開發(fā)與應用[J].廣東廣州:廣東水利水電,2009(11):68~70
[5] 蔣勤耕.掌上電腦在外業(yè)測繪工作中的應用[J].湖北武漢:城市勘測,2005(5):50~54
[6] 徐菊華,史保勇.基于PDA的水準測量內(nèi)外業(yè)一體化系統(tǒng)開發(fā)[J].湖北武漢:地理空間信息,2007(3):104~106
The Development of PDA Leveling Software
Lu Xiang,Zhang Jun
(Chinese Geosciences University Surveying and Mapping Engineering System,Wuhan 430074,China)
With the wide use of PDA in surveying and mapping,developing PDA-based surveying software will become a basic ability of surveyors.This paper discusses this problem using the mainstream programming language Visual C++.By discussion on the steps of developing surveying programs based on Windows Mobile PDA,form an integrated procedure,method and then program the leveling software ZhangZhong Level.Finally,applying the software to the leveling survey of the Wuji highway,Jiangxi-Xiushui county to prove the correctness and feasibility of this method.
C++;PDA;Surveying programs;Software development
1672-8262(2011)01-123-04
P209
B
2010—04—06
盧祥(1989—),男,本科在讀,測繪工程專業(yè)。