濟業2014-47天寶及徠卡電子水準儀數據預處理程序_第1頁
濟業2014-47天寶及徠卡電子水準儀數據預處理程序_第2頁
濟業2014-47天寶及徠卡電子水準儀數據預處理程序_第3頁
濟業2014-47天寶及徠卡電子水準儀數據預處理程序_第4頁
濟業2014-47天寶及徠卡電子水準儀數據預處理程序_第5頁
已閱讀5頁,還剩9頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、天寶及徠卡電子水準儀數據預處理程序使用說明以及介紹天寶及徠卡電子水準儀數據預處理程序說明報告編制: 陳禮坤審核: 賈克永審定: 趙振剛共 11 頁中鐵工程設計咨詢集團有限公司濟南設計院2015年01月 濟南1、程序開發背景隨著測量儀器的發展和工程對施工精度要求的的提高,電子水準儀日益廣泛地應用于各種工程測量中,其中天寶的DiNi系列電子水準儀和徠卡的DNA03電子水準儀占有較大的市場率。雖然數字水準儀已經幫助人們實現了讀數自動化,記錄電子化,并且相比傳統的光學水準儀,減少了人為讀數誤差。但如何對外業觀測的電子記錄數據進行精度檢查和外業觀測質量的評定,這也是一個比較具體而又復雜的問題。并且在實際

2、內業處理工作中,我們有時需要測站以及測段的詳細信息、最后還要將數據整理成平差文件(.in1數據格式),如果都采用人工識別,手工復制、粘貼,然后在EXCEL表格中計算的辦法。那么不僅內業的工作量大,而且步驟多,容易出錯。為此,筆者針對Trimble DiNi 03和徠卡DNA 03電子水準儀的數據觀測文件格式特點,編寫程序對電子水準儀的觀測數據文件進行處理,使之自動讀取外業觀測數據,然后通過計算、比較、精度評定,可以將原始觀測數據直接轉換成COSA平差軟件的高差觀測值文件,同時可以根據需要輸出測段信息、測站信息、以及精度評定需要的相關數據文件,以方便下一步的數據處理,從而提高內業數據處理的精度和

3、速度、實現水準測量從外業觀測到內業平差的一體化。2、程序功能2.1將讀入的Trimble DiNi 03和徠卡DNA 03電子水準儀的觀測數據經過計算,根據自定義的限差值,通過計算和判斷,進行智能識別,對不合格的觀測數據進行提示,最后得到外業觀測精度的評定結果,并保存成CSV格式數據。2.2根據計算的結果,得到測站統計數據文件和科傻軟件支持的平差數據文件。3、程序特色3.1 本程序采用易于交互操作的對話框模板和MSFlexGrid控件,在MFC開發環境下利用VC+ 計算機語言進行編寫,整個程序的文件數據導入、導出均可直接在圖表中呈現,便于數據的檢查,程序界面簡潔直觀,功能清晰、易學易用。3.2

4、 根據儀器記錄數據的特點,不論是“后前前后”、還是“前后后前”模式觀測數據,均能正確識別并處理。3.3 限差設置默認為國家二等水準測量的限差標準,這也是我們在沉降觀測中經常使用的國家標準,當然也可以自定義質量評定標準。4、程序界面其中左側是限差設置區域以及程序功能實現按鈕,右側是顯示讀入的水準測量數據、計算結果的顯示,做到所見即所得。5、程序開發過程5.1數據格式說明Trimble DiNi03 有RECE (M5) 和REC500兩種數據存儲格式,都可用于記錄和傳輸數據, 但REC500 記錄的信息量少。因為它不包含標識塊中的類型標識符和觀測值的單位。因此,實際工作中一般采用RECE (M5

5、)格式,具體格式如下表所示:RECE (M5) 數據格式: 表1:M5 格式說明表數據塊一數據塊二數據塊三數據塊四數據塊五數據塊六字符16格式說明符816數據行存儲地址字符1848點名、時間、測量次數字符5071前后視標識、讀數、單位字符7394視距字符95117高程徠卡DNA03電子水準儀數據也包括兩種格式:一種為其基礎格式GSI格式,徠卡GSI數據記錄格式是徠卡儀器的專用記錄格式,它是由字索引+測量數據構成一個測量數據塊,一行記錄,由一個或多個數據塊組成。下面通過示例簡單闡述其數據格式: 410003+?.2 110014+00999952 571.8-00000007 572.8-000

6、00008 573.0-00000070 574.0+00045040 83.06-00000941另一種是經儀器初步轉換后的TXT格式,我們平時用的較多的是這個數據模式。它是由觀測時間、觀測模式說明以及觀測數據組成。除了第一行,其余每5行為一個數據塊。5.2算法設計首先確定程序要實現的目標,需要實現兩個不同數據格式的的輸入,三種格式數據的輸出,以及在此過程數據視圖中的展示功能。為了在視類展示和編輯數據,采用CMSFlexGrid控件,并對其進行二次開發。在ClassView中新增加FreadCouSave類,實現對觀測數據的導入,此類將實現允許導入的數據含空格,逗號,將其忽略,從而不影響數據

7、結構,通過相關函數的編制實現不同的功能。具體程序算法框圖見下表。讀入天寶DINI 03電子水準儀觀測數據(.DAT)讀入徠卡DNA 03電子水準儀觀測數據(.TXT)計算數據并判斷是否符合限差保存水準測量測站信息數據讀入設置的限差標準數據保存平差數據文件(.in1)保存精度評定結果(.csv) 5.3 編程實現充分利用以前的FreadCouSave類,對其函數進行簡單的改變,讀取徠卡電子水準儀的數據,然后在對話框類中增加讀取天寶電子水準儀的數據的函數,同時進行精度評定的計算。if(m_Pand1=1)/天寶數據的處理和顯示UpdateData(TRUE);/對話框中修改了輸入的值,刷新程序中變

8、量的值。Res3.SetSize(38400,-1);/給CStringArray數組分配內存大小,需要足夠大的空間CString kongge(" ");for(int k=0;k<24000;k+) Res3.SetAtGrow(k,kongge);/將每一個數組值賦值為空格" "ResCeD.SetSize(14400,-1);/給CStringArray數組分配內存大小,需要足夠大的空間for(k=0;k<2400;k+) ResCeD.SetAtGrow(k,kongge);/將每一個數組值賦值為空格" "Res

9、3.SetAtGrow(0,"觀測方向");Res3.SetAtGrow(1,"點名");Res3.SetAtGrow(2,"水準讀數");Res3.SetAtGrow(3,"合格?");Res3.SetAtGrow(4,"前后視距長");Res3.SetAtGrow(5,"合格?");Res3.SetAtGrow(6,"前后視距差");Res3.SetAtGrow(7,"合格?");Res3.SetAtGrow(8,"累積視

10、距差");Res3.SetAtGrow(9,"合格?");Res3.SetAtGrow(10,"高差之差(mm)");Res3.SetAtGrow(11,"合格?"); int i=0,j=0,m=0;CString str;float qhc1=0.0,qhc2=0.0,qhc3=0.0,qhc4=0.0,gcz=0.0,sjclj=0.0,qhsjc1=0.0,qhsjc2=0.0; float zjz=0.0;/str.Format("%d",m_i1); m_ibaoc=m_i1;/行數for(i

11、=0;i<int(m_i1/4);i+)/一次循環處理四行數據 zjz=0.0;for(m=0;m<4;m+)/m也是行號 if(Res1.GetAt(i*4+m)*4+0)="B") str="后視" else str="前視" Res3.SetAtGrow(i*4+m+1)*12+0,str);/觀測方向 Res3.SetAtGrow(i*4+m+1)*12+1,Res1.GetAt(i*4+m)*4+1);/點名 Res3.SetAtGrow(i*4+m+1)*12+2,Res1.GetAt(i*4+m)*4+2);

12、/水準讀數 if(atof(Res1.GetAt(i*4+m)*4+2)>=m_gaod1&&atof(Res1.GetAt(i*4+m)*4+2)<=m_gaod2) Res3.SetAtGrow(i*4+m+1)*12+3,"是"); else Res3.SetAtGrow(i*4+m+1)*12+3,"否"); Res3.SetAtGrow(i*4+m+1)*12+4,Res1.GetAt(i*4+m)*4+3);/前后視距長 if(atof(Res1.GetAt(i*4+m)*4+3)>=m_sjchang1&a

13、mp;&atof(Res1.GetAt(i*4+m)*4+3)<=m_sjchang2) Res3.SetAtGrow(i*4+m+1)*12+5,"是"); else Res3.SetAtGrow(i*4+m+1)*12+5,"否");zjz=atof(Res1.GetAt(i*4+m)*4+3)+zjz;str.Format("%.3f",zjz/4);ResCeD.SetAtGrow(i*4+3,str);/測段視距長 if(Res1.GetAt(i*4*4+0)="B")/后前前后 qhc1=

14、atof(Res1.GetAt(i*16+3)-atof(Res1.GetAt(i*16+7); qhc2=atof(Res1.GetAt(i*16+15)-atof(Res1.GetAt(i*16+11);ResCeD.SetAtGrow(i*4+0,Res1.GetAt(i*16+1);/點名ResCeD.SetAtGrow(i*4+1,Res1.GetAt(i*16+5);/點名else/前后后前qhc1=atof(Res1.GetAt(i*16+7)-atof(Res1.GetAt(i*16+3); qhc2=atof(Res1.GetAt(i*16+11)-atof(Res1.Get

15、At(i*16+15);ResCeD.SetAtGrow(i*4+0,Res1.GetAt(i*16+5);/點名ResCeD.SetAtGrow(i*4+1,Res1.GetAt(i*16+1);/點名if(abs(qhc1)<=m_sjcha)str.Format("%.3f",qhc1);Res3.SetAtGrow(i*4+1)*12+18,str);Res3.SetAtGrow(i*4+1)*12+19,"是");elsestr.Format("%.3f",qhc1);Res3.SetAtGrow(i*4+1)*12+

16、18,str);Res3.SetAtGrow(i*4+1)*12+19,"否");if(abs(qhc2)<=m_sjcha)str.Format("%.3f",qhc2);Res3.SetAtGrow(i*4+1)*12+42,str);Res3.SetAtGrow(i*4+1)*12+43,"是");elsestr.Format("%.3f",qhc2);Res3.SetAtGrow(i*4+1)*12+42,str);Res3.SetAtGrow(i*4+1)*12+43,"否"); 其余代碼此處略6、功能鍵介紹及使用流程首先進行限差設置,設置對話框界面如下所示,默認是二等水準其中和點擊這兩個按鈕,可以讀入電子水準儀測量數據,然后點擊,可以查看精度評定的結果,并且檢查數據是否計算正確。最后三個按鈕,分別保存不同的處理結果,得到不同的數據文件。7:軟件測試導入天寶觀測數據,可以查看數據是否導入的正確。點擊這個按鈕,得到精度評定的結果,同時可以檢查數據計算是否正確。最后點擊剩余功能按鈕,得到經過計算的結果(現場演示),具體見測試報告。8:外業測量流程及使用注意事項不論使用天寶還是徠卡電子水準儀,如果需要得到平差數據文件(科傻的水準文

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論