測(cè)量程序設(shè)計(jì)報(bào)告_第1頁(yè)
測(cè)量程序設(shè)計(jì)報(bào)告_第2頁(yè)
測(cè)量程序設(shè)計(jì)報(bào)告_第3頁(yè)
測(cè)量程序設(shè)計(jì)報(bào)告_第4頁(yè)
測(cè)量程序設(shè)計(jì)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩13頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 成績(jī) 環(huán)境與測(cè)繪工程學(xué)院 課程論文 學(xué)年學(xué)期:2016-2017(一) 課程名稱:測(cè)量程序設(shè)計(jì) 論文題目:附合導(dǎo)線平差求解 姓 名:胡慧茹 學(xué) 號(hào):2014100455 任課教師:白洪偉 7 / 19 目錄 一 實(shí)訓(xùn)目的 3 二 實(shí)訓(xùn)任務(wù) 3 三 實(shí)訓(xùn)環(huán)境 4 3.1 硬件環(huán)境 4 3.2 軟件環(huán)境 4 四 項(xiàng)目設(shè)計(jì)與分析 5 4.1 軟件基本界面 6 4.2 附合導(dǎo)線平差求解 7 4.3 高差求解 11 4.4 計(jì)算方位角 12 4.4.1 實(shí)訓(xùn)內(nèi)容 12 4.4.2 實(shí)現(xiàn)步驟設(shè)計(jì) 12 4.5 角度轉(zhuǎn)換 13 4.5.1 實(shí)訓(xùn)內(nèi)容 13 4.5.2 實(shí)現(xiàn)步驟設(shè)計(jì) 13 4.6 計(jì)算坐標(biāo)

2、14 五 調(diào)用程序 15 1. 導(dǎo)線 15 2. 將度分秒轉(zhuǎn)換為度 16 3. 將度分秒轉(zhuǎn)換為秒數(shù) 17 4. 將弧度轉(zhuǎn)化為度分秒 17 5. 將角度轉(zhuǎn)換為弧度 17 6. 給定倆坐標(biāo),坐標(biāo)正 y 算方位角 , 返回的是以弧度為單位的角度 18 六 實(shí)驗(yàn)心得 18 實(shí)訓(xùn)目的 (1)掌握C#窗體創(chuàng)建及其常用控件的選用和編程。進(jìn)一步提高編程能力,掌握對(duì)C# 方法的調(diào)用,同時(shí)學(xué)會(huì)并運(yùn)用 Microsoft Visual Studio2010軟件編輯C#語(yǔ)言程序。 ( 2)實(shí)訓(xùn)室由學(xué)校組織, 利用課堂有限的時(shí)間掌握專業(yè)知識(shí)與運(yùn)用, 結(jié)合課下空閑 時(shí)間鞏固加強(qiáng)。學(xué)生在實(shí)訓(xùn)期間,以個(gè)人為單位完成項(xiàng)目,通過(guò)

3、自己的不斷摸索,實(shí) 訓(xùn)可以學(xué)到課堂上學(xué)不到的知識(shí),可以將學(xué)到的知識(shí)靈活運(yùn)用起來(lái)。 ( 3)在實(shí)訓(xùn)的過(guò)程中,可以讓學(xué)生樹(shù)立明確的學(xué)習(xí)態(tài)度,擁有良好的職業(yè)素養(yǎng), 鍛煉扎實(shí)的職業(yè)技能, 塑造堅(jiān)定的職業(yè)人生, 也為選擇考研深造的同學(xué)提供鍛煉的機(jī) 會(huì)。 (4)C#是當(dāng)今社會(huì)中發(fā)展速度迅猛的一種語(yǔ)言,所以企業(yè)公司對(duì)于人員的要求也 不斷提高,與測(cè)繪相關(guān)的職業(yè)也需要具備編程知識(shí)的人員,通過(guò)實(shí)訓(xùn)激發(fā)自身潛力, 提高自身修養(yǎng),掌握編程語(yǔ)言, 養(yǎng)成良好的編程習(xí)慣, 為以后的求職生涯添上一塊 “敲 門(mén)磚”。 ( 5)利用 Microsoft Visual Studio2010 軟件設(shè)計(jì)窗體應(yīng)用程序并完成“附合導(dǎo)線 平

4、差”程序設(shè)計(jì) , 其中包括登錄界面、主界面、角弧轉(zhuǎn)換界面和距離及方位角計(jì)算等 界面。 二 實(shí)訓(xùn)任務(wù) ( 1 )軟件基本界面 軟件的基本界面包登錄界面和主界面, 主界面里面為附合導(dǎo)線平差求解, 在菜單 欄的小工具中包高差求解、角度轉(zhuǎn)換和坐標(biāo)求解。 ( 2)附合導(dǎo)線平差求解 在一條雙定向附合導(dǎo)線中, 已知端點(diǎn)四點(diǎn)坐標(biāo), 若干左角和邊長(zhǎng), 求其中各點(diǎn)坐 標(biāo)。 ( 3)高差求解 用全站儀在一點(diǎn)觀測(cè)了另一點(diǎn)斜邊和垂直角,求兩點(diǎn)的高差。 ( 4)計(jì)算方位角 方位角的取值為 0-360 度。 ( 5)角度轉(zhuǎn)換 將輸入的角度轉(zhuǎn)換為弧度或弧度轉(zhuǎn)換為角度。 ( 6)計(jì)算坐標(biāo) 已知兩點(diǎn)中一點(diǎn)的坐標(biāo)、距離及方位角,求

5、另一點(diǎn)的坐標(biāo)。 三 實(shí)訓(xùn)環(huán)境 3.1 硬件環(huán)境 硬件環(huán)境是計(jì)算機(jī)及其外圍設(shè)備組成的計(jì)算機(jī)物理系統(tǒng),即硬件設(shè)施,是指由傳 播活動(dòng)所需要的那些物質(zhì)條件、 有形條件之和構(gòu)筑而成的環(huán)境。硬件環(huán)境主要是由計(jì) 算機(jī)的硬件組成的,而計(jì)算機(jī)硬件是指計(jì)算機(jī)系統(tǒng)中由電子、機(jī)械和光電元件等組成 的各種物理裝置的總稱。這些物理裝置系統(tǒng)按系統(tǒng)結(jié)構(gòu)的要求構(gòu)成一個(gè)有機(jī)整體為計(jì) 算機(jī)軟件運(yùn)行提供物質(zhì)基礎(chǔ)。簡(jiǎn)而言之,計(jì)算機(jī)硬件的功能是輸入并存儲(chǔ)程序和數(shù)據(jù), 以及執(zhí)行程序把數(shù)據(jù)加工成可以利用的形式。從外觀上來(lái)看,微機(jī)由主機(jī)箱和外部設(shè) 備組成。主機(jī)箱內(nèi)主要包CPU內(nèi)存、主板、硬盤(pán)驅(qū)動(dòng)器、光盤(pán)驅(qū)動(dòng)器、各種擴(kuò)展卡、 連接線、電源;外部

6、設(shè)備包鼠標(biāo)、鍵盤(pán)、顯示器、音箱等,這些設(shè)備通過(guò)接口和連接 線與主機(jī)相連。這些都是構(gòu)成硬件的主要部分。 對(duì)于C#面向?qū)ο蟮能浖?lái)說(shuō),所需的硬件環(huán)境,要求其實(shí)不是很高,安裝Visual Studio 2010時(shí)的所需的必備條件如表1: 表1安裝Visual Studio 2010所需的必備條件 硬件 描述 處理器 600M Hz處理器,建議使用 1GHz處理器 RM 192MB建議使用 256MB內(nèi)存 可用硬盤(pán)空間 如果不安裝MSDH系統(tǒng)驅(qū)動(dòng)器上需要 1GB的可用空間,安裝驅(qū) 動(dòng)起上需要2GB的可用空間;如果安裝 MSDHL則系統(tǒng)驅(qū)動(dòng)上 需要1GB的可用空間,安裝完整MSDH的安裝驅(qū)動(dòng)器上需要 3

7、.8GB的可用空間,默認(rèn)安裝MSDH勺安裝驅(qū)動(dòng)器上需要 2.8GB 的可用空間。 CD-ROM DVD-ROME動(dòng)器 必須使用 顯示器 800 X 600,256色,建議使用 1024 X 768,增強(qiáng)色16位 鼠標(biāo) 微軟鼠標(biāo)或兼容的指針設(shè)備 操作系統(tǒng)及所需補(bǔ)丁 Windows 2000 Service Pack 4、Windows XP Service Pack 2、 Windows Server 2003、Service Pack 1 或更咼版本 3.2 軟件環(huán)境 軟件環(huán)境是指由傳播活動(dòng)所需要的那些非物質(zhì)條件、 無(wú)形條件之和構(gòu)筑而成的環(huán) 境。只要指軟件的運(yùn)行環(huán)境以軟件運(yùn)行所需要的周邊軟件等

8、等, 除此之外, 還包括目 的軟件之外的應(yīng)用層軟件,在涉及軟件交互的時(shí)候,這些應(yīng)用軟件往往影響很大。 實(shí)訓(xùn)中,我們使用VS集成環(huán)境來(lái)實(shí)現(xiàn)對(duì)于C卿序的運(yùn)行。Visual Studio 是微 軟公司推出的開(kāi)發(fā)環(huán)境,是目前最流行的 Windows 平臺(tái)應(yīng)用程序開(kāi)發(fā)環(huán)境。 Visual Studio 2010版本于2010年4月12日上市,其集成開(kāi)發(fā)環(huán)境(IDE)的界面被重新 設(shè)計(jì)和組織,變得更加簡(jiǎn)單和明了。 Visual Studio 2010同時(shí)帶來(lái)了 NETFramework 4.0、Microsoft Visual Studio 2010 CTR 并且支持開(kāi)發(fā)面向 windows7 的應(yīng)用程序

9、。 Visual Studio 是開(kāi)發(fā).NET應(yīng)用程序的一套完整的開(kāi)發(fā)工具集,集設(shè)計(jì)、編輯、 運(yùn)行和調(diào)試等多種功能于一體的集成開(kāi)發(fā)環(huán)境(IDE)。 Visual Studio 支持四種內(nèi)置 的開(kāi)發(fā)語(yǔ)言: Visual Basic 、 Visual C+ 、 Visual C# 和 Visual J# ,他們使用相同 的集成開(kāi)發(fā)環(huán)境,因而有助于創(chuàng)建混合語(yǔ)言解決方案。使用 Visual Studio 可以高效 的生成各種ASP.NETweb應(yīng)用程序、XMLWebServices,桌面應(yīng)用程序和移動(dòng)應(yīng)用程 序。使用Visual Studio 集成開(kāi)發(fā)環(huán)境可以快捷高效的開(kāi)發(fā) Windows窗體應(yīng)用程序

10、。 Visual Studio 是我們學(xué)習(xí)C#必不可少的應(yīng)用環(huán)境,實(shí)訓(xùn)時(shí),我們對(duì)于Visual Studio 的應(yīng)用更加熟練了,也對(duì) Visual Studio 有了各方面的了解。 四 項(xiàng)目設(shè)計(jì)與分析 4.1 軟件基本界面 圖1程序設(shè)計(jì) 本程序名為“程序設(shè)計(jì)”,登錄界面如圖1,用戶名為“2014100455,密碼為“胡 慧茹”。雙擊“確定”,為了實(shí)現(xiàn)賬戶名密碼登錄輸入一下程序: private void butt on 1_Click( object sen der. Eve ntrgs e) stri ng = textBox1.Text; stri ng b = textBox2.Text

11、; if ( =2014100455 附合導(dǎo)線平差求解frm2 = new附合導(dǎo)線平差求解(); frm2.Show(); 具體步驟: 文件,新建項(xiàng)目,windows應(yīng)用窗體程序,添加兩個(gè)label控件,兩個(gè)textbox控 件,兩個(gè)butt on,右鍵屬性修改控件的name和text的名稱。 主界面如圖2,主界面是附合導(dǎo)線平差求解,菜單欄中包“文件(打開(kāi)、另存 為)”、“小工具(角度轉(zhuǎn)換、高差求解、計(jì)算坐標(biāo)和計(jì)算方位角)”和“幫助(示意圖)”。 圖2 主界面示意圖 4.2附合導(dǎo)線平差求解 新建windows窗體命名為附和導(dǎo)線平差,添加五個(gè)label控件,一個(gè)textbox 控件,三個(gè)butt

12、 on控件,一個(gè)pictureBox 控件,一個(gè)ope n, 個(gè)save右鍵屬性修 改控件的name和text的名稱。 圖3 附合導(dǎo)線示意圖 叱附釦魁線平差求鮭I h 回 Ak 199_ 951 Ay 424.B56 347.166 2s57T8Tm?03eYLI B 7 T o fl 1 3 1 3-4.9.006.b-b. 447_T17 double My = Convert.ToDouble(textBox2.Text); double Ax = Convert.ToDouble(textBox3.Text); double Ay = Convert.ToDouble(textBox4

13、.Text); double Nx = Convert.ToDouble(textBox5.Text); double Ny = Convert.ToDouble(textBox6.Text); double Bx = Convert.ToDouble(textBox7.Text); double By = Convert.ToDouble(textBox8.Text); /計(jì)算M到A的方位角 double a 0 =導(dǎo)線方位角(Mx, My, Ax, Ay); /計(jì)算B到N的方位角 8 / 19 double a 1 =導(dǎo)線方位角(Bx, By, Nx, Ny); List 坐標(biāo)增量 X 集

14、合 = new List(); List 坐標(biāo)增量 Y 集合 = new List(); List 水平距離平方集合 = newList(); List 方位角集合 = new List(); double 坐標(biāo)增量 X 和 = 0; double 坐標(biāo)增量 Y 和 = 0; double 坐標(biāo)增量 X 絕對(duì)值和 = 0; double 坐標(biāo)增量 Y 絕對(duì)值和 = 0; double 水平距離和 = 0; double 水平距離平方和 = 0; double a = a 0; /ArrayList pj_spj = new ArrayList(256); string st = textBox

15、9.Text; string array = st.Split( n); int pj; int spj; /int n; /for (n = 0; n 10000; ) / /if (aArrayn != ) / / n+; / /elsebreak; / for (pj = 0, spj =1; spj 6; ) string str = arraypj; double S = double.Parse(str); string sd = arrayspj; double sd1 = double.Parse(sd); double B =導(dǎo)線.DEG(sdl); 水平距離平方集合 .Ad

16、d(S * S); 水平距離平方和 += S * S; double dx, dy; a =導(dǎo)線.坐標(biāo)(0, 0,B , So,ut dax, ,out dy); 方位角集合 .Add( a ); 坐標(biāo)增量 X 集合 .Add(dx); 坐標(biāo)增量 Y 集合 .Add(dy); 坐標(biāo)增量 X 和 += dx; 坐標(biāo)增量 Y 和 += dy; 坐標(biāo)增量 X 絕對(duì)值和 += Math.Abs(dx); 坐標(biāo)增量 Y 絕對(duì)值和 += Math.Abs(dy); pj += 2; spj += 2; /int number = pj.Capacity; /pj.TrimtoSize(); double

17、LJ = Convert.ToDouble(textBox13.Text); double B n =導(dǎo)線.DEG(LJ); /推算 B 到 N 的方位角 double a BN =導(dǎo)線方位角(方位角集合方位角集合.Count - 1, B n); /計(jì)算方位角閉合差 double 方位角閉合差 = a BN- a 1; textBox10.Text = Convert.ToString(方位角閉合差); double 方位角改正數(shù) = -方位角閉合差/ (方位角集合 .Count + 1); /先對(duì)角度進(jìn)行平差計(jì)算 ,并重新計(jì)算坐標(biāo)增量 坐標(biāo)增量X集合.Clear(); 坐標(biāo)增量Y集合.Cl

18、ear(); 坐標(biāo)增量 X 和 = 0; 坐標(biāo)增量 Y 和 = 0; 坐標(biāo)增量 X 絕對(duì)值和 = 0; 坐標(biāo)增量 Y 絕對(duì)值和 = 0; for (int j = 0; j 方位角集合 .Count; j+) 方位角集合 j += 方位角改正數(shù) * (j + 1); /計(jì)算坐標(biāo)增量 double平距=Math.Sqrt(水平距離平方集合j); double dx =平距 * Math .Cos(方位角集合j); double dy =平距 * Math .Sin(方位角集合j); 坐標(biāo)增量 X 集合 .Add(dx); 坐標(biāo)增量 Y 集合 .Add(dy); 坐標(biāo)增量 X 和 += dx; 坐

19、標(biāo)增量 Y 和 += dy; 坐標(biāo)增量 X 絕對(duì)值和 += Math .Abs(dx); 坐標(biāo)增量 Y 絕對(duì)值和 += Math .Abs(dy); /計(jì)算閉合差 double 閉合差 X = Ax + 坐標(biāo)增量 X 和 - Bx; textBox11.Text = Convert.ToString(閉合差 X); double 閉合差 Y = Ax + 坐標(biāo)增量 Y 和 - By; textBox12.Text = Convert.ToString(閉合差 Y); /計(jì)算單位長(zhǎng)度改正數(shù) double X 坐標(biāo)單位長(zhǎng)度改正數(shù) = -閉合差 X / 坐標(biāo)增量 X 絕對(duì)值和 ; double Y坐

20、標(biāo)單位長(zhǎng)度改正數(shù)=-閉合差Y /坐標(biāo)增量Y絕對(duì)值和; /計(jì)算導(dǎo)線相對(duì)精度 int f = (int)(水平距離和 / Math.Sqrt(閉合差X *閉合差X +閉合差 Y *閉合差 Y); Console.WriteLine(” 導(dǎo)線的相對(duì)精度為 1/0 , f); /計(jì)算每點(diǎn)坐標(biāo) double X = Ax; double Y = Ay; List 坐標(biāo) x = new List(); List 坐標(biāo) y = new List(); for (int j = 0; j =360.0)方位角-=360.0; if (方位角=Math .PI * 2)方位角-=Math.PI; if (方位角

21、 0.000000001) angle = Math.tn2(deltY, deltX); if (angle 0) angle += Math.PI; if (deltY = Math.PI * 2)方位角 -= Math.PI * 2; if ( 方位角 = Math.PI * 2)方位角 -= Math.PI * 2; if ( 方位角 60) a = 0; f = f + 1; if (f = 60) f = 0; d = d + 1; a = d + f / 100.0 + a / 10000.0; return a; 5. 將角度轉(zhuǎn)換為弧度 public class j_h public double JIAO_HUDU(double jiao) int d = ( int )( Math.Floor(jiao); jiao = jiao - d; int f = ( int )( Math.Floor(jiao * 100.0); jiao = jiao * 100 - f; double m = jiao * 100.0; jiao = d * 3

溫馨提示

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

評(píng)論

0/150

提交評(píng)論