《测绘程序设计》实验指导书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《测绘遥感程序设计》
实验指导书
(Visual C++.net)
(供测绘工程专业用)
(2015年修订)
戴吾蛟编
二零一五年三月
中南大学测绘与遥感科学系
前言
测绘遥感程序设计上机实验是学习本门课程的重要环节之一,实验的设置是为了配合课堂教学,使学生熟练掌握和深入理解课堂教学内容,进一步强化测绘程序设计、测量学及测量平差原理的理解,掌握利用Visual C++.net进行常用的测量程序以及控制网的间接平差程序设计。
实验内容
本门课程必做的实验有(在Visual C++.net 2008 环境下):
1.Visual C++.net环境、基本控件及简单程序设计(三角形面积计算)
2.控制结构程序设计(方位角计算、地心坐标至大地坐标转换)
3.数组、指针(多边形面积计算)
4.函数(交会定点函数设计、高斯投影正反算程序设计)
5.类的创建(大地四边形类设计、角度类设计)
6.文件(Cass测量数据整理)
7.图形程序设计(位移序列曲线图形程序设计)
8.常用测量计算(无定向导线简易计算程序设计)
9.平差程序设计(水准网间接平差程序设计)
修订说明:由于2012版培养方案增加了8课时,实验课时也相应增加了4课时。为此,本实验指导书将高斯投影正反算提前,并要求以函数的形式编写。增加了大地四边形类设计以及无定向导线简易计算程序设计。
实验1 Visual C++.net环境和简单程序设计
一、实验目的
•掌握Visual 的安装和启动。
•了解VC++ 2008的菜单系统、工具栏和各种基本窗体。
•理解VC++.net开发应用程序的步骤。
•掌握基于对话框的程序设计。
•掌握按钮、文本框和标签框的基本使用方法
•掌握使用MSDN帮助文档
二、实验内容
1.启动与退出VC++.net,熟悉VC++.net的开发环境,通过向导生成基于对话
框的应用程序。使用MSDN查看命令按钮、标签和文本框的主要属性和方法。
2.打开Microsoft visual studio 2008 文档,浏览“Visual studio 文档”目录下的
内容,并从“Visual studio 文档->Visual C++->示例”目录下下载一个程序,编译并运行之。
3.设计一个已知三边边长计算三角形面积的程序。计算模型如下:
海伦公式:)
)(
)(
(c
p
b
p
a
p
p
S-
-
-
=,其中
2c
b
a
p +
+
=
提示:
(1)在【文件】菜单上执行【新建】,然后选择“项目” 。
(2)在【项目类型】窗格中,选择【Visual C++】下的“MFC”项。在【模板】窗格中,选择“MFC 应用程序”模板,输入应用程序名称“××××”。按向导创建名为“×××××”的 MFC应用程序。
(3)在窗体上放置4个文本框、4个静态框、3个命令按钮(其中两个缺省);
(4)设置控件属性,如Static1的Caption属性设置成“a=”,用于提示Edit 框的输入边长a;
(5)把“取消”按钮的Caption属性改为“退出”;双击前两个按钮,生成Click消息函数,注释掉重载函数“OnOK()”。
(6)为4个Edit控件添加绑定变量。
(7)在相应的函数中添加代码;
(8)运行和调试程序;
(9)保存应用程序。
实验2 控制结构程序设计
一、实验目的
• 掌握VC++.net 语言的基本语法;
• 理解顺序结构、选择结构和循环结构程序设计的特点及应用;
• 掌握对基于对话框的MFC 应用程序设计方法;
• 掌握一些简单算法。 二、实验内容
1.编写一个方位角计算程序。提示:先使用反正切函数计算,然后利用坐标增量的符号来判断所在的象限。
2.设计同一参考椭球下的三维地心坐标(笛卡儿坐标系)与大地坐标系转换的程序。(提示:用do …while 迭代,B 、H 初始为0进行迭代,直到H 的精度达到0.00001米)
dx
dy arctg A ='⎪⎪⎩⎪⎪⎨⎧+-=+=+=B
H e N Z L B H N Y L B H N X sin ])1([sin cos )(cos cos )(2
注意:东经0~180(Y>0),西经:0~-180(Y<0)
式中,B 、L 、H 为椭球面上的大地纬度、大地经度、大地高;X 、Y 、Z 为空间直角坐标;N 为卯酉圈曲率半径,e 为椭球的偏心率,a 为椭球的长半径,b 为椭球的短半径。 (WGS84椭球参数:长半径a=6378137m ,扁率α=1/298.257223563)
()
⎪⎪⎭
⎫ ⎝⎛+-⋅+=)/(1)(arctan 222H N N e Y X Z B N B Y X H -+=cos 22⎪⎭⎫ ⎝⎛=X Y L arctan B
e a N 22sin 1-=222a b a e -=222αα-=e
实验3 数组与指针
一、实验目的
•掌握函数的定义、引用及应用方法。
二、实验内容
1.编写一个求任意多边形面积的程序。提示:通过界面输入数据,并把数据保存在一个二维数组或一个一维的自定义结构体类型的数组中,然后再进行计算。要求计算部分写成函数的形式,使计算程序与界面无关。
动态数组
创建动态数组
结构体的定义
多边形面积计算原理及算法
计算原理: