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