欢迎来到天天文库
浏览记录
ID:57256515
大小:93.51 KB
页数:8页
时间:2020-08-07
《大地测量学基础编程作业.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《大地测量学基础》编程作业报告姓名:周于涛学号:57一、作业内容1.大地主题解算(正反算)2.高斯投影计算(正反算)二、作业要求1.大地主题解算(1)完成大地主题解算正反算;(2)采用克拉索夫斯基椭球参数;(3)高斯平均引数(或白塞尔)方法解算;(4)最好有程序框图,界面和表格输出结果;2.高斯投影计算(1)完成高斯投影正反算;(2)采用克拉索夫斯基椭球参数;(3)按3°带和6°带投影;三、编程思路1.由于最后的结果要求有界面,我选择了C#语言完成本次编程作业;2.我将这两个作业写在同一个工程文件中,使用同一个界面展现;3
2、.程序主要由3个部分组成,分别是:控件设计文件(Form1.Designer.cs)、控件响应文件(Form1.cs)、完成计算过程的类文件(Calcu.cs);4.基本思路为:从控件中获取预定格式的已知值,根据计算类型创建相应的类,传入初始值,使用类中的方法进行计算,最后返回计算结果,再根据结果类型以给定的格式输出显示。5.计算使用的类:考虑到四种计算中都会涉及到:度分秒格式与十进制浮点格式角度值互相转换、弧度制与角度制相互转换、使用常数ρ’’、克拉索夫斯基椭球基本参数等操作,我先定义了Calcu这个基类,添加以上功能和
3、常数,以便其他子类使用。6.对于大地主题正反算,我分别定义两个类A_Calcu、B_Calcu,继承基类Calcu。我采用白塞尔法进行大地主题正反算,参考教材上的计算步骤和计算公式。7.对于高斯投影正反算,我再次分别定义两个类GA_Calcu、GB_Calcu,,继承基类Calcu。采用教材上适用于电算的高斯投影计算步骤和公式。考虑到程序的完善性,在确定中央子午线经度的时候,我采用了自动识别和手动添加两种方式,这样不仅可以完成按3°带和6°带投影,还可以实现按任意带投影,只需手动输入投影中央子午线经度即可。四、程序框图图1
4、大地主题正算(左)、反算(右)程序框图图2高斯投影正算(左)、反算(右)程序框图六、程序运行结果1.大地主题正反算起算数据:序号B1(DD.MMSSSS)L1(DD.MMSSSS)A12(DD.MMSSSS)S12(m)141.130.1.494380000运行结果:图3大地主题正算结果图4大地主题反算结果2.高斯投影正反算起算数据:B=51°38'43.9023''L=111°2'13.1360''运行结果:图5高斯投影正算结果(6°带)图6高斯投影正算结果(3°带)图7高斯投影反算结果(6°带)图8高斯投影反算结果(3
5、°带)经检查,所有结果均满足限差要求。2016年5月28日
此文档下载收益归作者所有