LeicaDNA03水準(zhǔn)測量數(shù)據(jù)處理程序_第1頁
LeicaDNA03水準(zhǔn)測量數(shù)據(jù)處理程序_第2頁
LeicaDNA03水準(zhǔn)測量數(shù)據(jù)處理程序_第3頁
LeicaDNA03水準(zhǔn)測量數(shù)據(jù)處理程序_第4頁
LeicaDNA03水準(zhǔn)測量數(shù)據(jù)處理程序_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、編程作業(yè)Leica DNA03水準(zhǔn)測量數(shù)據(jù)處理程序1 數(shù)據(jù)格式 -32 程序設(shè)計 -33 源代碼 - 44 編程總結(jié) - 81數(shù)據(jù)格式Leica數(shù)據(jù)格式為GSI(Geo Serial Interface),根據(jù)其數(shù)據(jù)位是8或16位分為GSI8和GSI16,其他格式完全相同。數(shù)據(jù)以行為單位,每行包含若干個16位或24位的字段,每個字段以開頭兩位數(shù)字表示數(shù)據(jù)意義,稱為WI(Word Index),如41表示測量模式,11表示點號,32表示視距讀數(shù),331表示后視第一次中絲讀數(shù),332表示前視第一次中絲讀數(shù),336表示前視第二次中絲讀數(shù),335表示后視第二次中絲讀數(shù)。本次作業(yè)采用Leica DNA0

2、3數(shù)字水準(zhǔn)儀原始數(shù)據(jù)。如下圖:第一行:觀測模式為BFFB; 第二行:測段起點為BM3,起始高程為480.1230m; 第三行:測站后視點號BM3,視距讀數(shù)28.58072m,第一次后視中絲讀數(shù)0.69018m,中絲讀數(shù)為2次讀數(shù)的平均值,標(biāo)準(zhǔn)偏差為0.04mm;第四行:測站前視點號Z1,視距讀數(shù)28.61654m,第一次前視中絲讀數(shù)1.69615m,中絲讀數(shù)為2次讀數(shù)的平均值,標(biāo)準(zhǔn)偏差為0.02mm;第五行:測站前視點號Z1,視距讀數(shù)28.62065m,第二次前視中絲讀數(shù)1.69610m,中絲讀數(shù)為2次讀數(shù)的平均值,標(biāo)準(zhǔn)偏差為0.11mm;第六行:測站后視點號BM3,視距讀數(shù)28.58569m

3、,第二次后視中絲讀數(shù)0.69017m,中絲讀數(shù)為2次讀數(shù)的平均值,標(biāo)準(zhǔn)偏差為0.04mm。2程序設(shè)計本次數(shù)據(jù)處理程序的窗口設(shè)計非常簡單,僅一個窗口,一個按鈕?!白x取數(shù)據(jù)”按鈕讀入原始水準(zhǔn)儀數(shù)據(jù),程序自動轉(zhuǎn)換,以表格形式輸出。表頭設(shè)計為“測站數(shù)”、“后視點號”、“前視點號”、“第一次后視中絲讀數(shù)”、“第二次后視中絲讀數(shù)”、“第一次前視中絲讀數(shù)”、“第二次前視中絲讀數(shù)”“測站兩次前后高差較差”、“高差之差累計值”、“累計視距差”、“累計視距”、“前視點高程”共12項,表頭之前輸出“起始點點號”和“起始點高程”。 3源代碼using System;using System.Collections.G

4、eneric;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.IO;namespace Leica_DNA03水準(zhǔn)數(shù)據(jù)處理 public partial class Form1 : Form public Form1() InitializeComponent(); double, Rb = null; double, Rf = null; string sb = null; /后視點號 str

5、ing sf = null; /前視點號 double, Rbs = null;/后視視距 double, Rfs = null;/前視視距 string st2,bmn1,bmn2; double bm; double n; double, z1 = null; string s=null; public void Open_LeicaDNA03() /打開egm96文件的子函數(shù) Rb = new double100,2; /后視中絲讀數(shù) Rf = new double100,2; sb = new string100; sf = new string100; Rbs = new doubl

6、e100,2; Rfs = new double100,2; z1 = new double100,5; string s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11; double bm; s=new string100; openFileDialog1.Title = "選擇文件" openFileDialog1.InitialDirectory = "" openFileDialog1.Filter = "文本文件(*txt)|*txt|數(shù)據(jù)文件(*dat)|*dat|數(shù)據(jù)文件(*gsi)|*gsi" if

7、 (openFileDialog1.ShowDialog() = DialogResult.OK) System.IO.StreamReader sr = new System.IO.StreamReader(openFileDialog1.FileName); string st = sr.ReadLine(); string st2 = sr.ReadLine(); bmn1 = st2.Substring(12, 3); /起始點點號 bm = (double.Parse(st2.Substring(25, 6) / 10000; /起始點高程 s1=bm.ToString("

8、F4"); s0 = "起始點點號:" + bmn1 + " " + "起始點高程:" + s1+" m" int i=0; textBox1.AppendText(s0 + "n"); s1="測站"+" "+"后視點" +" "+ "前視點"+" "+"第一次后視"+" "+"第二次后視"+"

9、"+"第一次前視"+" "+"第二次前視"+" "+" "+"測站兩次前后"+" "+"高差之差"+" "+" 累計 "+" "+" 累計 "+" "+"前視點" s2=" 數(shù) "+" "+" 點號 " +" " +"

10、點號 "+" "+"中絲讀數(shù)/m"+" "+"中絲讀數(shù)/m"+" "+"中絲讀數(shù)/m"+" "+"中絲讀數(shù)/m"+" "+" "+" 高差較差/m "+" "+"累計值/m"+" "+"視距差/m"+" "+" 視距/m "+" "

11、;+"高程/m" textBox1.AppendText("測站"+" "+"后視點" +" "+ "前視點"+" "+"第一次后視"+" "+"第二次后視"+" "+"第一次前視"+" "+"第二次前視"+" "+" "+"測站兩次前后"+" &q

12、uot;+"高差之差"+" "+" 累計 "+" "+" 累計 "+" "+"前視點"+"n"); textBox1.AppendText(" 數(shù) "+" "+" 點號 " +" " +" 點號 "+" "+"中絲讀數(shù)/m"+" "+"中絲讀數(shù)/m"+&quo

13、t; "+"中絲讀數(shù)/m"+" "+"中絲讀數(shù)/m"+" "+" "+" 高差較差/m "+" "+"累計值/m"+" "+"視距差/m"+" "+" 視距/m "+" "+"高程/m"+"n"); st2 = sr.ReadLine(); do for (int j = 0; j <

14、; 5; j+) if (j = 0) sbi = st2.Substring(12, 3); /后視點號 Rbsi, 0 = (double.Parse(st2.Substring(25, 6) / 10000.0; /后視視距 Rbi, 0 = (double.Parse(st2.Substring(38, 9) / 10000.0; /后視中絲讀數(shù) if (j = 1) st2 = sr.ReadLine(); sfi = st2.Substring(12, 3); bmn2 = st2.Substring(12, 3); Rfsi, 0 = (double.Parse(st2.Subs

15、tring(25, 6) / 10000; Rfi, 0 = (double.Parse(st2.Substring(38, 9) / 10000; if (j = 2) st2 = sr.ReadLine(); Rfsi, 1 = (double.Parse(st2.Substring(25, 6) / 10000; /前視二次視距 Rfi, 1 = (double.Parse(st2.Substring(38, 9) / 10000; /前視二次中絲讀數(shù) if (j = 3) st2 = sr.ReadLine(); Rbsi, 1 = (double.Parse(st2.Substrin

16、g(25, 6) / 10000; Rbi, 1 = (double.Parse(st2.Substring(38, 9) / 10000; if (j = 4) /測站總結(jié) st2 = sr.ReadLine(); z1i, 0 = (double.Parse(st2.Substring(25, 6) / 10000; /測站兩次高差之差 z1i, 1 = (double.Parse(st2.Substring(38, 9) / 10000;/高差之差累計值 z1i, 2 = (double.Parse(st2.Substring(54, 9) / 10000;/測站累計視距差 z1i, 3

17、 = (double.Parse(st2.Substring(70, 9) / 10000;/測站累計視距 z1i, 4 = (double.Parse(st2.Substring(86, 9) / 10000;/前視點高程 n = i + 1; s2 = Rbi, 0.ToString("F4"); s3 = Rbi, 1.ToString("F4"); s4 = Rfi, 0.ToString("F4"); s5 = Rfi, 1.ToString("F4"); s6 = z1i, 0.ToString(&qu

18、ot;F4"); s7 = z1i, 1.ToString("F4");/高差之差累計值 s8 = z1i, 2.ToString("F4"); s9 = z1i, 3.ToString("F4"); s10 = z1i, 4.ToString("F4"); s11 = n.ToString("F0"); si+3 = s11.PadLeft(3, ' ') + sbi.PadLeft(8, ' ') + sfi.PadLeft(8, ' ') + s2.PadLeft(12, ' ') + s3.PadLeft(12, ' ') + s4.PadLeft(12, ' ') + s5.PadLeft(10, ' ') + s6.PadLeft(16, ' ') + s7.PadLeft(12, ' ') + s8.PadLeft(12, ' ') + s9.PadLeft(14, ' ') + s10.PadLeft(11, ' '); textBox1

溫馨提示

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

評論

0/150

提交評論