测绘坐标转换类编程..docxVIP

  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文档。上传文档
查看更多
测绘坐标转换类编程.

地球科学与环境工程学院《测绘编程技术》程序设计报告书设计题目: 坐标转换类编程 学 号: 姓 名: 指导老师: 日 期: 2016.11.13 目 录一、需求分析11.1 设计目的11.2 设计内容11.2.1 性能需求11.2.2 功能需求11.3环境需求1二、详细设计12.1 坐标转换原理12.2 坐标转换功能模块流程图22.3 坐标转换类图设计32.4 坐标转换类实现代码32.5 坐标转换类调用方法6三、界面设计133.1 界面类型选择133.2 界面元素组织133.3 界面与类的交互13四、测试说明144.1 测试数据144.2 测试结果14五、结论15附录A 四参数实现代码(可附完整的功能类代码)15附录B 七参数实现代码17参考文献:(例)20一、需求分析1.1 设计目的 在测量计算中,常常会涉及不同坐标系统(如北京54坐标系、 WGS84坐标系等),因此,坐标转换是一项必不可少的工作,综合运用所学数学和专业相关知识,基于最小二乘原理设计并实现不同坐标系统之间的转换。1.2 设计内容1.2.1 性能需求 无特别需求。1.2.2 功能需求 能够计算坐标转换。1.3环境需求本实验需要用到的软硬件环境如下: IBM兼容个人计算机 1台XP/WIN7/WIN8操作系统 1套Visual Studio2010以上开发环境 1套二、详细设计2.1 坐标转换原理 空间三维坐标之间的转换常采用七参数模型(如布尔莎模型);不同平面直角坐标系之间的转换一般采用四参数模型(如赫尔默特模型)。七参数法需要至少三个公共点,四参数法需要至少两个公共点,并且对这些点的精度要求很高,否则确定的转换关系精度难以保证,因此,为了确保转换精度及提供必要的检核条件,就要考虑增加参与计算的公共点的数量并利用最小二乘原理做出精度评价。(1)七参数模型七参数是三个平移参数,三个旋转参数,一个尺度参数。模型如下:式中:,,——平移量,,,——旋转参数,——尺度变形因子。上式可以写成:这时:令,,则:根据最小二乘原理:使则,那么所求参数矩阵:(2)四参数模型四参数是两个平移参数,一个旋转参数,一个尺度参数。模型如下:式中:,——平移量,——旋转角,——尺度变形因子。上式可以展开:这里为了计算方便令,则,矩阵形式:同上,令,,则:根据最小二乘原理:使则,那么所求参数矩阵:使用最小二乘原理求解的最优解,最后求出和2.2 坐标转换类图设计坐标转换类图如图C-1所示 图C-12.3 坐标转换类实现代码#define PI 3.14159265358979323846const double EPSILON = 1.0E-10;SurveyCal::SurveyCal(void){}SurveyCal::~SurveyCal(void){}//符号函数int SurveyCal::Sgn(double value){if(value0)return 1;elsereturn -1;}//————————————角度之间转化---------------------------//度分秒转化成度double SurveyCal::DmsToDeg(double dDms){int iSgn;//存储符号double dValue, dTemp;double dDegree,dMin,dSec;//存储度分秒iSgn = Sgn(dDms);//提取符号dValue = fabs(dDms);dDegree = floor(dValue);//截取度dTemp = (dValue-dDegree)*100;dMin = floor(dTemp);//截取分dSec = (dTemp-dMin)*100;double dDeg = (dDegree + dMin/60+dSec/3600)*iSgn;return dDeg;}//度转化成弧度double SurveyCal:: DegToRad(double dDeg){double dRad = dDeg / 180 * PI;return dRad;}//弧度转化度分秒double SurveyCal:: RadToDms(double dRad){//先转化成度double dDeg;dDeg = dRad * 180 / PI;//调用 度转度分秒函数double dDms = DegToDms(dDeg); return dDms;}//度转化成度分秒double SurveyCal:: DegToDms(double dDeg){//用于存放度、分、秒三个值的变量double dDegree ,dMin,dSec

文档评论(0)

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

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

1亿VIP精品文档

相关文档