《测绘程序设(VC.net)》上机实验报告.docVIP

《测绘程序设(VC.net)》上机实验报告.doc

  1. 1、本文档共41页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《测绘程序设计(VC.net)》 上机实验报告 (Visual C++.Net) 班 级: 测绘1001班 学 号: 0405100111 姓 名: 李佳霖 序 号: 二零一三年四月 实验七 一、实验目的 巩固类的创建与使用 掌握数组参数的传递 掌握常用测绘程序设计的技巧 二、实验内容 编写高斯投影正、反算程序 三、设计思路 1、基本步骤: 1)设计界面,其中包括compute按钮,reverse按钮和一些静态文本以及编辑框控件,具体见界面设计; 2)添加CAngle类,在.h、.cpp文件中添加相应代码,具体代码之前实验中已详细给出,这里不再赘述; 3) 添加CGause类,在.h、.cpp文件中添加相应代码(具体算法见算法详细描述) 4) 在compute按钮的消息函数里添加相应代码(具体算法见算法详细描述) 5) 在reverse按钮的函数里添加相应代码(具体算法见算法详细描述) 6) 在clear按钮的函数里添加相应代码 7) 调试并运行程序 2、算法详细描述: (1) CGause类的算法描述:主要包括大地坐标,高斯坐标,椭球参数类的对象这些数据成员变量,以及变量的获取函数和高斯正反算函数。 ①变量获取函数的算法描述: 返回所对应的变量,注意B和L两个变量的形式应该为DMS的形式 ②高斯正算compute函数的算法描述: 1)为了简化代码,将角度类的值经过形式转化后赋给B1,L1; 2)利用所给公式计算高斯正算中所用到的一些常量; 3)利用公式计算高斯正算的参数; 4) 利用已得出的参数,计算高斯平面坐标x,y 求真实的y坐标值 高斯反算中的参数的计算 四、界面设计 界面示意图如下 其中包括5个编辑框和4个按钮, 五、主要代码(角度类的代码不再给出) 1、CGauss.h: #pragma once //定义包含的文件 #include math.h #include Angle.h //#define HPARA struct Para //基本常量的定义 const double Ep=1.0e-006; const double pi=4.0*atan(1.0); const double rhw=206265; /*定义椭球参数的类*/ class CPara { public: double a; double alfa; }; //高斯计算的类 class CGauss { CAngle cB,cL;//角度类的成员变量 double x,y; //定义高斯投影类中的私有成员变量 CPara para; //定义椭球参数类的变量 public: CGauss(void); ~CGauss(void); CGauss(CAngle g,CAngle b,double c,double d,CPara pa);//重载构造函数 //有关变量的获取函数 double GetB(); double GetL(); double Getx(); double Gety(); //高斯正算函数和高斯反算函数的定义 void compute(); void reverse(); }; .cpp: #include StdAfx.h #include Gauss.h #include Angle.h CGauss::CGauss(void) { } //重载构造函数的定义 CGauss::CGauss(CAngle g,CAngle b,double c,double d,CPara pa) { cB=g; cL=b; x=c; y=d; para=pa; } CGauss::~CGauss(void) { } //相关参数值的获取 double CGauss::GetB() { return cB(DMS); } double CGauss::GetL() { return cL(DMS); } double CGauss::Getx() { return x; } double CGauss::Gety() { return y; } //高斯正算函数的定义 void CGauss::compute () { double B1,L1;//为减少代码将经纬度的值赋给B1,L1 B1=cB(DEG)/180*pi; L1=cL(DEG); //一些常量的定义 double b=para.a-para.a*para.alfa; double e=sqrt(para.a*

文档评论(0)

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

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

版权声明书
用户编号:8135026137000003

1亿VIP精品文档

相关文档