国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Leica DNA03水準(zhǔn)儀數(shù)據(jù)格式轉(zhuǎn)換與存儲(chǔ)方法研究

2019-07-30 08:59:42隋正蘇遼寧有色地質(zhì)地理信息研究院有限公司遼寧撫順113006
中國(guó)房地產(chǎn)業(yè) 2019年15期
關(guān)鍵詞:水準(zhǔn)儀數(shù)據(jù)格式外業(yè)

文/隋正蘇 遼寧有色地質(zhì)地理信息研究院有限公司 遼寧撫順 113006

1、緒論

精密電子水準(zhǔn)儀擁有較高觀測(cè)精度和觀測(cè)效率,便于記錄等優(yōu)點(diǎn),降低人工勞動(dòng)強(qiáng)度,越來(lái)越受到測(cè)繪生產(chǎn)單位青睞。[1]目前市場(chǎng)上常見數(shù)字水準(zhǔn)儀型號(hào)等級(jí)都很齊全,完全能滿足不同工作的各種精度要求。[2]

雖然電子水準(zhǔn)儀已經(jīng)實(shí)現(xiàn)讀數(shù)自動(dòng)化、記錄電子化,但LeicaDNA03水準(zhǔn)儀原始數(shù)據(jù)格式不易整理,需要人工編輯;外業(yè)觀測(cè)數(shù)據(jù)導(dǎo)出格式通常為默認(rèn)的GSI,可讀性差,需要另行編制程序進(jìn)行轉(zhuǎn)換。

本文通過(guò)對(duì)Leica DNA03數(shù)字水準(zhǔn)儀數(shù)據(jù)文件格式分析,用VC6.0編程平臺(tái),對(duì)數(shù)字水準(zhǔn)儀的觀測(cè)數(shù)據(jù)文件進(jìn)行處理,利用C++語(yǔ)言編程讀取數(shù)據(jù)文件并轉(zhuǎn)換,編程調(diào)用Excel生成水準(zhǔn)測(cè)量外業(yè)記錄表,將數(shù)字水準(zhǔn)儀文件格式轉(zhuǎn)換成外業(yè)規(guī)范水準(zhǔn)手簿,便于直接導(dǎo)入常用的平差軟件進(jìn)行計(jì)算。

本文研究的主要內(nèi)容包括對(duì)Leica GSI-8數(shù)據(jù)存儲(chǔ)格式的字段分析,GSI-8格式向水準(zhǔn)記錄本格式轉(zhuǎn)換以及Excel表格水準(zhǔn)數(shù)據(jù)的存貯,主要用到的理論方法有VC6.0編程平臺(tái)在MFC框架下的二次開發(fā),Excel電子表格與VC編程平臺(tái)的聯(lián)合。

2、DNA03水準(zhǔn)儀編碼格式

2.1 Leica DNA03水準(zhǔn)儀數(shù)據(jù)存儲(chǔ)格式介紹

Leica DNA水準(zhǔn)儀記錄的信息較全面,數(shù)據(jù)下載可使用附帶軟件來(lái)完成。利用軟件下載數(shù)據(jù)默認(rèn)格式為GSI,不便于編輯處理。Leica測(cè)量辦公系統(tǒng)提供了自定義下載格式功能,運(yùn)行“格式管理器”根據(jù)所需下載自定義數(shù)據(jù)格式。在下載格式文件中可選擇包括文件頭、文件尾、工程名稱和線路名稱等,測(cè)站觀測(cè)數(shù)據(jù)中的必選內(nèi)容包括點(diǎn)名、距離、測(cè)量類型、標(biāo)尺讀數(shù),這些是內(nèi)業(yè)平差中必要的基礎(chǔ)數(shù)據(jù)。另外,格式中還可根據(jù)需求自定義,包括觀測(cè)日期、觀測(cè)方法、觀測(cè)者、儀器型號(hào)等內(nèi)容。自定義數(shù)據(jù)類型下載的文件后綴為*.mdt,用文本編輯器打開閱讀、打印。但提取出平差所需數(shù)據(jù),形成符合平差軟件要求的數(shù)據(jù)文件,還需借助編程方法來(lái)實(shí)現(xiàn)。

2.2 GSI數(shù)據(jù)字段格式分析

Leica DNA03電子水準(zhǔn)儀采用的是GSI格式存儲(chǔ)數(shù)據(jù),包括GSI-8和GSI-16格式。GSI數(shù)據(jù)以“塊”為單位進(jìn)行傳送,每個(gè)數(shù)據(jù)塊包含若干個(gè)數(shù)據(jù)段,數(shù)據(jù)段用兩個(gè)或三個(gè)標(biāo)志字符WI來(lái)區(qū)分不同數(shù)據(jù)。GSI-8數(shù)據(jù)格式中,每個(gè)數(shù)據(jù)段共有16個(gè)字符,包括7個(gè)信息字符,8個(gè)數(shù)據(jù)字符和一個(gè)空白字符;GSI-16數(shù)據(jù)格式中,每個(gè)數(shù)據(jù)段共有24個(gè)字符,其中有16個(gè)數(shù)據(jù)字符,可以存儲(chǔ)更多數(shù)據(jù)信息。[4]本文以GSI-8數(shù)據(jù)格式為例進(jìn)行分析。

3、數(shù)據(jù)格式轉(zhuǎn)換存儲(chǔ)的設(shè)計(jì)實(shí)現(xiàn)

3.1 數(shù)據(jù)格式轉(zhuǎn)換與存儲(chǔ)的總體設(shè)計(jì)

兩種方法可將數(shù)據(jù)轉(zhuǎn)移到計(jì)算機(jī)中。一是通過(guò)通信接口設(shè)置好通信參數(shù)用專門通信軟件傳輸,二是用筆記本電腦讀卡功能直接拷貝測(cè)量數(shù)據(jù)。

目前已有專業(yè)軟件能將電子水準(zhǔn)儀測(cè)量數(shù)據(jù)轉(zhuǎn)換成傳統(tǒng)的測(cè)量記錄手簿形式,但軟件專門性、針對(duì)性不強(qiáng)。為了使數(shù)據(jù)處理自動(dòng)化程度更高,可以設(shè)計(jì)自己的算法,通過(guò)程序來(lái)處理數(shù)據(jù)。考慮到Excel軟件是比較優(yōu)秀的表格處理軟件,方案采用VC6.0設(shè)計(jì)可視化界面,用C++語(yǔ)言結(jié)合Excel對(duì)象來(lái)處理數(shù)據(jù)。

(1)設(shè)計(jì)思路

同一種儀器由于觀測(cè)方法不同,數(shù)據(jù)也存在差異,本文基于用Leica DNA03水準(zhǔn)儀觀測(cè)的測(cè)量模式BFFB和測(cè)量模式BBFF的原始數(shù)據(jù)文件進(jìn)行轉(zhuǎn)換。

本文設(shè)計(jì)思路考慮到手簿表格格式整齊有規(guī)律,首先將測(cè)量產(chǎn)生的有效數(shù)據(jù)利用程序代碼提取出來(lái),保留原始數(shù)據(jù)格式,寫入Excel中通過(guò)公式進(jìn)行格式轉(zhuǎn)換。

(2)數(shù)據(jù)提取

電子水準(zhǔn)儀測(cè)量成果文件格式具有固定性,我們可通過(guò)編程開發(fā)用一定算法提取有效數(shù)據(jù),本文以水準(zhǔn)線路為例對(duì)其數(shù)據(jù)提取及處理的基本思路進(jìn)行說(shuō)明。

要實(shí)現(xiàn)數(shù)據(jù)讀取,首先選擇要轉(zhuǎn)換的文件格式,再進(jìn)行相應(yīng)模式數(shù)據(jù)的逐行讀取,定義成員函數(shù)和用到的各個(gè)變量,利用類對(duì)象將數(shù)據(jù)段中的字符串寫入到所定義的變量中,再將字符串格式數(shù)據(jù)轉(zhuǎn)換成整型的數(shù)據(jù),為后續(xù)處理做準(zhǔn)備。

(3) VC與Excel聯(lián)合

創(chuàng)建程序,在程序入口和出口處增加代碼支持COM庫(kù)。從Office安裝目錄中找到對(duì)VC操作Excel文件的動(dòng)態(tài)庫(kù),引入所需對(duì)象模型,添加具體代碼來(lái)響應(yīng)操作Excel命令。

3.2 數(shù)據(jù)格式轉(zhuǎn)換與存儲(chǔ)的具體實(shí)現(xiàn)

(1)技術(shù)要點(diǎn)分析

仔細(xì)閱讀Leica GSI 格式說(shuō)明文件,正確理解Leica DNA03水準(zhǔn)儀的各項(xiàng)數(shù)據(jù)代碼,在具體設(shè)計(jì)時(shí)要注意以下幾點(diǎn):

①文件頭獲取時(shí)間,觀測(cè)者,儀器型號(hào)等信息;②測(cè)段起始和結(jié)束標(biāo)志;③測(cè)段異常處理,包括以下幾個(gè)情況:整站重測(cè)的處理和一次觀測(cè)重測(cè)的處理,可以利用“if/else”選擇結(jié)構(gòu),通過(guò)關(guān)鍵字符對(duì)所讀取的數(shù)據(jù)流進(jìn)行篩選;采用“while”循環(huán),根據(jù)需要設(shè)置好循環(huán)結(jié)束和選擇條件,合并測(cè)站數(shù)據(jù)信息和測(cè)段數(shù)據(jù)信息。

(2)讀取數(shù)據(jù)

本文中的程序需要對(duì)txt文件中的數(shù)據(jù)進(jìn)行逐行讀取,所以用CStdioFile中的ReadString函數(shù),讀取到CString中,再按所需進(jìn)行拆分或截取,獲得有實(shí)際意義的測(cè)量數(shù)據(jù)段,[6]由于觀測(cè)方法不同,導(dǎo)致原始數(shù)據(jù)文件內(nèi)容存在差異,要正確的讀取到所需要的測(cè)量數(shù)據(jù),就需要編寫不同的代碼,觀測(cè)模式的不同選擇用對(duì)話框中的單選鈕來(lái)實(shí)現(xiàn),并且要將其與單擊按鈕聯(lián)系起來(lái)。

(3) 建立與Excel對(duì)象的聯(lián)系

利用Visual C++ 6.0,建立一個(gè)MFC基于對(duì)話框的工程項(xiàng)目,在主對(duì)話框中加入按鈕:

ID: IDC_BUTTON_XLC 標(biāo)題:存儲(chǔ)數(shù)據(jù);雙擊該按鈕,增加成員函數(shù)

(4) Excel單元格的寫入

表頭的寫入,例如:m_ExlSheet.SetName("原始數(shù)據(jù)導(dǎo)入");同理,其他單元格的內(nèi)容也依次進(jìn)行設(shè)置,如:xlSheet.Cells(XX*3+9,2) = YY(i+1,3)通過(guò)設(shè)置循環(huán)和選擇將數(shù)組YY中的數(shù)據(jù)輸入到電子表格所對(duì)應(yīng)的單元格中[4]。將上述取出的數(shù)據(jù),按表格中相應(yīng)的位置循環(huán)寫入后,整個(gè)文件中相應(yīng)的數(shù)據(jù)將會(huì)全部寫入表格中,從而實(shí)現(xiàn)數(shù)據(jù)的轉(zhuǎn)換。

(5) 程序設(shè)計(jì)成果

根據(jù)原始數(shù)據(jù)格式編寫具體代碼,添加到相應(yīng)按鈕的編輯代碼處,過(guò)程中利用VC++6.0軟件的調(diào)試功能進(jìn)行錯(cuò)誤修改,最終使程序能夠順利的運(yùn)行。

圖3-1為通過(guò)本程序?qū)崿F(xiàn)的水準(zhǔn)觀測(cè)手簿:

圖3-1 Excel水準(zhǔn)手簿形式記錄表格

與原始數(shù)據(jù)相比較,可以看到,原始GSI-8格式數(shù)據(jù)已成功轉(zhuǎn)化成常用的觀測(cè)手簿形式,更方便進(jìn)一步的整理和計(jì)算。

結(jié)論:

電子水準(zhǔn)儀的出現(xiàn)實(shí)現(xiàn)了水準(zhǔn)測(cè)量中的讀數(shù)自動(dòng)化、記錄電子化,降低了外業(yè)強(qiáng)度,減少了讀數(shù)誤差,具有光學(xué)水準(zhǔn)儀無(wú)可比擬的優(yōu)勢(shì)。但其結(jié)果電子文檔的呈現(xiàn)形式給數(shù)據(jù)可讀性帶來(lái)困難。本文分析Leica DNA03電子水準(zhǔn)儀記錄格式的特點(diǎn),用C++語(yǔ)言編寫了相關(guān)的數(shù)據(jù)預(yù)處理程序,對(duì)GSI格式的測(cè)量數(shù)據(jù)進(jìn)行提取并用Excel實(shí)現(xiàn)格式的轉(zhuǎn)換,輸出為電子觀測(cè)手簿的文件,從而實(shí)現(xiàn)水準(zhǔn)測(cè)量從外業(yè)觀測(cè)到內(nèi)業(yè)計(jì)算一體化,有很好的實(shí)踐意義。

猜你喜歡
水準(zhǔn)儀數(shù)據(jù)格式外業(yè)
基于移動(dòng) GIS 的公路工程外業(yè)調(diào)查系統(tǒng)研究
基于市政管線外業(yè)采集命名規(guī)則和輔助軟件開發(fā)
在智能交通系統(tǒng)中PLC數(shù)據(jù)格式轉(zhuǎn)換方法的研究
天津市第一次全國(guó)地理國(guó)情普查外業(yè)調(diào)繪核查
公路外業(yè)測(cè)量中GPS RTK測(cè)量技術(shù)的應(yīng)用探究
論子函數(shù)在C語(yǔ)言數(shù)據(jù)格式輸出中的應(yīng)用
DWG與SHP數(shù)據(jù)格式互轉(zhuǎn)換方法研究——以龍巖規(guī)劃測(cè)繪數(shù)據(jù)為例
建筑裝修用簡(jiǎn)易水準(zhǔn)儀的設(shè)計(jì)
DiNi-12電子水準(zhǔn)儀在采沉區(qū)沉降觀測(cè)中的應(yīng)用
長(zhǎng)度計(jì)量基礎(chǔ)知識(shí)講座(三十八)
常山县| 桐梓县| 沧源| 静乐县| 江都市| 崇信县| 江山市| 宜章县| 霍林郭勒市| 阿拉尔市| 明溪县| 始兴县| 凉城县| 博兴县| 扶风县| 东乡族自治县| 安图县| 方正县| 阿拉善左旗| 临潭县| 屏东市| 孟村| 安康市| 连平县| 长丰县| 咸阳市| 长春市| 南宁市| 新巴尔虎左旗| 永清县| 贵港市| 屯留县| 濮阳市| 白沙| 磐石市| 沈丘县| 拉萨市| 两当县| 公安县| 襄汾县| 垣曲县|