高斯正反算及空间直角坐标与大地地理坐标转换.docVIP

高斯正反算及空间直角坐标与大地地理坐标转换.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
高斯正反算及空间直角坐标与大地地理坐标转换 一、实验目的与要求 1.对以上理论内容的验证与应用。 2.通过学习掌握测绘软件开发过程与方法,初步具备测绘软件开发基本技能。 3.熟练掌握Visual C++编程环境的使用,了解其特点与程序开发过程,掌软件调试、测试的技术方法。 4.分析测绘程序设计技术课程中相关软件的结构和模块功能,掌握结构化程序设计方法和技术,掌握测绘数据处理问题的基本特点。 5.开发相关程序功能模块,独立完成相关问题概念结构分析、程序结构设计、模块设计、代码编写、调试、测试等工作。 二、实验安排 1.实验时数12学时。 2.每实验小组可以由3~4人组成,或独立完成。若由几个人完成程序设计,应进行合理的分工。 三、实验步骤和要点 1.熟悉程序设计任务书的基本内容,调查了解软件需求状况,进行需求分析; 2.进行总体设计。根据所调查收集的资料和任务书的要求,对系统的硬件资源进行初步设计,提出硬件配置计划;进行软件总体设计,设计出软件程序功能的模块; 3.根据总体设计的结果,进行详细设计,进行数据存储格式设计、算法等,写出逻辑代码; 4.编写程序代码,调试运行; 5.程序试运行。最后同学们可根据自己的选题,写出软件开发设计书一份,打印程序代码和运行结果。 四 实验原理 高斯正反算: 高斯正反算包括两部分内容:高斯正算和高斯反算。简单的说就是大地地理坐标系坐标(B,L)与其对应的高斯平面直角坐标系坐标(x,y)之间的转换。若已知大地地理坐标系坐标(B,L)解求对应的高斯平面直角坐标系坐标(x,y)称为高斯正算;反之,则为高斯反算。 空间直角坐标与大地地理坐标转换: 地球表面可用一个椭球面表示。设空间直角坐标系为OXYZ,当椭球的中心与空间直角坐标系原点重合,空间坐标系Z轴与地球旋转重合(北极方向为正),X轴正向经度为零时,就可以确定空间直角坐标系与大地地理坐标系的数学关系。 式中 N为卯酉圈曲率半径,; e为椭球偏心率, (a,b为椭球长半轴和短半轴)。 由(2)式可以得到空间直角坐标到大地地理坐标的迭代计算公式 使用(3)式进行迭代计算的关键是纬度B的计算。迭代计算的初始值可以设为 在迭代计算中,可以选择以下条件作为迭代结束条件 五 实验内容 其主要内容如下:从空间直角坐标转换到大地地理坐标及从大地地理坐标转换到空间直角坐标。程序编写过程需要注意一下问题: 参考椭球的选择 转换类型选择 角度弧度转换 TanB的迭代解算 对于参考椭球的选择和转换类型的选择,只需要swith语句就可实现。 参考椭球的选择,一般我们选用以下三种: WGS1984参考椭球: a=6378137 bm=298.2572235635 西安1980参考椭球: a=6378140 bm=298.257 北京1954参考椭球: a=6378245 bm=298.3 其中,a为椭球长半轴,bm为扁率分母。 角度弧度的转化: #include iostream.h #define pi 3double Tranlate(const double Degree) { return (Degree*180/pi); } int main () { cout Tranlate(2.45) endl; return 0; } 六 程序代码 #include math.h #include stdio.h #include stdlib.h #include malloc.h #define PI 3.141592653589793 double DMS2RAD(double dmsAngle) { int degAngle,minAngle,intSignOfDms; double radAngle,secAngle; intSignOfDms = 1; if(dmsAngle0) intSignOfDms=-1; dmsAngle=fabs(dmsAngle); Coeficient_a0[0]=m0+m2/2+3*m4/8+5*m6/16+35*m8/128; Coeficient_a0[1]=m2/2+m4/2+15*m6/32+7*m8/16; Coeficient_a0[2]=m4/8+3*m6/16+7*m8/32; Coeficient_a0[3]=m6

文档评论(0)

xieliandimei + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档