




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
遼寧工程技術(shù)大學大地測量根底綜合訓練二教學單位測繪與地理科學學院專業(yè)測繪工程名稱80橢球高斯投影坐標換帶班級測繪14-1學號1404070101、1404070115、14070123學生姓名蔡文豪、林珞珂、熊楚君指導教師王佩賢目錄原理………………11.1高斯投影及坐標正反算……………11.2高斯投影正算公式…………………21.3高斯投影反算公式…………………32、目的意義…………42.1換帶的理由…………42.2編程的理由…………43、流程圖……………54、語言簡介…………64.1語言特點……………64.2工作原理……………75、有關(guān)程序…………65.1程序界面……………65.2程序源碼……………65.3程序使用說明………………………65.4程序檢驗數(shù)據(jù)………………………75.5程序評價……………6原理高斯投影及坐標正反算參考橢球面的高斯投影是指將地表的觀測元素先投影到參考橢球面上(稱為高斯歸化),再投影到高斯平面上(稱為高斯投影改化),這樣就可以在高斯平面直角坐標系中進行測量平差計算。在控制測量學中,由控制點的大地經(jīng)緯度(L,B)計算其高斯平面坐標(X,Y),稱為高斯投影正算;由高斯平面坐標(X,Y)計算其大地經(jīng)緯度(L,B,稱為高斯投影反算;由一個投影帶的高斯平面坐標(x1,y1)計算其在另一個投影帶的高斯平面坐標(x2,x2)稱為高斯投影換帶計算。為了控制測量而選擇地圖投影時,應根據(jù)測量的任務和目的來進行。為此,對地圖投影提出了以下要求:(1)應當采用等角投影〔又稱正形投影〕,可以保證在有限的范圍內(nèi)使地圖上圖形同橢球上原形保持相似,這給識圖用圖將帶來很大便利。(2)要求長度和面積變形不大,并能夠應用簡單公式計算由于這些變形而帶來的改正數(shù)。從理論上說,不管投影變形有多大,都是可以計算出來的。(3)將大的區(qū)域按一定規(guī)律分成假設干小區(qū)域〔或帶〕。每個帶單獨投影,并組本錢身的角坐標系,然后,再將這些帶用簡單的數(shù)學方法連接在一起,從而組成統(tǒng)一的系統(tǒng)。2、高斯投影正算公式:當把1975年國際橢球參數(shù)代入正算公式,整理可得相似的正算公式:其中高斯投影反算公式將1975年國際橢球元素值代入,經(jīng)整理可得高斯投影坐標反算公式:其中意義目的1、換帶的理由〔1〕高斯投影雖然保證了角度投影前后沒有變形,但是其長度變形仍然存在,并且距離中央子午線越遠,長度變形越大。為了限制高斯投影的長度變形,將橢球面按一定經(jīng)度的子午線劃分成不同的投影帶,把投影范圍限制在中央子午線東西兩側(cè)一定的狹長地帶內(nèi)分別進行投影?!?〕由于中央子午線經(jīng)度不同,使得橢球面上統(tǒng)一的大地坐標系,分割成各帶獨立的平面坐標系。為了得到統(tǒng)一的坐標系,必須進行換帶計算。2、編程的理由使用C++語言編寫程序,簡化計算過程,節(jié)省時間,提高工作效率,降低錯誤出現(xiàn)率。流程圖語言簡介C++是C語言的繼承,它既可以進行C語言的過程化程序設計,又可以進行以抽象數(shù)據(jù)類型為特點的基于對象的程序設計,還可以進行以繼承和多態(tài)為特點的面向?qū)ο蟮某绦蛟O計。C++擅長面向?qū)ο蟪绦蛟O計的同時,還可以進行基于過程的程序設計,因而C++就適應的問題規(guī)模而論,大小由之。C++不僅擁有計算機高效運行的實用性特征,同時還致力于提高大規(guī)模程序的編程質(zhì)量與程序設計語言的問題描述能力。語言特點〔1〕支持數(shù)據(jù)封裝和數(shù)據(jù)隱藏在C++中,類是支持數(shù)據(jù)封裝的工具,對象那么是數(shù)據(jù)封裝的實現(xiàn)。C++通過建立用戶定義類支持數(shù)據(jù)封裝和數(shù)據(jù)隱藏。在面向?qū)ο蟮某绦蛟O計中,將數(shù)據(jù)和對該數(shù)據(jù)進行合法操作的函數(shù)封裝在一起作為一個類的定義。對象被說明為具有一個給定類的變量。每個給定類的對象包含這個類所規(guī)定的假設干私有成員、公有成員及保護成員。完好定義的類一旦建立,就可看成完全封裝的實體,可以作為一個整體單元使用。類的實際內(nèi)部工作隱藏起來,使用完好定義的類的用戶不需要知道類是如何工作的,只要知道如何使用它即可?!?〕支持繼承和重用在C++現(xiàn)有類的根底上可以聲明新類型,這就是繼承和重用的思想。通過繼承和重用可以更有效地組織程序結(jié)構(gòu),明確類間關(guān)系,并且充分利用已有的類來完成更復雜、深入的開發(fā)。新定義的類為子類,成為派生類。它可以從父類那里繼承所有非私有的屬性和方法,作為自己的成員?!?〕支持多態(tài)性采用多態(tài)性為每個類指定表現(xiàn)行為。多態(tài)性形成由父類和它們的子類組成的一個樹型結(jié)構(gòu)。在這個樹中的每個子類可以接收一個或多個具有相同名字的消息。當一個消息被這個樹中一個類的一個對象接收時,這個對象動態(tài)地決定給予子類對象的消息的某種用法。多態(tài)性的這一特性允許使用高級抽象。繼承性和多態(tài)性的組合,可以輕易地生成一系列雖然類似但獨一無二的對象。由于繼承性,這些對象共享許多相似的特征。由于多態(tài)性,一個對象可有獨特的表現(xiàn)方式,而另一個對象有另一種表現(xiàn)方式。工作原理C++語言的程序因為要表達高性能,所以都是編譯型的。但其開發(fā)環(huán)境,為了方便測試,將調(diào)試環(huán)境做成解釋型的。即開發(fā)過程中,以解釋型的逐條語句執(zhí)行方式來進行調(diào)試,以編譯型的脫離開發(fā)環(huán)境而啟動運行的方式來生成程序最終的執(zhí)行代碼。生成程序是指將源碼〔C++語句〕轉(zhuǎn)換成一個可以運行的應用程序的過程。如果程序的編寫是正確的,那么通常只需按一個功能鍵,即可搞定這個過程。該過程實際上分成兩個步驟。第一步是對程序進行編譯,這需要用到編譯器〔compiler〕。編譯器將C++語句轉(zhuǎn)換成機器碼(也稱為目標碼);如果這個步驟成功,下一步就是對程序進行鏈接,這需要用到鏈接器〔linker〕。鏈接器將編譯獲得機器碼與C++庫中的代碼進行合并。C++庫包含了執(zhí)行某些常見任務的函數(shù)〔“函數(shù)”是子程序的另一種稱呼〕。例如,一個C++庫中包含標準的平方根函數(shù)sqrt,所以不必親自計算平方根。C++庫中還包含一些子程序,它們把數(shù)據(jù)發(fā)送到顯示器,并知道如何讀寫硬盤上的數(shù)據(jù)文件。五、有關(guān)程序1、程序界面圖一程序源代碼voidCGassDlg::OnButton1jisuan(){CFileDialogm(true);CStdioFilefp;UpdateData(true); doublex[666]={0},y[666]={0}; if(m.DoModal()==IDOK) { CStringfm=m.GetPathName(); CStringtemp; fp.Open(fm,CStdioFile::modeRead); CStringfn,n; fp.ReadString(n);sscanf(n,"%d",&zds); for(inti=0;i<zds;i++) {fp.ReadString(fn); tt+=fn+"\r\n"; sscanf(fn,"%lf%lf",&x[i],&y[i]); jss(x[i],y[i]); x6[i]=m_XINX; y6[i]=m_XINY; } fp.Close; }intN=10;charstra[666];charstrb[666]; CStringstrc; CStringstrd; CStringstr;for(inti=0;i<zds;i++){gcvt(x6[i],N,stra); gcvt(y6[i],N,strb); strc=stra; strd=strb;str=str+strc+""; str=str+strd+"\r\n";}dd=str;UpdateData(false); }doubleCGassDlg::jss(doublem_X,doublem_Y){ doubleBf,beta,Z,Nf,b2,b3,b4,b5,l,B,L,Bf2,beta2; beta=m_X*P/6367558.4969; beta2=cos(beta/P)*cos(beta/P); Bf=beta+(50228976+(293697+(2383+22*beta2)*beta2)*beta2)*sin(beta/P)*cos(beta/P)*P*0.0000000001; Bf2=cos(Bf/P)*cos(Bf/P); Nf=6399596.652-(21565.047-(109.003-0.612*Bf2)*Bf2)*Bf2; Z=m_Y/(Nf*cos(Bf/P)); b2=(0.5+0.00336975*Bf2)*sin(Bf/P)*cos(Bf/P); b3=0.333333-(0.166667-0.001123*Bf2)*Bf2; b4=0.25+(0.161612+0.005617*Bf2)*Bf2; b5=0.2-(0.1667-0.00878*Bf2)*Bf2;/ B=Bf-(1-(b4-0.147*Z*Z)*Z*Z)*Z*Z*b2*P;l=(1-(b3-b5*Z*Z)*Z*Z)*Z*P; L=m_LO*3600+l; m_B0=(int)(B/3600); m_B1=(int)((B-m_B0*3600)/60); m_B2=B-(m_B0*3600+m_B1*60); m_L0=(int)(L/3600); m_L1=(int)((L-m_L0*3600)/60); m_L2=L-(m_L0*3600+m_L1*60); doubleB1,L1,l1,N,BB,a0,a3,a4,a5,a6; L1=L/P; B1=B/P; BB=cos(B1)*cos(B1);l1=(L-m_XINL0*3600)/P; N=6399596.652-(21565.047-(109.003-0.612*BB)*BB)*BB; a0=32144.5189-(135.3646-(0.7034-0.0040*BB)*BB)*BB; a3=(0.3333333+0.001123*BB)*BB-0.1666667; a4=(0.25+0.00253*BB)*BB-0.04166; a5=0.0083-(0.1667-(0.1968+0.0040*BB)*BB)*BB; a6=(0.167*BB-0.083)*BB; m_XINX=6367452.1328*B1-(a0-(0.5+(a4+a6*l1*l1)*l1*l1)*l1*l1*N)*sin(B1)*cos(B1); m_XINY=(1+(a3+a5*l1*l1)*l1*l1)*l1*N*cos(B1); return0;}程序說明書〔1〕雙擊gass.exe翻開軟件;〔2〕輸入要換帶的兩條中央子午線經(jīng)度,點擊坐標計算讀取坐標數(shù)據(jù),格式為點個數(shù)XY〔3〕點擊寫出,將換帶結(jié)果寫入文檔;4、關(guān)于程序本程序可批處理計算西安80坐標換帶,參考橢球為1975國際橢球。程序編寫人員蔡文豪,調(diào)試檢核人員林珞珂,熊楚君。5、程序驗證數(shù)據(jù)6123.123456.456789.789
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 期刊出版與學術(shù)資源優(yōu)化配置考核試卷
- 故宮瓦片施工方案
- 氨基酸衍生物合成考核試卷
- 機器人技術(shù)與智能控制考核試卷
- 油氣田開發(fā)項目全過程管理與優(yōu)化策略案例考核試卷
- 棉麻行業(yè)產(chǎn)品創(chuàng)新與市場適應性分析考核試卷
- 2025年車載卡帶機項目可行性研究報告
- 2025年裂解汽油二段加氫催化劑項目可行性研究報告
- 2025-2030中國自動注塑機行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報告
- 2025-2030中國脫膠設備行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報告
- 高血壓健康教育知識講座課件
- 腎內(nèi)科血透室品管圈
- 小學勞動教育一年級下冊第二單元第3課《削果皮》課件
- 擔任學生干部證明
- 學校消防宣傳周活動方案食品安全宣傳周方案
- 婦產(chǎn)科醫(yī)生個人職業(yè)發(fā)展路徑計劃
- 裝修工程合同范本(中英文版)
- 成人住院患者靜脈血栓栓塞癥預防護理
- 導游知識與技能訓練智慧樹知到期末考試答案章節(jié)答案2024年麗江文化旅游學院
- 無小孩無共同財產(chǎn)離婚協(xié)議書
- 企業(yè)多元化與包容性政策
評論
0/150
提交評論