摘 要:與傳統(tǒng)水準儀比較,電子水準儀更方便快捷、精度更高、而且減少了人工記錄環(huán)節(jié)等優(yōu)點。為適應(yīng)生產(chǎn)需要,本文以DiNi12電子水準儀數(shù)據(jù)格式為例,使用VB編程工具,對DiNi12電子水準儀數(shù)據(jù)進行處理,自動生成符合規(guī)程要求的word格式手簿、直接統(tǒng)計高差,且能生成平差文件、自動計算、得出平差結(jié)果。
關(guān)鍵詞:電子水準儀DiNi12數(shù)據(jù)格式REC E(M5)數(shù)據(jù)分離向Word對象填充數(shù)據(jù)
中圖分類號:TP2文獻標識碼:A文章編號:1674-098X(2011)08(a)-0067-02
1序言
隨著計算機技術(shù)植入應(yīng)用,測繪儀器設(shè)備及測繪手段都得到了長足的發(fā)展。傳統(tǒng)的手工操作轉(zhuǎn)向了自動化,測繪方法從使用三角觀測轉(zhuǎn)為GPS測量,測高測角一體化的全站儀取代了經(jīng)緯儀,水準儀進化為自動安平和電子的;數(shù)據(jù)采集記錄方法也由過去的手工記錄逐步變?yōu)殡娮佑涗浕騼x器內(nèi)存卡自動記錄。設(shè)備的更新和新方法的使用,都是為了提高作業(yè)效率。而現(xiàn)實中常存在的矛盾問題是:高效的儀器設(shè)備輸出的數(shù)據(jù)格式不符合信息化和規(guī)程規(guī)范的要求,這就需要開發(fā)出一種銜接技術(shù)。下面以DiNi12為例進行研究。
DiNi12數(shù)字水準儀,易學易用,操作簡便,被廣泛應(yīng)用于國家一、二等水準測量及工程測量中。DiNil2數(shù)字水準儀雖然有諸多優(yōu)點,但仍存在一些使用上的缺陷。如使用天寶數(shù)據(jù)通訊軟件下載下來的原始數(shù)據(jù)格式與國內(nèi)現(xiàn)有規(guī)范要求的格式不一致;儀器雖然帶有平差功能,但下載后無法實現(xiàn)平差功能,而若在下載前進行平差又無法得到原始的觀測成果[2]。
鑒于DiNi12數(shù)字水準儀上述問題,筆者利用Microsoft Visual Basic可視化程序設(shè)計語言對數(shù)據(jù)通訊軟件下載下來的原始數(shù)據(jù)進行了格式轉(zhuǎn)換[1],可將原始數(shù)據(jù)格式轉(zhuǎn)換為Microsoft Word 表格和多種平差軟件可以識別的計算格式,實現(xiàn)了由原始數(shù)據(jù)格式向規(guī)范要求的標準格式的轉(zhuǎn)換。
2 數(shù)據(jù)文件格式
DiNi12數(shù)字水準儀采集的數(shù)據(jù)輸出文件格式一般有兩種,一種模式記錄測量原始數(shù)據(jù)(RM),另一種模式記錄計算數(shù)據(jù)(RMC),同時,DiNi12有兩種數(shù)據(jù)格式(與記錄模式不是同一個概念),一種是REC E(M5),另一種是REC500。REC E(M5)格式:
如表1所示。
REC E(M5)格式的數(shù)據(jù)行包含121個字符,總的數(shù)據(jù)以這個數(shù)據(jù)乘以地址行數(shù)而存在項目文件中。數(shù)據(jù)分為6個數(shù)據(jù)塊,每個數(shù)據(jù)塊之間使用“|”符號進行分割。字符1-6為格式說明,字符8-1為數(shù)據(jù)行存儲地址,字符18-48為點名、時間、測量次數(shù),字符50-71為前后視標識、讀數(shù)、單位,字符73—94為視距、單位,字符95—117為高程、單位,字符ll9為空格,接下來的字符120、121為回車符(CR)、換行符(LF)。空格字符在REC E(M5)格式中是重要的,不能被刪除。有了DiNil2的數(shù)據(jù)格式,我們就可以根據(jù)實際情況把需要的信息從文件中讀取出來。
3 DiNi12的數(shù)據(jù)處理
DiNi12的數(shù)據(jù)格式雖然固定而且規(guī)范,但這種原始的數(shù)據(jù)記錄還不能直接作為成果提交。因而必需把這種數(shù)據(jù)格式轉(zhuǎn)換成通常的水準記錄手薄形式。
目前,已有很多的專業(yè)軟件能將DiNI12數(shù)據(jù)文件進行轉(zhuǎn)換,但通用軟件的特點就是專門性、針對性不強,轉(zhuǎn)換的數(shù)據(jù)不能夠完全符合規(guī)范要求,也不能直接進入平差軟件。為了使數(shù)據(jù)處理自動化程度更高,我們根據(jù)規(guī)范的要求,以及數(shù)據(jù)格式的特點,利用Microsoft Visual Basic6.0進行編程,直接生成符合規(guī)范要求的手簿和平差軟件可以識別文件。
(1)數(shù)據(jù)讀取
Open FileName For Input As #1
Do While Not EOF(1)
Line Input #1, LC
VarR = Split(LC, \"|\")
Lcmax = UBound(VarR)
(2)數(shù)據(jù)分離
LR=Mid(VarR(3),1,2);StrLR=Trim(Mid(VarR(3),3,17));D=Mid(VarR(3),3,17)。
(3)Word對象變量的聲明與創(chuàng)建
Set WordApp = CreateObject(\"Word.Application\") ; WordApp.Visible = True;
Set Word = WordApp.Documents.Add(FileTemplate);Call WordApp.Selection.MoveDown(5, 30)。
(4)向Word對象填充數(shù)據(jù)
Word.tables(Wta + 1).cell(n, m) = XXX
(5)生成手簿與清華山維平差文件
到此整個數(shù)據(jù)處理完成,生成符合規(guī)范的標準手簿和平差文件,直接進行平差計算。
4 結(jié)束語
通過筆者對DiNi12的原始數(shù)據(jù)格式進行轉(zhuǎn)換,實現(xiàn)了由原始數(shù)據(jù)格式向規(guī)范要求的標準格式的轉(zhuǎn)換,達到了“水準觀測手簿”格式和“國家水準測量規(guī)范” 要求格式的統(tǒng)一,為處理數(shù)據(jù)節(jié)約了大量的時間,減少了因人為干預(yù)導(dǎo)致數(shù)據(jù)出錯的幾率。數(shù)據(jù)處理完成后,生成的平差文件格式能被多種平差軟件識別,有效提高了內(nèi)業(yè)數(shù)據(jù)處理的效率,為實際水準測量工作提供了很大的方便。
參考文獻
[1]源江科技編著.VB編程技巧280例[M].上海.上海科學普及出版社.2002.
[2]王勝玲、王德生、沈銘、宋波、尹訓(xùn)志、蘭善治.DiNil2數(shù)字水準儀數(shù)據(jù)處理內(nèi)外業(yè)一體化探討[J].地礦測繪,2009(1):32-34.