農(nóng)秀蓮,劉 瓊
(海南水文地質(zhì)工程地質(zhì)勘察院,海南海口 571100)
基于MATLAB的常用數(shù)字水準(zhǔn)儀數(shù)據(jù)格式的轉(zhuǎn)換*
農(nóng)秀蓮,劉 瓊
(海南水文地質(zhì)工程地質(zhì)勘察院,海南???571100)
以徠卡DNA 03和天寶DiNi 03為例,介紹電子水準(zhǔn)儀的數(shù)據(jù)存儲文件的格式、內(nèi)外業(yè)數(shù)據(jù)一體化的實(shí)現(xiàn),以及如何使用MATLAB語言來讀取文件數(shù)據(jù)和處理數(shù)據(jù)的方法,并結(jié)合Microsoft Excel軟件自動生成電子水準(zhǔn)記錄手簿。
數(shù)字水準(zhǔn)儀;數(shù)據(jù)文件格式;數(shù)據(jù)處理;水準(zhǔn)觀測手簿;程序
數(shù)字水準(zhǔn)儀集光學(xué)技術(shù)、電子技術(shù)、數(shù)字圖像處理技術(shù)以及計(jì)算機(jī)技術(shù)于一體,可用于各種高等級水準(zhǔn)測量和精密工程測量,其數(shù)字化的讀數(shù)和記錄方法不但可以有效地消除各種測、記誤差,而且外業(yè)觀測效率高,極大地提高了工作效率。目前已經(jīng)廣泛地應(yīng)用于各項(xiàng)測繪生產(chǎn)作業(yè)中,如地鐵沉降監(jiān)測、基坑沉降監(jiān)測、建筑物沉降監(jiān)測等。
常用的數(shù)字水準(zhǔn)儀包括天寶公司生產(chǎn)的DiNi 03水準(zhǔn)儀和徠卡公司生產(chǎn)的DNA 03水準(zhǔn)儀。數(shù)字水準(zhǔn)儀的基本原理是:利用條碼尺上的反射光,通過望遠(yuǎn)鏡鏡頭,并經(jīng)過分光鏡分光后,一路供人眼觀測,另一路被CCD線陣接收,進(jìn)而轉(zhuǎn)換成電信號,經(jīng)A/D電路形成數(shù)字信號,在CPU的控制下,將拍攝到的條碼信息與內(nèi)存中水準(zhǔn)尺的條碼信息進(jìn)行比較和計(jì)算,計(jì)算成功后將讀數(shù)存入PCMCIA卡。數(shù)字水準(zhǔn)儀的工作原理,如圖1所示。
數(shù)字水準(zhǔn)儀給測量工作帶來極大便利,但是在使用過程中筆者發(fā)現(xiàn)數(shù)字水準(zhǔn)儀仍然存在一些不足之處。例如:使用徠卡或天寶數(shù)據(jù)通訊軟件下載的原始數(shù)據(jù)格式與國內(nèi)現(xiàn)有規(guī)范要求的手簿格式不一致,不便于成果檢核和成果直接提交。鑒于數(shù)字水準(zhǔn)儀存在以上不足,筆者通過對數(shù)據(jù)文件格式進(jìn)行分析,利用MATLAB編寫了數(shù)據(jù)格式轉(zhuǎn)換程序,并應(yīng)用于沉降監(jiān)測工程中。實(shí)踐證明,利用該程序可提高工作效率。
圖1 電子水準(zhǔn)儀工作原理示意圖Fig.1 Working principle sketch map of electronic level
DNA03電子水準(zhǔn)儀常用的數(shù)據(jù)格式為GSI格式,該格式是徠卡儀器的專用記錄格式,它是由字索引+測量數(shù)據(jù)構(gòu)成一個測量數(shù)據(jù)塊,1行記錄由1個或多個數(shù)據(jù)塊組成。下面通過示例簡單介紹其數(shù)據(jù)格式:
以上數(shù)據(jù)中,“410001+00000000?......4”表示一個測段開始,其中“41”是字索引,用于標(biāo)識該數(shù)據(jù)塊?!?10002+000000000000BM07”中的前兩位“11”代表點(diǎn)號的字索引,“000000000000BM07”為點(diǎn)號,“83..58+0000000011790873”中的“83”是該點(diǎn)的高程的字索引,其高程為“0000000011790873”,其它的內(nèi)容類似?!?2”是視距的字索引,“331”為后視1的字索引,“332”為前視1的字索引,“335”為前視2的字索引,“336”為后視2的字索引,“571”為測站標(biāo)準(zhǔn)差、“572”為累計(jì)測站差、“573”距離差、“574”線路總長。
下載DiNi原始數(shù)據(jù)時,可以選擇REC E和REC 500。本文主要針對REC E原始數(shù)據(jù)格式。
REC E原始數(shù)據(jù)格式的一行記錄中共包含121個字符,其中第1~6個字符為文件頭,用來說明文件格式;8~16為第一數(shù)據(jù)塊,用來記錄數(shù)據(jù)行存儲地址;18~48為第二數(shù)據(jù)塊,用來記錄點(diǎn)名、測量時間和測量次數(shù)等;50~71為第三數(shù)據(jù)塊,用來記錄前后視標(biāo)識、讀數(shù)、單位等;73~94為第四數(shù)據(jù)塊,用來記錄視距、單位等;95~117為第五數(shù)據(jù)塊,用來記錄高程和單位等;各個數(shù)據(jù)塊之間的2個字符用來表示數(shù)據(jù)塊分割標(biāo)識符,最后的4個字符分別代表標(biāo)識符、空格、回車符和換行符等。
程序的主要算法是:打開原始數(shù)據(jù)文件,判斷數(shù)據(jù)文件格式。然后判斷測量線路,以每一行數(shù)據(jù)為處理單元,將每行的所有數(shù)據(jù)以字符的形式讀到構(gòu)架數(shù)組(Structure array)中,構(gòu)架數(shù)組的域由構(gòu)架名和域名組成。將測站名稱作為構(gòu)架名,每測站的前后尺讀數(shù)、前后視距讀數(shù)、高差等作為域名。然后根據(jù)每一測站點(diǎn)名,自動合并計(jì)算一至多個測站數(shù)據(jù),得到每一測段的高差、距離平均值,計(jì)算觀測數(shù)據(jù)并按規(guī)范格式輸出計(jì)算結(jié)果。程序流程,見圖2。
圖2 水準(zhǔn)儀數(shù)據(jù)格式轉(zhuǎn)換程序流程Fig.2 The flowchart of level data format transformation program
主要算法的實(shí)現(xiàn)步驟如下:
1)觀測數(shù)據(jù)文件的打開,利用uigetfile命令。其中,DNA 03數(shù)據(jù)文件后綴為gsi,DiNi 03數(shù)據(jù)文件后綴為dat。主要代碼如下:
2)將測段信息分類存儲。Mp(jj)為測站名稱,Rb1和Rb2分別為前后視距讀數(shù),Hb1和Hb2分別為前后尺讀數(shù)。主要代碼如下:
3)Excel對象的創(chuàng)立。實(shí)現(xiàn)代碼如下:
4)設(shè)置Excel單元格的格式,并將結(jié)果按規(guī)范格式輸出。實(shí)現(xiàn)代碼如下:
通過循環(huán)和選擇,將構(gòu)架數(shù)組中的數(shù)據(jù)以規(guī)范格式輸出。
以正在進(jìn)行的某醫(yī)院建筑沉降監(jiān)測為例,選擇其中一期監(jiān)測數(shù)據(jù)進(jìn)行測試。啟動程序后,可根據(jù)觀測數(shù)據(jù)存放位置選擇并打開文件。圖3為選擇打開觀測數(shù)據(jù)文件。
然后可根據(jù)需要,將原始觀測數(shù)據(jù)轉(zhuǎn)換為Excel格式的標(biāo)準(zhǔn)手簿形式。輸出成果,如圖4所示。
圖3 打開觀測數(shù)據(jù)文件Fig.3 Opening observation data file
電子水準(zhǔn)儀具有技術(shù)成熟、操作簡單、讀數(shù)客觀、自動記錄等很多優(yōu)點(diǎn),目前在水準(zhǔn)測量中應(yīng)用越來越廣泛,學(xué)習(xí)水準(zhǔn)儀數(shù)據(jù)文件格式并將數(shù)據(jù)處理程序化,對快速、準(zhǔn)確提供規(guī)范的水準(zhǔn)測量手簿非常必要。
利用本程序時,可根據(jù)需要通過選擇不同模板來實(shí)現(xiàn)水準(zhǔn)手簿的自動生成。水準(zhǔn)觀測手簿以Excel格式保存,格式內(nèi)容與國家水準(zhǔn)測量規(guī)范規(guī)定一致且美觀。本程序的開發(fā),對研究與開發(fā)類似的數(shù)據(jù)處理軟件具有借鑒意義。
圖4 輸出轉(zhuǎn)換成果Fig.4 The output of transforming results
[1]鄒積亭,江恒彪.DiNi12數(shù)字水準(zhǔn)儀數(shù)據(jù)文件格式與讀取算法[J].北京測繪,2006(1):55-57.
[2]許波,劉征.MatLab工程數(shù)學(xué)應(yīng)用[M].北京:清華大學(xué)出版社,2000.
[3]姚連璧,周小平.基于MATLAB的控制網(wǎng)平差程序設(shè)計(jì)[M].上海:同濟(jì)大學(xué)出版社,2006.
Transform of Data Format of Common Digital Level Based on MATLAB
NONG Xiu-lian,LIU Qiong
(Hainan Investigation Institute of Hydrogeology and Engineering Geology,Haikou Hainan 571100,China)
Based on the Leica DNA 03 and the Trimble DiNi 03 as examples,this paper introduces the digital level data storage file format,both inside and outside the working,data incorporate realizing and how to use the MATLAB language to read the file data and processing data,and combined with the Microsoft Excel software to automatically generate electronic level recording.
digital level;data file format;data processing;leveling observation field book;program
P 203;P 204
B
1007-9394(2012)02-0035-03
2011-10-13
農(nóng)秀蓮(1968~),女,廣西武鳴人,工程師,現(xiàn)主要從事工程測量、巖土工程監(jiān)測方面的工作。