C#高斯换带解析课件_第1页
C#高斯换带解析课件_第2页
C#高斯换带解析课件_第3页
C#高斯换带解析课件_第4页
C#高斯换带解析课件_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

高斯投影换带计算专业:测绘工程班级:测绘2班高斯投影换带计算1高斯投影换带计算1.设计内容

1.1设计意义

1.2基础理论

1.3数据流程图

1.4详细设计2.功能实现2.1关键技术和难点2.2程序使用说明书

3.总结高斯投影换带计算1.设计内容21.设计内容1.1设计意义

在实际测量工作中,我们常常遇到坐标不统一的情况,为了计算简便,把不同形式的坐标转换成我们所需的坐标,为我们的工程服务,经常需要进行高斯投影正算、反算、坐标换带和子午线收敛角的计算工作。为此,我们编写了这一程序设计,希望能使以后的转换工作更加简便。本软件主要应用相关的转换公式,采用C#编程可随时随地实现任何参考椭球体下高斯坐标转换与大地坐标之间的正反算和换带计算,达到高斯平面坐标转换的目的。本文所编程序的特点是,操作简单.输出简捷、结果完整,不需要另加辅助内容。1.设计内容1.1设计意义3高斯投影虽然保证了角度投影前后没有变形,但其长度变形仍然存在,并且距离中央子午线愈远,长度变形愈大。为了限制高斯投影的长度变形,将椭球面按一定经度的子午线划分成不同的投影带,把投影范围限制在中央子午线东西两侧一定的狭长地带内分别进行投影。由于中央子午线的经度不同,使得椭球面上统一的大地坐标系,分割成为各带独立的平面坐标系。为了得到统一的坐标系,必须进行换带计算。高斯投影虽然保证了角度投影前后没有变形,但其长度变形仍然存在41.2基础理论利用高斯正反算间接换带平面坐标大地坐标平面坐标把椭球面上的大地坐标作为过渡坐标:这种方法,理论上最简明严密,精度最高,通用性最强。不仅适用于3°-3°带以及6°-3°带互相之间的邻带坐标换算,且适用于任意带之间的坐标换算。虽计算量稍大,但由于计算机的普及和本法的通用性及计算的高精度,它自然便成为坐标邻带换算中最基本的方法。反算正算1.2基础理论平面坐标大地坐标平面坐标把椭球面上的大地坐标作5计算和数据模型正算是指:由大地坐标(L,B)求得高斯平面坐标(x,y)的过程。反算是指:由高斯平面坐标(x,y)求得大地坐标(L,B)的过程。正算:高斯投影必须满足的三个条件:(1),中央子午线投影后为直线。(2),中央子午线投影后长度不变。(3),投影具有正性性质,即正性投影条件。由第一个条件可知,中央子午线东西两侧的投影必然对称于中央子午线。设在托球面上有P1,P2,且对称于中央子午线。其大地坐标为(l,B),(-l,B)则投影后的平面坐标一定为P1·(x,y),P2·(x,-y).由第二个条件可知,位于中央子午线上的点,投影后的纵坐标x应该等于投影前从赤道量至该点的子午弧长。计算和数据模型正算是指:由大地坐标(L,B)求得高斯平面坐标6反算:在高斯投影坐标反算时,原面是高斯平面,投影面是椭球面,则有如下的投影方程:则其的三个条件:(1)x坐标轴投影成中央子午线,是投影的对称轴;(2)x轴上的长度投影保持不变;(3)正性投影条件。反算:在高斯投影坐标反算时,原面是高斯平面,投影面是椭球面,7高斯反算公式(克氏椭球)高斯反算公式(克氏椭球)8高斯反算公式(IAG椭球)高斯反算公式(IAG椭球)9高斯正算公式:(克氏椭球)高斯正算公式:(克氏椭球)10高斯正算公式:(IAG椭球)高斯正算公式:(IAG椭球)111.3数据流程图1.3数据流程图121.4详细设计主要研究内容是利用C#软件把高斯换带计算从手算到实现电算的一个过程。主要分为四个界面(1)欢迎界面

主要结构过程名功能与作用进入功能label3_Click欢迎界面进入主页面(2)主程序界面

主要结构过程名功能与作用读入函数publicvoidReadData()读入数据反算函数publicvoidFS()高斯反算正算函数publicvoidZS()高斯正算弧度转角度函数redian_a(doublealfa)弧度转角度角度转弧度函数angle_r(doublealfa)角度转弧度输出函数publicvoidWriteData()输出数据计算button1_Click进行换带计算重置button2_Click_1恢复原状态1.4详细设计主要结构过程名功能与作用进入功能label3_13(2)主程序界面

主要结构过程名功能与作用改变属性radioButton3_CheckedChanged点击3-3换带时改变textbox的属性改变属性radioButton4_CheckedChanged点击3-3换带时改变textbox的属性改变属性radioButton5_CheckedChanged点击3-3换带时改变textbox的属性带号与中央子午线转换带号与中央子午线转换ToolStripMenuItem_Click进入带号与中央子午线转换窗体弧度角度转换弧度角度转换ToolStripMenuItem_Click进入弧度角度转换窗体关闭Form1_FormClosing关闭整个程序(2)主程序界面主要结构过程名功能与作用改变属性radioB14主要结构过程名功能与作用求中央子午线button1_Click由带号求中央子午线求带号button2_Click中央子午线由求带号关闭Form3_FormClosing关闭该窗体(3)带号与中央子午线转换界面

(4)弧度角度转换界面

主要结构过程名功能与作用角转弧button1_Click角度转弧度弧转角button2_Click弧度转角度关闭Form3_FormClosing关闭该窗体主要结构过程名功能与作用求中央子午线button1_Clic152.功能实现2.1关键技术和难点///<summary>///反算函数

///</summary>publicvoidFS(){

///克氏椭球反算

if(radioButton1.Checked==true){β=x/6367558.4969;Bf=β+(50221746+(293622+(2350+22*Math.Pow(Math.Cos(β),2))*Math.Pow(Math.Cos(β),2))*Math.Pow(Math.Cos(β),2))*Math.Pow(10,-10)*Math.Sin(β)*Math.Cos(β);Nf=6399698.902-(21562.267-(108.973-0.612*Math.Pow(Math.Cos(Bf),2))*Math.Pow(Math.Cos(Bf),2))*Math.Pow(Math.Cos(Bf),2);Z=y/(Nf*Math.Cos(Bf));b2=(0.5+0.003369*Math.Pow(Math.Cos(Bf),2))*Math.Sin(Bf)*Math.Cos(Bf);b3=0.333333-(0.166667-0.001123*Math.Pow(Math.Cos(Bf),2))*Math.Pow(Math.Cos(Bf),2);b4=0.25+(0.16161+0.00562*Math.Pow(Math.Cos(Bf),2))*Math.Pow(Math.Cos(Bf),2);b5=0.2-(0.1667-0.0088*Math.Pow(Math.Cos(Bf),2))*Math.Pow(Math.Cos(Bf),2);B=Bf-(1-(b4-0.12*Z*Z)*Z*Z)*Z*Z*b2;B1=redian_a(B);l=(1-(b3-b5*Z*Z)*Z*Z)*Z;L=L01+l;L1=redian_a(L);}

2.功能实现2.1关键技术和难点16///IAG椭球反算

else{β=x/6367452.1328;Bf=β+(50228976+(293697+(2383+22*Math.Pow(Math.Cos(β),2))*Math.Pow(Math.Cos(β),2))*Math.Pow(Math.Cos(β),2))*Math.Pow(10,-10)*Math.Sin(β)*Math.Cos(β);Nf=6399596.652-(21565.045-(108.996-0.603*Math.Pow(Math.Cos(Bf),2))*Math.Pow(Math.Cos(Bf),2))*Math.Pow(Math.Cos(Bf),2);Z=y/(Nf*Math.Cos(Bf));b2=(0.5+0.00336975*Math.Pow(Math.Cos(Bf),2))*Math.Sin(Bf)*Math.Cos(Bf);b3=0.3333333-(0.1666667-0.001123*Math.Pow(Math.Cos(Bf),2))*Math.Pow(Math.Cos(Bf),2);b4=0.25+(0.161612+0.005617*Math.Pow(Math.Cos(Bf),2))*Math.Pow(Math.Cos(Bf),2);b5=0.2-(0.16667-0.00878*Math.Pow(Math.Cos(Bf),2))*Math.Pow(Math.Cos(Bf),2);B=Bf-(1-(b4-0.147*Z*Z)*Z*Z)*Z*Z*b2;B1=redian_a(B);l=(1-(b3-b5*Z*Z)*Z*Z)*Z;L=(L01+l);L1=redian_a(L);}}///IAG椭球反算17

///<summary>

///正算函数

///</summary>publicvoidZS(){

///克氏椭球

if(radioButton1.Checked==true){///<summary>///3-3正算函数

///</summary>if(radioButton3.Checked==true){if(MessageBox.Show("您确定向右换带吗?","确定向右换带吗?",MessageBoxButtons.YesNo,MessageBoxIcon.Question)==DialogResult.Yes){l1=l-3*Math.PI/180;}else{l1=l+3*Math.PI/180;}}///<summary>

///<summary>18///3-6正算函数

///</summary>elseif(radioButton4.Checked==true){if(MessageBox.Show("您确定向右换带吗?","确定向右换带吗?",MessageBoxButtons.YesNo,MessageBoxIcon.Question)==DialogResult.Yes){l1=l-6*Math.PI/180;}else{l1=l+3*Math.PI/180;}}///<summary>///任意正算函数

///</summary>elseif(radioButton5.Checked==true){l1=L-L02;}///3-6正算函数19N=6399698.902-(21562.267-(108.973-0.612*Math.Cos(B)*Math.Cos(B))*Math.Cos(B)*Math.Cos(B))*Math.Cos(B)*Math.Cos(B);a0=32140.404-(135.3302-(0.7092-0.004*Math.Cos(B)*Math.Cos(B))*Math.Cos(B)*Math.Cos(B))*Math.Cos(B)*Math.Cos(B);a4=(0.25+0.00252*Math.Cos(B)*Math.Cos(B))*Math.Cos(B)*Math.Cos(B)-0.04166;a6=(0.166*Math.Cos(B)*Math.Cos(B)-0.084)*Math.Cos(B)*Math.Cos(B);a3=(0.3333333+0.001123*Math.Cos(B)*Math.Cos(B))*Math.Cos(B)*Math.Cos(B)-0.1666667;a5=0.0083-(0.1667-(0.1968+0.004*Math.Cos(B)*Math.Cos(B))*Math.Cos(B)*Math.Cos(B))*Math.Cos(B)*Math.Cos(B);X=6367558.4969*B-(a0-(0.5+(a4+a6*l1*l1)*l1*l1)*l1*l1*N)*Math.Sin(B)*Math.Cos(B);Y=(1+(a3+a5*l1*l1)*l1*l1)*l1*N*Math.Cos(B);}

N=6399698.902-(21562.267-20///IAG椭球

else{///<summary>///3-3正算函数

///</summary>if(radioButton3.Checked==true){if(MessageBox.Show("您确定向右换带吗?","确定向右换带吗?",MessageBoxButtons.YesNo,MessageBoxIcon.Question)==DialogResult.Yes){l1=l-3*Math.PI/180;}else{l1=l+3*Math.PI/180;}}///<summary>///3-6正算函数

///</summary>elseif(radioButton4.Checked==true){if(MessageBox.Show("您确定向右换带吗?","确定向右换带吗?",MessageBoxButtons.YesNo,MessageBoxIcon.Question)==DialogResult.Yes){l1=l-6*Math.PI/180;}else{l1=l+3*Math.PI/180;}}

///IAG椭球21///<summary>///任意正算函数

///</summary>elseif(radioButton5.Checked==true){l1=L-L02;}N=6399596.652-(21565.045-(108.996-0.603*Math.Cos(B)*Math.Cos(B))*Math.Cos(B)*Math.Cos(B))*Math.Cos(B)*Math.Cos(B);a0=32144.5189-(135.3646-(0.7034-0.0041*Math.Cos(B)*Math.Cos(B))*Math.Cos(B)*Math.Cos(B))*Math.Cos(B)*Math.Cos(B);a4=(0.25+0.00253*Math.Cos(B)*Math.Cos(B))*Math.Cos(B)*Math.Cos(B)-0.04167;a6=(0.167*Math.Cos(B)*Math.Cos(B)-0.084)*Math.Cos(B)*Math.Cos(B);a3=(0.3333333+0.001123*Math.Cos(B)*Math.Cos(B))*Math.Cos(B)*Math.Cos(B)-0.1666667;a5=0.00878-(0.1702-0.20382*Math.Cos(B)*Math.Cos(B))*Math.Cos(B)*Ma

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论