版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
遼寧工程技術(shù)大學(xué)大地測量根底綜合訓(xùn)練二教學(xué)單位測繪與地理科學(xué)學(xué)院專業(yè)測繪工程名稱80橢球高斯投影坐標(biāo)換帶班級測繪14-1學(xué)號1404070101、1404070115、14070123學(xué)生姓名蔡文豪、林珞珂、熊楚君指導(dǎo)教師王佩賢目錄原理………………11.1高斯投影及坐標(biāo)正反算……………11.2高斯投影正算公式…………………21.3高斯投影反算公式…………………32、目的意義…………42.1換帶的理由…………42.2編程的理由…………43、流程圖……………54、語言簡介…………64.1語言特點(diǎn)……………64.2工作原理……………75、有關(guān)程序…………65.1程序界面……………65.2程序源碼……………65.3程序使用說明………………………65.4程序檢驗(yàn)數(shù)據(jù)………………………75.5程序評價(jià)……………6原理高斯投影及坐標(biāo)正反算參考橢球面的高斯投影是指將地表的觀測元素先投影到參考橢球面上(稱為高斯歸化),再投影到高斯平面上(稱為高斯投影改化),這樣就可以在高斯平面直角坐標(biāo)系中進(jìn)行測量平差計(jì)算。在控制測量學(xué)中,由控制點(diǎn)的大地經(jīng)緯度(L,B)計(jì)算其高斯平面坐標(biāo)(X,Y),稱為高斯投影正算;由高斯平面坐標(biāo)(X,Y)計(jì)算其大地經(jīng)緯度(L,B,稱為高斯投影反算;由一個(gè)投影帶的高斯平面坐標(biāo)(x1,y1)計(jì)算其在另一個(gè)投影帶的高斯平面坐標(biāo)(x2,x2)稱為高斯投影換帶計(jì)算。為了控制測量而選擇地圖投影時(shí),應(yīng)根據(jù)測量的任務(wù)和目的來進(jìn)行。為此,對地圖投影提出了以下要求:(1)應(yīng)當(dāng)采用等角投影〔又稱正形投影〕,可以保證在有限的范圍內(nèi)使地圖上圖形同橢球上原形保持相似,這給識圖用圖將帶來很大便利。(2)要求長度和面積變形不大,并能夠應(yīng)用簡單公式計(jì)算由于這些變形而帶來的改正數(shù)。從理論上說,不管投影變形有多大,都是可以計(jì)算出來的。(3)將大的區(qū)域按一定規(guī)律分成假設(shè)干小區(qū)域〔或帶〕。每個(gè)帶單獨(dú)投影,并組本錢身的角坐標(biāo)系,然后,再將這些帶用簡單的數(shù)學(xué)方法連接在一起,從而組成統(tǒng)一的系統(tǒng)。2、高斯投影正算公式:當(dāng)把1975年國際橢球參數(shù)代入正算公式,整理可得相似的正算公式:其中高斯投影反算公式將1975年國際橢球元素值代入,經(jīng)整理可得高斯投影坐標(biāo)反算公式:其中意義目的1、換帶的理由〔1〕高斯投影雖然保證了角度投影前后沒有變形,但是其長度變形仍然存在,并且距離中央子午線越遠(yuǎn),長度變形越大。為了限制高斯投影的長度變形,將橢球面按一定經(jīng)度的子午線劃分成不同的投影帶,把投影范圍限制在中央子午線東西兩側(cè)一定的狹長地帶內(nèi)分別進(jìn)行投影?!?〕由于中央子午線經(jīng)度不同,使得橢球面上統(tǒng)一的大地坐標(biāo)系,分割成各帶獨(dú)立的平面坐標(biāo)系。為了得到統(tǒng)一的坐標(biāo)系,必須進(jìn)行換帶計(jì)算。2、編程的理由使用C++語言編寫程序,簡化計(jì)算過程,節(jié)省時(shí)間,提高工作效率,降低錯(cuò)誤出現(xiàn)率。流程圖語言簡介C++是C語言的繼承,它既可以進(jìn)行C語言的過程化程序設(shè)計(jì),又可以進(jìn)行以抽象數(shù)據(jù)類型為特點(diǎn)的基于對象的程序設(shè)計(jì),還可以進(jìn)行以繼承和多態(tài)為特點(diǎn)的面向?qū)ο蟮某绦蛟O(shè)計(jì)。C++擅長面向?qū)ο蟪绦蛟O(shè)計(jì)的同時(shí),還可以進(jìn)行基于過程的程序設(shè)計(jì),因而C++就適應(yīng)的問題規(guī)模而論,大小由之。C++不僅擁有計(jì)算機(jī)高效運(yùn)行的實(shí)用性特征,同時(shí)還致力于提高大規(guī)模程序的編程質(zhì)量與程序設(shè)計(jì)語言的問題描述能力。語言特點(diǎn)〔1〕支持?jǐn)?shù)據(jù)封裝和數(shù)據(jù)隱藏在C++中,類是支持?jǐn)?shù)據(jù)封裝的工具,對象那么是數(shù)據(jù)封裝的實(shí)現(xiàn)。C++通過建立用戶定義類支持?jǐn)?shù)據(jù)封裝和數(shù)據(jù)隱藏。在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,將數(shù)據(jù)和對該數(shù)據(jù)進(jìn)行合法操作的函數(shù)封裝在一起作為一個(gè)類的定義。對象被說明為具有一個(gè)給定類的變量。每個(gè)給定類的對象包含這個(gè)類所規(guī)定的假設(shè)干私有成員、公有成員及保護(hù)成員。完好定義的類一旦建立,就可看成完全封裝的實(shí)體,可以作為一個(gè)整體單元使用。類的實(shí)際內(nèi)部工作隱藏起來,使用完好定義的類的用戶不需要知道類是如何工作的,只要知道如何使用它即可?!?〕支持繼承和重用在C++現(xiàn)有類的根底上可以聲明新類型,這就是繼承和重用的思想。通過繼承和重用可以更有效地組織程序結(jié)構(gòu),明確類間關(guān)系,并且充分利用已有的類來完成更復(fù)雜、深入的開發(fā)。新定義的類為子類,成為派生類。它可以從父類那里繼承所有非私有的屬性和方法,作為自己的成員?!?〕支持多態(tài)性采用多態(tài)性為每個(gè)類指定表現(xiàn)行為。多態(tài)性形成由父類和它們的子類組成的一個(gè)樹型結(jié)構(gòu)。在這個(gè)樹中的每個(gè)子類可以接收一個(gè)或多個(gè)具有相同名字的消息。當(dāng)一個(gè)消息被這個(gè)樹中一個(gè)類的一個(gè)對象接收時(shí),這個(gè)對象動態(tài)地決定給予子類對象的消息的某種用法。多態(tài)性的這一特性允許使用高級抽象。繼承性和多態(tài)性的組合,可以輕易地生成一系列雖然類似但獨(dú)一無二的對象。由于繼承性,這些對象共享許多相似的特征。由于多態(tài)性,一個(gè)對象可有獨(dú)特的表現(xiàn)方式,而另一個(gè)對象有另一種表現(xiàn)方式。工作原理C++語言的程序因?yàn)橐磉_(dá)高性能,所以都是編譯型的。但其開發(fā)環(huán)境,為了方便測試,將調(diào)試環(huán)境做成解釋型的。即開發(fā)過程中,以解釋型的逐條語句執(zhí)行方式來進(jìn)行調(diào)試,以編譯型的脫離開發(fā)環(huán)境而啟動運(yùn)行的方式來生成程序最終的執(zhí)行代碼。生成程序是指將源碼〔C++語句〕轉(zhuǎn)換成一個(gè)可以運(yùn)行的應(yīng)用程序的過程。如果程序的編寫是正確的,那么通常只需按一個(gè)功能鍵,即可搞定這個(gè)過程。該過程實(shí)際上分成兩個(gè)步驟。第一步是對程序進(jìn)行編譯,這需要用到編譯器〔compiler〕。編譯器將C++語句轉(zhuǎn)換成機(jī)器碼(也稱為目標(biāo)碼);如果這個(gè)步驟成功,下一步就是對程序進(jìn)行鏈接,這需要用到鏈接器〔linker〕。鏈接器將編譯獲得機(jī)器碼與C++庫中的代碼進(jìn)行合并。C++庫包含了執(zhí)行某些常見任務(wù)的函數(shù)〔“函數(shù)”是子程序的另一種稱呼〕。例如,一個(gè)C++庫中包含標(biāo)準(zhǔn)的平方根函數(shù)sqrt,所以不必親自計(jì)算平方根。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)度,點(diǎn)擊坐標(biāo)計(jì)算讀取坐標(biāo)數(shù)據(jù),格式為點(diǎn)個(gè)數(shù)XY〔3〕點(diǎn)擊寫出,將換帶結(jié)果寫入文檔;4、關(guān)于程序本程序可批處理計(jì)算西安80坐標(biāo)換帶,參考橢球?yàn)?975國際橢球。程序編寫人員蔡文豪,調(diào)試檢核人員林珞珂,熊楚君。5、程序驗(yàn)證數(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)容里面會有圖紙預(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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 法律行業(yè)客服工作總結(jié)專業(yè)解決法律問題
- 環(huán)保設(shè)備行業(yè)采購工作總結(jié)
- 音樂行業(yè)安全生產(chǎn)工作總結(jié)
- 分析行業(yè)數(shù)據(jù)解讀培訓(xùn)總結(jié)
- 咨詢行業(yè)中戰(zhàn)略顧問的工作表現(xiàn)概述
- 【八年級下冊歷史】第6課 艱難探索與建設(shè)成就 同步練習(xí)
- 創(chuàng)新實(shí)驗(yàn)資源共享合同(2篇)
- 2024社團(tuán)規(guī)章制度(30篇)
- 《政府采購業(yè)務(wù)知識》課件
- 2024年福建省《輔警招聘考試必刷500題》考試題庫帶答案(突破訓(xùn)練)
- 2024年湖北省漢江國有資本投資集團(tuán)有限公司招聘筆試參考題庫含答案解析
- 廣州市九區(qū)聯(lián)考2023-2024學(xué)年高一上學(xué)期期末教學(xué)質(zhì)量監(jiān)測數(shù)學(xué)試卷(原卷版)
- 西方國家的量刑建議制度及其比較
- 游戲方案模板
- 幼兒園大班數(shù)學(xué)上學(xué)期期末考試-試題測試
- 地震預(yù)警安裝方案
- 汽車產(chǎn)品定義 培訓(xùn)課件
- NICU患兒常規(guī)監(jiān)測和護(hù)理要點(diǎn)
- 高血壓急癥的緊急處理與護(hù)理
- 數(shù)字工程勘察信息平臺構(gòu)建
- 噴涂設(shè)備保養(yǎng)和維護(hù)操作規(guī)程
評論
0/150
提交評論