您好,欢迎访问三七文档
当前位置:首页 > 高等教育 > 其它文档 > C#高斯换带计算报告和代码
设计说明书设计题目:高斯投影换带计算姓名:指导教师:专业:测绘工程2013年7月2日课程设计说明书矿业工程学院1成绩评分表学号姓名课程设计具体工作内容个人得分208程序总体设计与分析207C#界面开发210程序编程和调试215制作答辨PPT程序设计与测试(0.7)小组得分界面设计友好,用户数据输入及操作自由度高,有测试数据;20数据结构设计合理,代码模块化,通用性强;20设计思想清晰,代码编写采取逐层递进格式,注释可读性高;20程序总体运行通过,各部分功能实现程度高,注重容错处理40设计说明书部分(0.3)设计报告说明书内容全面,层次清楚、完整程度高30设计思路清析、对设计思想、完成情况等重要内容说明表达清晰,总体分析、详细设计、界面设计各部分内容表述清楚50数据结构和算法合理,知识点明晰20教师评语课程设计说明书矿业工程学院21设计内容1.1设计意义高斯投影虽然保证了角度投影前后没有变形,但其长度变形仍然存在,并且距离中央子午线愈远,长度变形愈大。为了限制高斯投影的长度变形,将椭球面按一定经度的子午线划分成不同的投影带,把投影范围限制在中央子午线东西两侧一定的狭长地带内分别进行投影。由于中央子午线的经度不同,使得椭球面上统一的大地坐标系,分割成为各带独立的平面坐标系。为了得到统一的坐标系,必须进行换带计算。在实际测量工作中,我们常常遇到坐标不统一的情况,为了计算简便,把不同形式的坐标转换成我们所需的坐标,为我们的工程服务,经常需要进行高斯投影正算、反算、坐标换带和子午线收敛角的计算工作。为此,我们编写了这一程序设计,希望能使以后的转换工作更加简便。本软件主要应用相关的转换公式,采用C#编程可随时随地实现任何参考椭球体下高斯坐标转换与大地坐标之间的正反算和换带计算,达到高斯平面坐标转换的目的。本文所编程序的特点是,操作简单.输出简捷、结果完整,不需要另加辅助内容。本设计主要是利用C#作为前端开发工具进行应用程序开发。1.2基础理论正算是指:由大地坐标(L,B)求得高斯平面坐标(x,y)的过程。反算是指:由高斯平面坐标(x,y)求得大地坐标(L,B)的过程。正算:高斯投影必须满足的三个条件:(1),中央子午线投影后为直线。(2),中央子午线投影后长度不变。(3),投影具有正性性质,即正性投影条件。由第一个条件可知,中央子午线东西两侧的投影必然对称于中央子午线。设在托球面上有P1,P2,且对称于中央子午线。其大地坐标为(l,B),(-l,B)则投影后的平面坐标一定为P1·(x,y),P2·(x,-y).由第二个条件可知,位于中央子午线上的点,投影后的纵坐标x应该等于投影前从赤道量至该点的子午弧长。相应计算公式:(克氏椭球)其中:课程设计说明书矿业工程学院3(IAG椭球)反算:在高斯投影坐标反算时,原面是高斯平面,投影面是椭球面,则有如下的投影方程:则其的三个条件:(1),x坐标轴投影成中央子午线,是投影的对称轴;(2),x轴上的长度投影保持不变;(3),正性投影条件。相应计算公式:(克氏椭球)其中:(克氏椭球)2224222350(1(0.147))[1()],fBBbZZZblbbZZZLLlBlNllaayBBNlllaaaBxcos))(1(sincos)))(5.0((1328.63674522253222640BBaBBaBBaBBaBBBaBBBN2252232262242220222cos)cos20382.01702.0(00878.01666667.0cos)cos001123.03333333.0(cos)083.0cos167.0(04167.0cos)cos00253.025.0(cos]cos)cos0041.07034.0(3646.135[5189.32144cos]cos)cos603.0996.108(045.21565[652.6399596课程设计说明书矿业工程学院41.3数据流程图2-1数据流程图fffffffffffBBbBBbBBbBBBbBNyN22522422322cos)cos00878.016667.0(2.0cos)cos005617.0161612.0(25.0cos)cos001123.01666667.0(333333.0cossin)cos00336975.05.0(cos进入系统选择带转换和椭球系统输入已知数据和中央子午线任意带输入已知数据3-33-6带重置计算课程设计说明书矿业工程学院51.4详细设计主要研究内容是利用c#软件把高斯换带计算从手算实现电算的一个过程。主要分为四个界面:(1)欢迎界面主要结构过程名功能与作用进入功能label3_Click欢迎界面进入主页面(2)主程序界面主要结构过程名功能与作用读入函数publicvoidReadData()读入数据反算函数publicvoidFS()高斯反算正算函数publicvoidZS()高斯正算弧度转角度函数redian_a(doublealfa)弧度转角度角度转弧度函数angle_r(doublealfa)角度转弧度输出函数publicvoidWriteData()输出数据计算button1_Click进行换带计算重置button2_Click_1恢复原状态改变属性radioButton3_CheckedChanged点击3-3换带时改变textbox的属性改变属性radioButton4_CheckedChanged点击3-3换带时改变textbox的属性改变属性radioButton5_CheckedChanged点击3-3换带时改变textbox的属性课程设计说明书矿业工程学院6带号与中央子午线转换带号与中央子午线转换ToolStripMenuItem_Click进入带号与中央子午线转换窗体弧度角度转换弧度角度转换ToolStripMenuItem_Click进入弧度角度转换窗体关闭Form1_FormClosing关闭整个程序(3)带号与中央子午线转换界面主要结构过程名功能与作用求中央子午线button1_Click由带号求中央子午线求带号button2_Click中央子午线由求带号关闭Form3_FormClosing关闭该窗体(4)弧度角度转换界面主要结构过程名功能与作用角转弧button1_Click角度转弧度弧转角button2_Click弧度转角度关闭Form3_FormClosing关闭该窗体2功能实现2.1关键技术和难点///summary///反算函数////summarypublicvoidFS(){///克氏椭球反算if(radioButton1.Checked==true){课程设计说明书矿业工程学院7β=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);}///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);}}///克氏椭球课程设计说明书矿业工程学院8if(radioButton1.Checked==true){///summary///3-3正算函数////summaryif(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正算函数////summaryelseif(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///任意正算函数////summaryelseif(radioButton5.Checked==true){l1=L-L02;}N=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
本文标题:C#高斯换带计算报告和代码
链接地址:https://www.777doc.com/doc-4673995 .html