- 1、本文档共16页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE 1
测绘工程2012级
测量程序设计程序文档
目录
TOC \h \z \u \t 标题 3,1,标题 4,2 一.含球气差改正的三角高程计算程序 2
1. 需求分析 2
2. 界面设计 2
3. 主要功能模块的代码 3
4. 测试运行 4
二.坐标前方交会定点程序 5
1. 需求分析 5
1. 界面设计 5
3. 主要功能模块的代码 6
4. 测试运行 7
三.大地坐标与空间直角坐标相互转换程序 7
1. 需求分析 7
2. 界面设计 8
3. 主要功能模块的代码 8
4. 测试运行 10
四.简易闭合导线计算程序 11
1. 需求分析 11
2. 程序主要功能代码 11
3. 程序源代码 12
4. 测试运行 14
含球气差改正的三角高程计算程序
需求分析
三角高程测量方法简便灵活,受地形条件的限制比较少。随着电磁波测距仪的迅速发展,当前利用电磁波测距仪作三角高程测量已相当普遍。在一定条件下,三角高程的测量精度可以达到四等水准甚至三等水准的测量精度。在这样的情况下,通过编写含有地球曲率和大气折光影响改正的程序语言,通过程序计算,提高准确度和减少工作量。
2. 界面设计
程序通过C++程序语言,基于MFC的对话框方式实现。整个界面简洁明了如下图:
界面左边是含有大气折光和地球曲率影响的三角高程测量示意图;右边则包含已知量:仪器高、目标高、垂直角、斜距、测站点高程的输入窗口以及目标点高程显示窗口和程序执行的确定按钮。
3. 主要功能模块的代码
头文件处的声明如下:
#include stdafx.h
#include W0110XF__三角高程.h
#include W0110XF__三角高程Dlg.h
#include math.h
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
在测量中,角度观测值常用浮点小数表示度分秒,即:度为整数部分,小数点后两位为分,第三位开始为秒。而计算时需转化为度或者弧度的形式,下面的程序即为实现用浮点数表示的度分秒转化为弧度的函数:
double ZH(double j_dfm)//度分秒转化为度再转化为弧度
{
int a= int(j_dfm);
int b= int((j_dfm-a)*100);
double c=((j_dfm-a)*100-b)*100;
double j_d=(a+double(b)/60+c/3600)/180*3.1415926;
return j_d;
}
含球气差改正的三角高程计算实现代码如下:
void CW0110XF__三角高程Dlg::OnBnClickedOk()
{
// TODO: 在此添加控件通知处理程序代码
UpdateData(TRUE);
if (D0||i0||v0)
{
AfxMessageBox(_T(数据输入有误,请重新输入!));
}
double j_hd=ZH(j_ab);//调用已有函数,实现度分秒转化为度再转化为弧度
double K=0.14;//大气垂直折光系数
double R=6371000;//地球平均曲率半径
h_B=h_A+D*sin(j_hd)+(1-K)*D*D/(2*R)*cos(j_hd)*cos(j_hd)+i-v;//高程计算公式
UpdateData(FALSE);
}
4. 测试运行
输入相应数据,运行结果正确如下图:
当仪器高输为负数时,提示有误:
二.坐标前方交会定点程序
1. 需求分析
前方交会定点法是一种常见的加密控制点的方法,通过已知点A(Xa,Ya),B(Xb,Yb)及∠A∠B来求得未知点坐标(Xp,Yp)。计算公式如下:
通过程序语言实现坐标点位的计算,简捷快速,不易出错。
界面设计
程序通过C++程序语言,基于MFC的对话框方式实现。整个界面简洁明了如下图:
界面左边是前方交会定点的示意图,右边为坐标已知点及角度的输入窗口,
已知数据:A点X坐标、A点Y坐标、B点X坐标、B点Y坐标、角A、角B;
计算结果:P点X坐标、P点Y坐标。
3. 主要功能模块的代码
头文件声明如下:
#include stdafx.h
#include W0110XF__前方交会.h
#include W0110XF__前方交会Dlg.h
#include math.h
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
在测量中,角度观测值常用浮点小数表示度分秒,即:度为整数部分,小数点后两位为分,第三位开始为秒。而计算时
文档评论(0)