坐标转换实习.docVIP

  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文档。上传文档
查看更多
坐标转换实习

工程测量实习报告 本次实习用VC++实现程序编写,该程序主要包括:第一部分,实现不同椭球基准的经纬度坐标高斯投影正算和反算以及高斯投影任意带转换;第二部分,实现不同坐标系间点坐标转换。 一.程序算法说明: 高斯投影正算、反算 参阅李玉宝老师编著《控制测量学》高斯投影章节相关公式 高斯投影任意带转换 将高斯平面坐标按高斯投影反算公式反算到选定椭球,再用高斯投影正算公式按选定的投影带的中央子午线算出该投影带的投影坐标。 坐标系坐标转换 二维坐标四参数转换,利用控制点坐标求出四个坐标转换参数。算法如下:设转换前原坐标,为转换后的新坐标,a,b,c,d为未知的坐标转换临时变量,当有n个已知公共点时,按间接平差原理,则法方程式为: 三维坐标七参数转换,利用控制点坐标求出七个坐标转换参数。函数模型如下: 是进行空间转换时的坐标平移量,是一个缩放尺度比参数,是进行转换时的旋转参数,这就是所谓的七参数。因为有3个公共点的,可列立9个方程,要求7个参数,可得误差方程式 利用控制数据进行平差计算,求出七个参数(利用输入的精度数据控制迭代次数)。根据转换参数可求得相应点新坐标系下的坐标。 三维坐标四参数转换,就是令其中的后三个角度参数为零。 二.软件说明: 1.软件初始界面如图1所示,两个按钮分别进入两个程序。 2.按下“高斯投影”按钮,进入如下界面: 这部分程序主要实现三个功能。界面由左至右分为三区。 第一区和第二区之间实现两个功能:高斯投影的正、反算。第一区内可以选择不同的基准椭球(可自定义椭球参数),设置大地高(默认为0),可以直接输入经纬度坐标、读入文本文件(附1)和excel文件,按固定格式保存输入数据。正算的结果显示在第二区内(默认按3°带投影,可在第二区内选择6°带投影),程序会自动判定转换后坐标所在的投影带带号并显示,转换后结果可以以文本格式和excel格式保存。 第二区和第三区实现任意中央子午线换带功能,在第三区设置想转换到的投影带的子午线经度(格式[度.分秒]),按下“转换”可将第二区内显示的某投影带坐标,转换到该投影带内。所有的输入数据、转换结果均可按“保存”以文本格式和excel格式保存。 界面下方三个按键,分别实现清空前面所示数据,返回初始界面,退出整个程序的功能。 附1: (纬度 经度)[度.分秒] (x坐标 y坐标) 按下“坐标系转换”,进入如下界面: 如图所示,界面由上而下分为参数区和数据转换区。计算之前先在参数区内对坐标维数和参数个数进行设置(二维坐标只可进行四参数转换;控制迭代过程中坐标改正数差值以获取相应精度只针对三维坐标转换),界面输入或者调入控制点数据(格式见附2)。做完以上部分,进入数据转换区,调入需转换点,点击“转换”即可得到结果,并对其进行显示。“存储结果”对其进行保存(保存格式见附3)。 附2: (控制点数据)二维: 三维: 维数 原坐标系x、y(、z)坐标 新坐标系x、y(、z)坐标 附3: (计算结果) 维数 原坐标系x、y(、z)坐标 新坐标系x、y(、z)坐标 三.程序设计难点: 程序实现的算法较繁琐,参数较多。 界面与计算代码数据信息交流、显示。 批量数据读入和保存(本程序主要通过链表实现) 界面表格数据输入(ActiveX控件和编辑框实现) 四.程序源代码: 1.“高斯投影” 1)头文件Gszh.h //{{AFX_INCLUDES() #include msflexgrid.h //}}AFX_INCLUDES #if !defined(AFX_GSZH_H__13FDEC0E_EBD9_4E80_AB6D_604271882862__INCLUDED_) #define AFX_GSZH_H__13FDEC0E_EBD9_4E80_AB6D_604271882862__INCLUDED_ #include math.h #include fstream.h #include matrix.h #if _MSC_VER 1000 #pragma once #endif // _MSC_VER 1000 // Gszh.h : header file // #define rouM 206265.0 #define rouD 57.295779513 #define pai 3.1416 //存储数据的链表类 class point { friend class CGszh; friend class CZbzh; protected: double x,y,z; int j; poi

文档评论(0)

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

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

1亿VIP精品文档

相关文档