- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
测绘程序设计(VS2008)实验报告--高斯投影正反算
《测绘程序设计(VC.net)》上机实验报告(Visual C++.Net)班级:学号:姓名:序号:二零一一年五月实验7常用测量程序设计实验目的:巩固类的创建与使用;掌握数组参数的传递;掌握常用测绘程序设计的技巧。实验内容:编写高斯投影正反算程序。设计思路:这次的实验目的是实现高斯正反算。需要考虑以下几个问题投影方式即分带的方式,又要考虑椭球参数的类型,可通过单选组框和相应函数来完成此功能,分别是int SetProjectType(int m)和void SetParameter(int m,double a,double b)界面设计界面设计很简单,如下:其中每个复选框的第一个选项的属性中Group属性设置为TRUE主要代码:文件名:Ccehui1201_shiyan7_yang_GaussDlg.hvoid Ccehui1201_shiyan7_yang_GaussDlg::SetParameter(double a,double b);//设置椭球参数double Ccehui1201_shiyan7_yang_GaussDlg::SetProjectType(double LL);//设置分带方式double Deg(double dDms);文件名:Ccehui1201_shiyan7_yang_GaussDlg.cpp代码:constdouble PI=4*atan(1.0);在BOOL Ccehui1201_shiyan7_yang_GaussDlg::OnInitDialog()添加代码:《CheckRadioButton(IDC_RADIO1,IDC_RADIO2,IDC_RADIO3);CheckRadioButton(IDC_RADIO4,IDC_RADIO5,IDC_RADIO6);》//获得分带方式返回中央子午线经度double Ccehui1201_shiyan7_yang_GaussDlg::SetProjectType(double LL){UpdateData(TRUE);int n; //记录分带带号double L2;//经度L2=Deg(LL);if(IsDlgButtonChecked(IDC_RADIO1)) //6度带{n=int(L2/6)+1;L0=6*n-3;}elseif(IsDlgButtonChecked(IDC_RADIO2)) //3度带{n=int((L2+1.5)/3);L0=3*n;} elseif(IsDlgButtonChecked(IDC_RADIO3)) //自主分带L0=L0; return L0;}void Ccehui1201_shiyan7_yang_GaussDlg::SetParameter(double a,double b){if(IsDlgButtonChecked(IDC_RADIO4)) //克拉索夫斯基椭球{a=6378245.0;b=6356863.0187730473;//e=sqrt(0.006693421622966);}elseif(IsDlgButtonChecked(IDC_RADIO5)) //1975国际协议椭球{a=6378140.0;b=6356755.2881575287;//e=sqrt(0.006694384999588);} elseif(IsDlgButtonChecked(IDC_RADIO6)) //WGS-84椭球{a=6378137.0;b=6356752.3142;//e=sqrt(0.0066943799013);} }//正算按钮void Ccehui1201_shiyan7_yang_GaussDlg::OnBnClickedOk(){// TODO: 在此添加控件通知处理程序代码double N;//卯酉圈曲率半径double t;doubleη;double X; //当前点到赤道的子午线长度double A0,A2,A4,A6,A8;//计算X的参数double RadB;doubleρ;ρ=180*3600/PI;//定义弧秒值,近似于″double a,b,e1,e2; //椭球参数SetParameter(a,b);e1=sqrt(a*a-b*b)/a;e2=sqrt(a*a-b*b)/b;double l;//经度L同当前带中央子午线的差值,单位为秒L0=SetProjectType(L);double RadL;RadL= Deg(L);l=(L-L0)*3600;RadB= Deg(B)*PI/180;N=a/sqrt(1-e1*e1*sin(RadB)*sin(RadB));t=tan(RadB);η=e2*cos(RadB);A0=1+
您可能关注的文档
- 浅析老人与海中的英雄主义.docx
- 浅析许渊冲诗歌翻译理论中的美学表达思想分析.doc
- 流量计的分类及选型.ppt
- 浅析翻译的过程.ppt
- 流体输配管网Ch7枝状管网水力工况分析与调节.ppt
- 浅论朱自清散文中修辞法的运用 最终版.doc
- 泰坦尼克号的幸存者.ppt
- 浅水洼里的小鱼 4.ppt
- 浅谈上市企业财务风险的预测与防范.doc
- 洛杉矶(英文介绍)丰富内容.ppt
- 新高考生物二轮复习讲练测第6讲 遗传的分子基础(检测) (原卷版).docx
- 新高考生物二轮复习讲练测第12讲 生物与环境(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第3讲 酶和ATP(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第9讲 神经调节与体液调节(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第11讲 植物生命活动的调节(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第8讲 生物的变异、育种与进化(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第5讲 细胞的分裂、分化、衰老和死亡(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第5讲 细胞的分裂、分化、衰老和死亡(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第12讲 生物与环境(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第11讲 植物生命活动的调节(检测)(原卷版).docx
文档评论(0)