胥輝龍 薛蛟
摘 要:數(shù)字水準(zhǔn)儀能夠自動(dòng)讀數(shù)并記錄觀測數(shù)據(jù),不同的儀器型號產(chǎn)生的數(shù)據(jù)格式不一樣。本文研究南方和中緯兩種數(shù)字水準(zhǔn)儀的觀測文件格式,編制軟件,生成計(jì)算報(bào)告與IN1文件。
關(guān)鍵詞:數(shù)字水準(zhǔn)儀;數(shù)據(jù)格式轉(zhuǎn)換;Excel;IN1文件
1 研究背景
在數(shù)字水準(zhǔn)儀生成的電子手簿中,用戶可直接讀取各測站的視距、中絲讀數(shù)以及讀數(shù)誤差。但是不能計(jì)算高差,更不能控制各項(xiàng)限差。鑒于數(shù)字水準(zhǔn)儀處理數(shù)據(jù)的不足,編制軟件處理南方和中緯儀器的電子手簿,輸出報(bào)告并生產(chǎn)IN1文件。
2 數(shù)據(jù)格式介紹
2.1 南方數(shù)字水準(zhǔn)儀數(shù)據(jù)格式
南方數(shù)字水準(zhǔn)儀文本比較簡潔,能夠從文件中直接讀取起始點(diǎn)點(diǎn)號和高程,各個(gè)測站的前尺、后尺讀數(shù),前視后視距離,每個(gè)過渡點(diǎn)的高程以及標(biāo)準(zhǔn)偏差。手簿中每行的第一個(gè)字母表示該行數(shù)據(jù)的ID,數(shù)據(jù)ID表示該行數(shù)據(jù)的屬性,例如B表示該行數(shù)據(jù)為起始數(shù)據(jù),G和I分別表示后視數(shù)據(jù)和前視數(shù)據(jù)。
2.2 中緯數(shù)字水準(zhǔn)儀數(shù)據(jù)格式
中緯數(shù)據(jù)文體在第一行有每列數(shù)據(jù)類型說明文本,從左至右依次為:“PtID”、“Order”、“Height”、“Distance”、“StaffType”、“ReducedLevel”和“Type”。依次表示測站ID、水準(zhǔn)測量等級、標(biāo)尺讀數(shù)、視距長度、標(biāo)尺編號、高程和測量方式。其中“PtID”中遇到符號“@”表示一個(gè)測段的開始。
在程序編制中,根據(jù)文件的“Order”判斷該行數(shù)據(jù)的數(shù)據(jù)類型,從而向Excel或IN1文件寫入相應(yīng)的數(shù)據(jù)。
2.3 Excel手簿數(shù)據(jù)格式
在生成的Excel中,表頭有“電子水準(zhǔn)測量記錄手簿”字樣,并且記錄日期、儀器、呈象程度、天氣情況、溫度、云量、風(fēng)向、土質(zhì)等信息。
2.4 IN1數(shù)據(jù)格式
IN1文件是標(biāo)準(zhǔn)的ASCⅡ文件,由兩部分組成,第一部分為高程已知數(shù)據(jù),即已知高程點(diǎn)點(diǎn)號及其高程值。第二部分為觀測數(shù)據(jù),它包括測段的起點(diǎn)點(diǎn)號,終點(diǎn)點(diǎn)號,測段高差,測段距離和測段測站數(shù),其中測段測站數(shù)為可選項(xiàng)。
第一部分中每一個(gè)已知高程點(diǎn)占一行,已知高程以米為單位,其順序可以任意排列。第二部分中每一個(gè)測段占一行,測段高差以米為單位,測段距離以公里為單位。
3 數(shù)據(jù)轉(zhuǎn)換軟件研制
3.1 MFC工程與Excel的連接
在MFC中,添加需要的類庫之后,加入相應(yīng)頭文件,創(chuàng)建Excel服務(wù),并建立新文檔。通過已知的數(shù)據(jù)格式讀取數(shù)據(jù)文件,經(jīng)過水準(zhǔn)測量數(shù)據(jù)處理之后,將數(shù)據(jù)寫入Excel,判斷限差然后保存并關(guān)閉文件。
3.2 文件讀寫流程
建立MFC控制臺應(yīng)用程序并與Excel連接之后,開始編制代碼處理數(shù)據(jù)。程序步驟如下。
第一步:獲取一個(gè)觀測文件,隨之新建Excel或IN1文件以便儲存數(shù)據(jù)。
第二步:讀取一行水準(zhǔn)測量觀測數(shù)據(jù)文件,并判斷該行數(shù)據(jù)類型,數(shù)據(jù)類型分為:測段開始信息、前(后)視數(shù)據(jù)、測段完成信息、其它數(shù)據(jù),然后分別進(jìn)入第三、四、五、六步。如果數(shù)據(jù)讀取結(jié)束則重復(fù)第一步。
第三步:對于測段開始數(shù)據(jù),則寫入相應(yīng)的測段開始信息之后進(jìn)入第二步。
第四步:對于前視、后視數(shù)據(jù),先寫入對應(yīng)的觀測數(shù)據(jù),并判斷一個(gè)測站是否完成,如果未完成,則進(jìn)入第二步讀取一行數(shù)據(jù),如果已經(jīng)完成,則還需寫入測站相關(guān)信息,再進(jìn)入第二步。
第五步:對于測段完成數(shù)據(jù),則寫入測段結(jié)束相關(guān)的數(shù)據(jù),并進(jìn)入第二步。
第六步:對于其它的數(shù)據(jù),報(bào)告文件錯(cuò)誤,進(jìn)入第一步處理下一個(gè)觀測文件。
3.3 界面設(shè)計(jì)
根據(jù)界線,首先選擇導(dǎo)出類型:導(dǎo)出到IN1文件、Excel文件或者Excel手簿轉(zhuǎn)IN1模式。然后選擇數(shù)據(jù)格式:南方TXT格式、中緯mdt格式。然后點(diǎn)擊文件按鈕選擇文件路徑,該路徑下的所有對應(yīng)的數(shù)據(jù)文件將被自動(dòng)提取出來,通過雙擊文件名,或者按鍵(選中特定的文件)(選中所有文件)(移除特定文件)和(移除所有文件)選中將要轉(zhuǎn)換的文件。在選擇結(jié)束之后,就可以點(diǎn)擊按鈕完成對選中文件的操作。操作流程如圖4.2所示。
4 總結(jié)與展望
本文研究南方和中緯數(shù)字水準(zhǔn)儀的數(shù)據(jù)格式,編制程序處理兩種型號的數(shù)字水準(zhǔn)儀數(shù)據(jù)格式處理系統(tǒng)。該系統(tǒng)能夠?qū)?shù)字水準(zhǔn)儀電子手簿中的數(shù)據(jù)轉(zhuǎn)換到Excel或者能夠在科傻軟件中運(yùn)行的IN1文件,檢查觀測數(shù)據(jù)的各項(xiàng)誤差,直接得到各個(gè)固定點(diǎn)的高程。并且實(shí)現(xiàn)了將Excel手簿轉(zhuǎn)換成IN1格式文件的功能。能夠適用于精密水準(zhǔn)測量和國家三、四等水準(zhǔn)測量。
參考文獻(xiàn)
[1]朱慧,李楨.數(shù)字水準(zhǔn)儀檢校方法及其存在問題研究[J].測繪技術(shù)裝備,2013,15(4):88+28.
[2]姚灼偉.對DINI03電子水準(zhǔn)儀與EXCEL的聯(lián)合應(yīng)用探析[J].科技創(chuàng)新與應(yīng)用,2014(4):279-280.
[3]劉經(jīng)南,葉曉明,楊蜀江.數(shù)字電子水準(zhǔn)儀原理綜述[J].電子測量與儀器學(xué)報(bào),2009,23(7):89-94.
[4]吳志猛.淺談工程測量的發(fā)展現(xiàn)狀與趨勢[J].科技創(chuàng)新與應(yīng)用,2014,12:278.
[5]吳克勝,雷順文.天寶dini03電子水準(zhǔn)儀數(shù)據(jù)格式轉(zhuǎn)換[J].安徽建筑,2011(06):184-185+183.