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

下載本文檔

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

文檔簡介

1、一、關(guān)于測(cè)繪程序課程設(shè)計(jì)的目的及意義測(cè)繪程序設(shè)計(jì)是大題目,在測(cè)繪工作與科學(xué)研究中,很多情況下都可以使用計(jì)算機(jī)。測(cè)繪工程所涉及的數(shù)據(jù)計(jì)算、繪圖、數(shù)據(jù)庫管理、數(shù)據(jù)分析等,都可以使用計(jì)算機(jī)來完成。從一般含義上說,測(cè)繪工作包含計(jì)算和繪圖兩個(gè)方面的內(nèi)容。關(guān)于計(jì)算機(jī)繪圖有相關(guān)課程講述,所以,這門課程的主要內(nèi)容集中在測(cè)繪工程的相關(guān)計(jì)算上面,而其中,主要講述關(guān)于平差計(jì)算的程序設(shè)計(jì)問題。 摘自測(cè)繪程序設(shè)計(jì)技術(shù)基礎(chǔ)測(cè)繪程序設(shè)計(jì)技術(shù)是一門實(shí)踐性很強(qiáng)的專業(yè)課程,與C語言程序設(shè)計(jì)、測(cè)量平差基礎(chǔ)、控制網(wǎng)平差等相關(guān)課程有密切的關(guān)系,還涉及結(jié)構(gòu)化程序設(shè)計(jì)相關(guān)內(nèi)容,具有很強(qiáng)的綜合性。對(duì)測(cè)繪工程專業(yè)學(xué)生而言,掌握基本的數(shù)據(jù)處理程

2、序設(shè)計(jì)技術(shù)具有重要的現(xiàn)實(shí)意義。為加深學(xué)生對(duì)相關(guān)理論知識(shí)、技術(shù)和方法的理解,掌握測(cè)繪數(shù)據(jù)處理程序開發(fā)的特點(diǎn)和技術(shù),在測(cè)繪程序設(shè)計(jì)技術(shù)課程結(jié)束后安排為期二周的測(cè)繪程序設(shè)計(jì)技術(shù)課程設(shè)計(jì)。本課程設(shè)計(jì)旨在進(jìn)一步理解課程相關(guān)程序設(shè)計(jì)的思想、掌握數(shù)據(jù)處理程序設(shè)計(jì)相關(guān)技術(shù)的前提下,分組開發(fā)重要應(yīng)用程序模塊,以達(dá)到鍛煉學(xué)生具體問題分析能力、提高程序設(shè)計(jì)能力和團(tuán)結(jié)協(xié)作精神,掌握數(shù)據(jù)處理程序的開發(fā)特點(diǎn)、分析方法與程序設(shè)計(jì)過程。 摘自測(cè)繪程序設(shè)計(jì)技術(shù)課程設(shè)計(jì)計(jì)劃與任務(wù)書09本課程設(shè)計(jì)主要目的和意義就是加深我們對(duì)相關(guān)理論知識(shí)、技術(shù)和方法的理解,掌握測(cè)繪數(shù)據(jù)處理程序開發(fā)的特點(diǎn)和技術(shù),為以后課程做基礎(chǔ)。關(guān)于課程設(shè)計(jì)時(shí)間:2

3、010年1月4日1月15日,共兩周。其中(該時(shí)間表位個(gè)人時(shí)間表):分析既有程序、掌握程序開發(fā)環(huán)境:1天;題目問題分析、程序概念模型分析與功能模塊設(shè)計(jì):4天;編寫代碼、調(diào)試與測(cè)試: 5天;與同課程題目同學(xué)討論:2天;整理資料、編寫課程設(shè)計(jì)報(bào)告:1天;上交資料、總結(jié):1天。二、課程設(shè)計(jì)主要內(nèi)容(一)測(cè)繪程序設(shè)計(jì)技術(shù)課程設(shè)計(jì)的主要目的是通過具體問題分析、程序設(shè)計(jì)的過程鍛煉學(xué)生分析問題、掌握實(shí)際數(shù)據(jù)處理計(jì)算軟件分析、設(shè)計(jì)與編寫的基本技術(shù)和方法。其主要內(nèi)容如下:熟練掌握Visual C+編程環(huán)境的使用,了解其特點(diǎn)與程序開發(fā)過程,掌軟件調(diào)試、測(cè)試的技術(shù)方法。分析測(cè)繪程序設(shè)計(jì)技術(shù)課程中相關(guān)軟件的結(jié)構(gòu)和模塊功

4、能,掌握結(jié)構(gòu)化程序設(shè)計(jì)方法和技術(shù),掌握測(cè)繪數(shù)據(jù)處理問題的基本特點(diǎn)。開發(fā)相關(guān)程序功能模塊,獨(dú)立完成相關(guān)問題概念結(jié)構(gòu)分析、程序結(jié)構(gòu)設(shè)計(jì)、模塊設(shè)計(jì)、代碼編寫、調(diào)試、測(cè)試等工作。(二)按要求完成以下程序設(shè)計(jì):高斯正反算程序空間直角坐標(biāo)(XYZ)與大地地理坐標(biāo)(BLH)轉(zhuǎn)換程序空間直角坐標(biāo)系轉(zhuǎn)換程序高斯正反算程序高斯投影正算問題是利用大地地理坐標(biāo)系坐標(biāo)(B,L)來計(jì)算其對(duì)應(yīng)的高斯平面直角坐標(biāo)系坐標(biāo)(x,y)的理論和方法,輸入數(shù)據(jù)為 (),為中央精度,高斯坐標(biāo)為(),高斯投影正算時(shí)經(jīng)緯度用弧度表示,設(shè)橢球長半軸為,扁率分母為,短半軸為,定義 定義經(jīng)差 設(shè),得到高斯正算公式 (1)計(jì)算子午線收斂角的公式為

5、(2)注意:為使y坐標(biāo)大于0,通常對(duì)y坐標(biāo)值加500公里;若滿足3度或6度分帶,在y坐標(biāo)前加代號(hào)(代號(hào)最后一位在百萬位)。高斯投影反算問題高斯投影反算問題是利用高斯平面直角坐標(biāo)系坐標(biāo)(x,y)來求其對(duì)應(yīng)的大地地理坐標(biāo)系坐標(biāo)(B,L)的理論和方法,輸入數(shù)據(jù)為(x,y,L0),注意:通常高斯平面坐標(biāo)y含有500公里加常數(shù),如果符合3度或6度分帶還含有帶號(hào)信息,計(jì)算前應(yīng)減去這些數(shù)據(jù),其公式如下: 式中: Bf底點(diǎn)緯度,可由下式迭代計(jì)算 計(jì)算時(shí),Bf初始值設(shè)為。Mf, Nf,f與tf,都是Bf的函數(shù) 1.2 高斯投影反算高斯投影反算問題是利用高斯平面直角坐標(biāo)系坐標(biāo)(x,y)來求其對(duì)應(yīng)的大地地理坐標(biāo)系坐

6、標(biāo)(B,L)的理論和方法,其公式如下: (2)式中:Bf底點(diǎn)緯度Mf, Nf,f都是Bf的函數(shù)空間直角坐標(biāo)(XYZ)與大地地理坐標(biāo)(BLH)轉(zhuǎn)換程序我們知道,地球表面可用一個(gè)橢球面表示。設(shè)空間直角坐標(biāo)系為OXYZ,當(dāng)橢球的中心與空間直角坐標(biāo)系原點(diǎn)重合,空間坐標(biāo)系Z軸與地球旋轉(zhuǎn)重合(北極方向?yàn)檎?,X軸正向經(jīng)度為零時(shí),就可以確定空間直角坐標(biāo)系與大地地理坐標(biāo)系的數(shù)學(xué)關(guān)系。 式中 N為卯酉圈曲率半徑,; e為橢球偏心率, (a,b為橢球長半軸和短半軸)。 由(2)式可以得到空間直角坐標(biāo)到大地地理坐標(biāo)的迭代計(jì)算公式 使用(3)式進(jìn)行迭代計(jì)算的關(guān)鍵是緯度B的計(jì)算。迭代計(jì)算的初始值可以設(shè)為 在迭代計(jì)算中,

7、可以選擇以下條件作為迭代結(jié)束條件 空間直角坐標(biāo)系轉(zhuǎn)換程序設(shè)兩空間直角坐標(biāo)系分別為OXYZ和OXYZ,坐標(biāo)系原點(diǎn)不一致,存在三個(gè)平移參數(shù),坐標(biāo)軸不平行,存在三個(gè)角度旋轉(zhuǎn)參數(shù),且兩坐標(biāo)系尺度基準(zhǔn)不同,還有一個(gè)尺度因子參數(shù),顯然,我們可以構(gòu)造一個(gè)包含以上七個(gè)參數(shù)的模型來表示任意兩個(gè)空間直角坐標(biāo)系統(tǒng)間的關(guān)系。 (1)這樣,只要知道三個(gè)點(diǎn)的兩個(gè)坐標(biāo)系的坐標(biāo)就可以確定(1)式中的七個(gè)參數(shù)(X,Y, Z,m,x,y,z),從而確定兩個(gè)坐標(biāo)系的轉(zhuǎn)換關(guān)系模型,在具體應(yīng)用中,使用該模型實(shí)現(xiàn)兩個(gè)坐標(biāo)系統(tǒng)的坐標(biāo)轉(zhuǎn)換。該問題的核心在于根據(jù)(1)式列出計(jì)算七參數(shù)的數(shù)學(xué)模型:由于測(cè)量中包含誤差,故由(1)式可以得到關(guān)于每個(gè)

8、公共點(diǎn)的七參數(shù)的誤差方程 這樣列出所有公共點(diǎn)的誤差方程,則可以構(gòu)成 V=AX-L P 形式的誤差方程組,定義P為單位陣,則可以利用間接平差模型直接計(jì)算七個(gè)參數(shù),然后根據(jù)七個(gè)參數(shù)使用(1)式進(jìn)行坐標(biāo)轉(zhuǎn)換。三、課程設(shè)計(jì)具體內(nèi)容(含技術(shù)報(bào)告和問題及解決方法)高斯正反算程序高斯正反算包括兩部分內(nèi)容:高斯正算和高斯反算。簡單的說就是大地地理坐標(biāo)系坐標(biāo)(B,L)與其對(duì)應(yīng)的高斯平面直角坐標(biāo)系坐標(biāo)(x,y)之間的轉(zhuǎn)換。若已知大地地理坐標(biāo)系坐標(biāo)(B,L)解求對(duì)應(yīng)的高斯平面直角坐標(biāo)系坐標(biāo)(x,y)稱為高斯正算;反之,則為高斯反算。正反算的公式在上面已全部給出,這里不再贅述。除了正反算的推導(dǎo)公式以外,該程序還應(yīng)注意

9、以下問題:參考橢球的選擇正反算選擇角度弧度轉(zhuǎn)換反算底點(diǎn)緯度的迭代運(yùn)算參考橢球的選擇,一般我們選用以下三種:其中,a為橢球長半軸,bm為扁率分母。(或測(cè)繪程序設(shè)計(jì)技術(shù)基礎(chǔ)P33P34)里面的d_h(double angle)和h_d(double angle)程式。高斯正算中,要將輸入的B、L角度值先轉(zhuǎn)換弧度值再運(yùn)算;高斯反算中,在輸入的X、Y將B、L算出后,直接將弧度轉(zhuǎn)換為角度從屏幕輸出結(jié)果就可以了。起先對(duì)角度弧度轉(zhuǎn)化,本來想縮短計(jì)算量,想用iPI=/180直接去轉(zhuǎn)化的,但一想該方法精度不高(一般只轉(zhuǎn)化了度,分和秒沒有轉(zhuǎn)化),在老師的建議下還是用了課本上的h_d及d_h的函數(shù)轉(zhuǎn)化。在運(yùn)用過程中

10、海遇到了考慮問題不全面的問題。如高斯正算過程中,對(duì)輸入的B、L值運(yùn)算前就應(yīng)轉(zhuǎn)化,這點(diǎn)毋庸置疑,但對(duì)L0的值也應(yīng)轉(zhuǎn)化。由于先前遺忘了這一點(diǎn),故使得X、Y值算出不符合實(shí)際。這一點(diǎn)也是老師發(fā)現(xiàn)的。對(duì)于底點(diǎn)緯度的迭代運(yùn)算,借用公式:用while循環(huán)可求得。具體循環(huán)體如下:double Bf0=x/a0; double ob;while (fabs(ob)1e-10)Bf=(x-b0*sin(2*Bf0)-c0*sin(4*Bf0)-d0*sin(6*Bf0)-e0*sin(8*Bf0)-e0*sin(10*Bf0)/a0; ob=Bf-Bf0; Bf0=Bf;由計(jì)算結(jié)果可以看出,高斯正反算互推結(jié)果一致

11、!空間直角坐標(biāo)(XYZ)與大地地理坐標(biāo)(BLH)轉(zhuǎn)換程序原理同高斯正反算相同。整體程序較高斯正反算容易。程式公式課本及前面均有說明,這里也就不再贅述。包括兩部分內(nèi)容:從空間直角坐標(biāo)轉(zhuǎn)換到大地地理坐標(biāo)及從大地地理坐標(biāo)轉(zhuǎn)換到空間直角坐標(biāo)。程序編寫過程需要注意一下問題:參考橢球的選擇轉(zhuǎn)換類型選擇角度弧度轉(zhuǎn)換TanB的迭代解算對(duì)于參考橢球的選擇和轉(zhuǎn)換類型的選擇,思路還是和高斯正反算一樣,只需要swith語句就可實(shí)現(xiàn)。形式和高斯正反算完全一致。以下為選擇參考橢球的函數(shù):int choose_ellipsoid()int style; do cout 請(qǐng)選擇參考橢球類型:n 1. WGS1984參考橢球;

12、 n 2. 西安1980參考橢球; n 3. 北京1954參考橢球; n 4.退出 n style; switch(style) case 1: a=6378137 ; bm=298.2572235635; break; case 2:a=6378140 ; bm=298.257; break; case 3:a=6378245 ; bm=298.3; break;case 4:return 0; default : cout 錯(cuò)誤:非法類型選擇! 請(qǐng)重新選擇 0.000000000000001)t1=(Z+a*ee*t0/sqrt(1+(1-ee)*t0*t0)/sqrt(X*X+Y*Y);

13、 ot=atan(t1)-atan(t0);t0=t1;B=atan(t1); 空間直角坐標(biāo)系轉(zhuǎn)換程序該問題的核心在于根據(jù)上式列出計(jì)算七參數(shù)的數(shù)學(xué)模型:由于測(cè)量中包含誤差,故可以得到關(guān)于每個(gè)公共點(diǎn)的七參數(shù)的誤差方程 這樣列出所有公共點(diǎn)的誤差方程,則可以構(gòu)成 V=AX-L P 形式的誤差方程組,定義P為單位陣,則可以利用間接平差模型直接計(jì)算七個(gè)參數(shù),然后根據(jù)七個(gè)參數(shù)進(jìn)行坐標(biāo)轉(zhuǎn)換。該程序較于之前二者思路較為明朗。而且程序涉及的矩陣、矩陣相乘、轉(zhuǎn)置、ATPA求解、ATPL求解、矩陣求逆等可以直接借鑒老師的Cadj0911.cpp。故,程序只需按需調(diào)用就可以。四、心得體會(huì)心靜,而修遠(yuǎn)!說來也怪,這個(gè)學(xué)

14、期考試安排一點(diǎn)也不合理,一個(gè)禮拜考5門,忙!接下來2個(gè)禮拜考2門選修課,閑!而本次課程設(shè)計(jì)是在所有的考試都已經(jīng)結(jié)束后,所以開始的時(shí)候確實(shí)有些心不在焉。大抵是因?yàn)榭荚嚩冀Y(jié)束的原因吧。再者,對(duì)于自己的選題:高斯正反算心里面有些底,所以,開始的時(shí)候沒有多少緊張。之后,一直整天對(duì)著電腦了,白天機(jī)房,晚上寢室。沒日沒夜的電腦。不過倒也休閑。說說正題,編寫程序,雖然心里有底,但開始的時(shí)候真不知道從哪裡下手。這高斯正反算為何物自己清楚,但要我編出個(gè)程序還真有點(diǎn)難度啊。開始編寫以后自己做了一個(gè)下午,效果太不明顯了,就與幾個(gè)做同一題目的討論了一下,還好討論后收獲不小,終于明白了這些東西不是聽的明白就行的,真正的

15、掌握必須是聽得懂,做得對(duì),而我離把他們?nèi)孔鰧?duì)還有一段距離,幸好那時(shí)時(shí)間還是比較充足的,晚上就抽空把老師的課件看了幾遍,有的時(shí)候就邊看邊寫。經(jīng)過兩天的努力終于馬馬虎虎的把初步的程序給寫出來了。心里多了些舒坦。調(diào)試!一調(diào)試,錯(cuò)誤竟有53處之多,真叫人心寒呀,問題這么多,想想真慚愧,都學(xué)了大半個(gè)學(xué)期了,還用了那么多老師現(xiàn)成的東西竟然還是沒有在短時(shí)間內(nèi)做出來,做出來的東西也真的是過于粗糙了,錯(cuò)誤這么多。接下來就是修改了,這里面我收獲最大的就是做任何事都必須細(xì)心細(xì)心再細(xì)心,有好幾處錯(cuò)誤都是少了一個(gè)分號(hào)、半個(gè)括號(hào),許多地方簡單的公式輸入也有誤,簡單的一個(gè)筆誤就得仔細(xì)的找上好幾分鐘,真的很困惑。突然之間自

16、己仿佛明白了一些道理。沒有什么東西可以一蹴而就,沒有多少東西可以一勞永逸。簡單的錯(cuò)誤范下了并不是說,我有多不小心,從另一邊也正好說明我自己有多么愚笨。細(xì)節(jié)決定成敗,而那些細(xì)節(jié)并不是說我們不知道或者不明白,而是沒有處理它們的心態(tài)!一件事,要想處理好他,自己不先靜下心來,又怎能指望其他?態(tài)度!開始幾天堅(jiān)持起早,跑到教室認(rèn)真的編寫,調(diào)試,沒有幾天,程序做的差不多的時(shí)候,自己就沒了編寫的耐心!看著自己的朋友一個(gè)個(gè)忙著備考,自己卻閑了下來。心想做的差不多了先休息一下也無妨。幾天下來一點(diǎn)進(jìn)展都沒有,后來臨近交結(jié)果的時(shí)候,仔細(xì)一算,時(shí)間還真不是那么多了,做完之后還有報(bào)告要寫!也就耐心下來了。后來,看著其他人編了些程序,自己想想,也再寫了2個(gè)。3!這就是我這幾天的結(jié)果。不多,但自己卻有小小的滿足感。回顧此次課程設(shè)計(jì),從拿到題目到完成整個(gè)編程,從理論到實(shí)踐,在整整兩個(gè)星期的日子里,學(xué)到了很多很多的東西,不僅鞏固了以前所學(xué)過的知識(shí),也學(xué)到了許多書本上沒有的知識(shí)。通過這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很必要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,要

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論