收藏 分销(赏)

【测绘程序设计】实验指导书.docx

上传人:二*** 文档编号:4581511 上传时间:2024-09-30 格式:DOCX 页数:17 大小:83.46KB
下载 相关 举报
【测绘程序设计】实验指导书.docx_第1页
第1页 / 共17页
本文档共17页,全文阅读请下载到手机保存,查看更方便
资源描述
?测绘遥感程序设计? 实验指导书 (Visual C++.net] 〔供测绘工程专业用) (2021年修订〕 戴吾蛟编 二零一五年三月 中南大学测绘与遥感科学系 ■ ■ ■ 刖目 测绘遥感程序设计上机实验是学习本门课程的重要环节之一,实验的设置是 为了配合课堂教学,使学生熟练掌握和深入理解课堂教学内容,进一步强化测绘 程序设计、测量学及测量平差原理的理解,掌握利用Visual C++.net进展常用 的测量程序以及控制网的间接平差程序设计。 实验内容本门课程必做的实验有〔在Visual C++.net 2021环境下〕: 1. Visual C++.net环境、根本控件及简单程序设计(三角形面积计算)控制构造程序设计〔方位角计算、地心坐标至大地坐标转换] 2. 数组、指针〔多边形面积计算〕函数〔交会定点函数设计、高斯投影正反算程序设计] 3. 类的创立〔大地四边形类设计、角度类设计〕文件〔Cass测量数据整理〕 4. 图形程序设计〔位移序列曲线图形程序设计〕常用测量计算〔无定向导线简易计算程序设计〕 注意:高斯投影正反算公式比较复杂,编写程序时变量定义一定要十分的清晰 实验5类的创立 一、实验目的掌握面向对象编程根本思想 1. 掌握VC++.net中创立类掌握建立和使用对象 2. 掌握运算符号重载理解类的继承和多态性 二、实验内容大地四边形类设计 要求:设计一个大地四边形类,注意大地四边形的根本属性,功能上只要求能够 设置和返回点坐标、8个观测角度、待定点近似坐标计算以及闭合差的计算。 提示:大地四边形〔如下列图〕以AB为基线,具有对角线的四边形,它是建立桥 梁控制网常用的形式,一般采用条件平差进展计算,本实验中仅要求采用前方交 会的方法计算C和D点的近似坐标。 大地四边形 、Wj = % + % + q + % — 180° 吗=% +% +。3 +。4 T80° >三角形闭合差W3 = 3] + % +。7 +— 1 80° 华 sin a sin«7 sin(€z4 +a.Y ,,5(1 一 sin"in(%+%)s")「极条件闭合差 1. 角度类设计要求该类具有度分秒至度的换算、度至度分秒的换算、度与弧度的换算等功能。 提示:设置一个角度大小属性,并设定该属性为缺省属性;另设一个状态属性, 表示当前设置的角度大小的形式;度分秒、度、弧度间的相互转换的方法;定义 运算符号〔加、减〕方法,使得角度类能够像一种普通的数据类型样的方便使用; 用设计好的角度类重新编写前方交会定点程序。 实验6文件 一、实验目的•掌握文件对话框的使用方法。 •掌握c++文件操作的一般步骤及实现方法。 • 了解M FC文件操作的特点及使用方法。 二、实验内容1.编制简单的Cass数据文件进展数据整理的程序。整理后的数据文件中要求无 重复点数据,且数据按点号大小的升序进展排序。要求整理后的数据按与原始数 据文件同样的格式保存为另外一个文件 例如数据"民用园燃气.dat"文件数据格式: 总点数点号,编码, X,Y,H • • •例如: 要求: a. 用SaveFileDialog和OpenFileDialog控件获取文件翻开或保存的文 件名。 b. 自定义一个测量点数据构造体,其元素包括:点号,编码,X,Y,H用文本框显示原始数据和整理后的数据 c. .按编程标准进展编码提示: a.读数据、保存数据、判断一个点数据是否已经存在、排序、在文本框中 显示文件内容等可以分别定义成一个子过程或函数。 b.根本流程: c编程技巧 形程序设计一、实验目的 •掌握VC++.net坐标系和各项设置方法。 •掌握GDI绘图方法。 •理解交互式图形程序设计二,实验内容 ,编制程序绘 L以下数据为一变形监测点的24期位移监测结果〔分别为X,Y,H〕 制出该点的变形曲线图,每个方向一个位移序列图。 变形曲线示意图24 32.5792 实验8常用测量程序设计 实验•稳固类的创立与使用 •掌握数组参数的传递•掌握常用测绘程序设计的技巧 二.实验内容设计一个无定向导线简易计算的程序。 要求自己定义文件格式,把以下列图中数据编写至文件中,然后通过读取文件的形式获取所有数据,计算结果也写入结果文件中。 无定向导线计算根本步骤: 实验9平差程序设计根底 实验•稳固过程的定义与调用 •稳固类的创立与使用•稳固间接平差模型及平差计算 ■掌握平差程序设计的根本技巧与步骤实验内容 水准网平差程序设计。设计一个水准网平差的程序,要求数据从文件中读取, 计算局部与界面无关。 1. 水准网间接平差模型计算例如: 2. 水准网平差计算一般步骤 (1) 读取观测数据和数据; (2) 计算未知点高程近似值; ⑶列高差观测值误差方程; (4) 根据水准路线长度计算高差观测值的权; (5) 组成法方程; (6) 解法方程,求得未知点高程改正数及平差后高程值; (7) 求高差观测值残差及平差后高差观测值; ⑻精度评定; ⑼输出平差结果。 3. 水准网高程近似值计算算法输入数据格式例如 9.平差程序设计[水准网间接平差程序设计]修订说明:由于2021版培养方案增加了 8课时,实验课时也相应增加了 4课时。 为此,本实验指导书将高斯投影正反算提前,并要求以函数的形式编写。增加了 大地四边形类设计以及无定向导线简易计算程序设计。 实验lVisual C++.net环境和简单程序设计 实验•掌握Visual S的安装和启动。 • 了解VC++ 2021的菜单系统、工具栏和各种根本窗体。 •理解VC++.net开发应用程序的步骤。 .掌握基于对话框的程序设计。 •掌握按钮、文本框和标签框的根本使用方法•掌握使用MSDN帮助文档 实验内容启动与退出VC++.net,熟悉VC++.net的开发环境,通过向导生成基于对 话框的应用程序。使用MSDN查看命令按钮、标签和文本框的主要属性和 方法。 1. 翻开 Microsoft visual studio 2021 文档,浏览''Visual studio 文档"目 录下的内容,并从"Visual studio文档->VisualC+ + ->例如〃目录下下载 一个程序,编译并运行之。 2. 设计一个三边边长计算三角形面积的程序。计算模型如下: 海伦公式:S = J-a)(p-b)(p-c),其中 p =' 提小: (1) 在【文件】菜单上执行【新建】,然后选择“工程“O (2) 在【工程类型】窗格中,选择[Visual C+ + 】下的“MFC"项。在【模 板】窗格中,选择“MFC应用程序“模板,输入应用程序名称“xxxx〃。 按向导创立名为“ X X X X x〃的MFC应用程序。 (3) 在窗体上放置4个文本框、4个静态框、3个命令按钮〔其中两个缺省〕; (4) 设置控件属性,如Staticl的Caption属性设置成"a = ”,用于提示Edit 框的输入边长a; ⑸把"取消”按钮的Caption属性改为"退出”;双击前两个按钮,生成 Click消息函数,注释掉重载函数"OnOK()〃。 (6)为4个Edit控件添加绑定变量。 〔7〕在相应的函数中添加代码; 〔8〕运行和调试程序; (9)保存应用程序。 实验2控制构造程序设计 一、实验目的•掌握VC+ + .net语言的根本语法; .理解顺序构造、选择构造和循环构造程序设计的特点及应用;•掌握对基于对话框的M FC应用程序设计方法; •掌握一些简单算法。 实验内容编写一个方位角计算程序。提示:先使用反正切函数计算,然后利用坐标增量 的符号来判断所在的象限。 1. 设计同一参考椭球下的三维地心坐标〔笛卡儿坐标系〕与大地坐标系转换的程 序。〔提示:用do-while迭代,B、H初始为0进展迭代,直到H的精度到达 0.00001 米〕 注意:东经 0~180〔丫>0〕,西经:0~-180(Y<0) 式中,B、L、H为椭球面上的大地纬度、大地经度、大地高;X、Y、Z为空间 直角坐标;N为卯酉圈曲率半径,e为椭球的偏心率,a为椭球的长半径,b为 椭球的短半径。〔WGS84椭球参数:长半径a=6378137m ,扁率a = 1/298.257223563] 实验3数组与指针 实验•掌握函数的定义、引用及应用方法。 二.实验内容1 .编写一个求任意多边形面积的程序。提示:通过界面输入数据,并把数据保存 在一个二维数组或一个一维的自定义构造体类型的数组中,然后再进展计算。要 求计算局部写成函数的形式,使计算程序与界面无关。 动态数组创立动态数组 •构造体的定义多边形面积计算原理及 计算原理: 例如上图: 面积计算的算法: 经整理后得:P = :£(X,・h+X,•)(%一") (,= 1,2,・・・,〃;当,=〃时,1 + 1 = 1)2 z=i 实验4函数 实验•掌握函数的定义、引用及应用方法。 二,实验内容1.交会定点计算函数设计 把前方交会、测边交会、前方交会程序写成函数的形式,然后再通过主程序 调用。 提示:前方交会计算函数设计思路[1〕根本原理及计算公式 假设将Pa、Pb、Pc看成权,那么P点f ⑵计算程序设计步骤 ① 设计界面,用于输入3个点的坐标和三 定点坐标的文本框〔12个〕、静态标签木 ② 定义文本框控件变量〔Value〕; [1〕根本原理及计算公式 假设将Pa、Pb、Pc看成权,那么P点f ⑵计算程序设计步骤 ③ 设计界面,用于输入3个点的坐标和三 定点坐标的文本框〔12个〕、静态标签木 ④ 定义文本框控件变量〔Value〕; 1 tan a tan ZA cotZA- cota tan a 一 tan ZA 1 tan p tan Z B cotZS- cot/? tan p 一 tan Z B 1 tan / tan Z C cotZC 一 cot/ tan / 一 tan Z C 弓= Pb = 4 = t t 创立前方交会定点计算函数,函数的输入为三个观测角和三个点的坐标, 输出为待定点坐标,输出可以用引用参数的方式输出,具体计算步骤; a. 根据点计算三个内角A、B、C ;计算 Tan(a)、Tan(p)s Tan(y)、Tan(A)、Tan(B)、Tan(C); b. 计算 Pa、Pb、Pc ;计算待定点坐标Xp、Ypo ③ 创立"计算”Button按钮的Click事件函数,在该事件函数中调用前方交 会计算函数,并在相应的文本框中显示计算结果。 1. 高斯投影正反算计算函数设计编写高斯投影正算与反算的两个函数,并设计简单界面对函数计算的正确性进展测试。 正算公式: x=X+^^-sm BcosBf2 +—— sin Bcos3 B(5-t2 +972+47/4)/"4 + 2p"24q"~—sin Bcos5 8(61 —5&2 + z4)f6 720q〃6 y =也 cos Bl" +、cos,B(1-尸 +n2)/"3 +pn6.3, [2:,,5 COS,3(5 —18尸+ 14〃2 一 58〃2户)/〃5a 七1玄寿B EnB 〃 =冒遂 a 七1玄寿B EnB 〃 =冒遂 ^a2-b2 e = , J.2 _屏 e = h prr是孤度转换为秒的转换单位,r是经度l同当前带中央子午线的差值, r是经度l同当前带中央子午线的差值, 单位为秒。 X为当前点到赤道的子午线长度。 X = €z(l-e2)(A0B + sin 26 +4 sin4B + & sin6B-^- \ sin88) a 3 2 , 45 4 350 6 11025 8 %=1+砂 +酉 +512e +16384e A 1 , 3 2 工60 4 工525 6 工 17640 g. A: "T(Te +64e +512e +16384e) A 1 zl5 4 210 68820 8、 Af 元 +5i2e +16384e > 1 / 35 6 . 2520 8、 一 6 〈512。16384e ) L(_315_e8) 8 '16384 ) a6 A8 a长半轴 e 第一偏心率 反算公式: tf = tan Bf Mf = Nf l + ^2cos2 Bf B = Bf~ 2M^ + 24由。+ *; + 栋 -- 裒"+ 90*+45印1 = Nf cosBf y ~ 6NjcosBf ^ + 2tf+r}f')y + 、苞(5 + 28*+24';+6居+砒成 l是要求的点到中央子午线的经度差,Bj为底点纬度 下标“f〃表示与8/有关的量r/f = e" cos Bf Bf = Bq +sin2B0{^0 +sin2 B0[^2 +sin2 B0(K4 + K6sin2 B。) }"(1W)& K -_lr±e2+45e4 +350e6 + 11025 s. 2'46451216384 J K - - —f ~e4 +^-5^e6 23 l64e 512e K -Xr604e^+68484 4- 3 l512e + v 1 r 26328 81 58239 8、16384。勺 16384。勺 + 16384e〕X =x艮K y=0时X所对应道的子午弧长
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 学术论文 > 论文指导/设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服