资源预览内容
第1页 / 共16页
第2页 / 共16页
第3页 / 共16页
第4页 / 共16页
第5页 / 共16页
第6页 / 共16页
第7页 / 共16页
第8页 / 共16页
第9页 / 共16页
第10页 / 共16页
亲,该文档总共16页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
高斯正反算及空间直角坐标与大地地理坐标转换一、实验目的与要求1对以上理论内容的验证与应用。2通过学习掌握测绘软件开发过程与方法,初步具备测绘软件开发基本技能。3熟练掌握 Visual C+编程环境的使用,了解其特点与程序开发过程,掌软件调试、测试的技术方法。4分析测绘程序设计技术课程中相关软件的结构和模块功能,掌握结构化程序设计方法和技术,掌握测绘数据处理问题的基本特点。5开发相关程序功能模块,独立完成相关问题概念结构分析、程序结构设计、模块设计、代码编写、调试、测试等工作。二、实验安排1实验时数 12 学时。2每实验小组可以由 34 人组成,或独立完成。若由几个人完成程序设计,应进行合理的分工。三、实验步骤和要点1熟悉程序设计任务书的基本内容,调查了解软件需求状况,进行需求分析;2进行总体设计。根据所调查收集的资料和任务书的要求,对系统的硬件资源进行初步设计,提出硬件配置计划;进行软件总体设计,设计出软件程序功能的模块;3根据总体设计的结果,进行详细设计,进行数据存储格式设计、算法等,写出逻辑代码;4编写程序代码,调试运行;5程序试运行。最后同学们可根据自己的选题,写出软件开发设计书一份,打印程序代码和运行结果。四 实验原理高斯正反算:高斯正反算包括两部分内容:高斯正算和高斯反算。简单的说就是大地地理坐标系坐标(B,L)与其对应的高斯平面直角坐标系坐标(x,y)之间的转换。若已知大地地理坐标系坐标(B,L)解求对应的高斯平面直角坐标系坐标(x,y)称为高斯正算;反之,则为高斯反算。 空间直角坐标与大地地理坐标转换:地球表面可用一个椭球面表示。设空间直角坐标系为 OXYZ,当椭球的中心与空间直角坐标系原点重合,空间坐标系 Z 轴与地球旋转重合(北极方向为正) ,X轴正向经度为零时,就可以确定空间直角坐标系与大地地理坐标系的数学关系。BHeNZLYXsin)1(co2式中 N 为卯酉圈曲率半径, ;BeaN2sin1e 为椭球偏心率, (a,b 为椭球长半2e轴和短半轴) 。由(2)式可以得到空间直角坐标到大地地理坐标的迭代计算公式NBYXHBtgeaZtgarcLcos)1(122使用(3)式进行迭代计算的关键是纬度 B 的计算。迭代计算的初始值可以设为)1(220eYXZtgB在迭代计算中,可以选择以下条件作为迭代结束条件 120B五 实验内容其主要内容如下:从空间直角坐标转换到大地地理坐标及从大地地理坐标转换到空间直角坐标。程序编写过程需要注意一下问题:1、 参考椭球的选择2、 转换类型选择3、 角度弧度转换4、 TanB 的迭代解算对于参考椭球的选择和转换类型的选择,只需要 swith语句就可实现。参考椭球的选择,一般我们选用以下三种:WGS1984 参考椭球: a=6378137 bm=298.2572235635西安 1980 参考椭球: a=6378140 bm=298.257北京 1954 参考椭球: a=6378245 bm=298.3其中,a 为椭球长半轴,bm 为扁率分母。角度弧度的转化:#include #define pi 3.14159265double Tranlate(const double Degree)return (Degree*180/pi);int main ()cout #include #include #include #define PI 3.141592653589793double DMS2RAD(double dmsAngle)int degAngle,minAngle,intSignOfDms;double radAngle,secAngle;intSignOfDms = 1;if(dmsAngle0.00001);bf=Bf1;c=a*a/b;v=sqrt(1+e1*e1*cos(bf)*cos(bf);Nf=c/v;Mf=c/(v*v*v);tf=sin(bf)/cos(bf);itaf=e1*cos(bf);dietaB=tf*coor_y*coor_y/(2*Mf*Nf)-tf*(5+3*tf*tf+itaf*itaf-9*tf*tf*itaf*itaf)*coor_y*coor_y*coor_y*coor_y/(24*Mf*Nf*Nf*Nf)+(61+90*tf*tf+45*tf*tf*tf*tf)*coor_y*coor_y*coor_y*coor_y*coor_y*coor_y/(720*Mf*Nf*Nf*Nf*Nf*Nf);dietal=coor_y/(Nf*cos(bf)+(1+2*tf*tf+itaf*itaf)*cos(bf)*coor_y*coor_y/(6*Nf)+(5+44*tf*tf+32*tf*tf*tf*tf-2*itaf*itaf-16*itaf*itaf*tf*tf)/(360*Nf*Nf*Nf*Mf*Mf*cos(bf); B=bf-dietaB;L=l0+dietal;dmslat=RAD2DMS(B);dmslon=RAD2DMS(L);printf(已知点的纬度(ddd.mmss)为:%.9lfn,dmslat);printf(已知点的经度(ddd.mmss)为:%.9lfn,dmslon);以下为选择参考椭球的函数:int choose_ellipsoid()int style;docoutstyle;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 错误:非法类型选择! 请重新选择 endl;0; while(0);七 实验结果八 实验体会始编写以后自己做了一个下午,效果太不明显了,就与几个做同一题目的讨论了一下,还好讨论后收获不小,终于明白了这些东西不是听的明白就行的,真正的掌握必须是听得懂,做得对,而我离把他们全部做对还有一段距离,幸好那时时间还是比较充足的,晚上就抽空把老师的课件看了几遍,有的时候就边看边写。经过两天的努力终于马马虎虎的把初步的程序给写出来了。心里多了些舒坦。通过本次试验使学到了很多很多的东西,不仅巩固了以前所学过的知识,也学到了许多书本上没有的知识。通过这次课程设计使我懂得了理论与实际相结合是很必要的,只有理论知识是远远不够的,要把所学的理论知识与实践相结合起来,从實踐中得出结论,提高自己的实际动手能力和独立思考的能力。在以后的学习中我们要保持一个积极向上的心争取学到更多的知识。华北科技学院实 验 报 告课程名称:测绘程序设计专 业:测绘工程 班级学号: 姓 名: 任课教师:
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号