资源描述:
《基础测绘计算类设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、基础测绘计算类设计《测绘编程技术》程序设计报告书姓名:指导老师:日期:1地球科学与环境工程学院目录一、需求分析11.1设计目的11.2设计内容11.2.1性能需求1.2.2功能需求...11.3环境需求1二、详细设计12.1基础测绘计算原理12.2基础测绘计算功能模块流程图22.3基础测绘计算类图设计22.4基础测绘计算类实现代码32.5基础测绘计算类调用方法10三、界面设计3.1界面类型选择••…103.2界面元素组织••…103.3界面与类的交互10四、测试说明114.1测试数据错误!未定义书签。4.2测试结果错误!未定义书签。五
2、、结论附录A角度转换功能类代码(可附完整的功能类代码)11附录B坐标正反算功能类代码12附录C交会计算功能类代码14参考文献:(例)171一、需求分析1.1设计目的1•角度转换:弧度与度分秒间的转换。2.坐标正反算:坐标计算距离、方位角,距离、方位角计算坐标。3•交会计算:角度前方交会,角度后方交会,距离交会。1.2设计内容1•角度转换。2.坐标正反算。3•交会计算1.2.1性能需求无较高性能需求。能进行角度转换,坐标1E反算,交会计算。1・3环境需求64位windows操作系统,MicrosoftVisualStudio2010。二
3、、详细设计2.1基础测绘计算原理通过查阅相关资料并结合计算机编程语言,设计出相关的算法。12.2基础测绘计算功能模块流程图2.3基础测绘计算类图设计角度转换:2坐标正反算:交会计算:2.4基础测绘计算类实现代码31角度转换://Cjiaoduzhuanhuan.cpp:实现文件//#include"stdafx.h"#include#inelude"Cjiaoduzhuanhuan.h”//CjiaoduzhuanhuanIMPLEMENT_DYNAMIC(Cjiaoduzhuanhuan,CWnd)Cjiaoduzhuanhuan:
4、:Cjiaoduzhuanhuan()Cjiaoduzhuanhuan::~Cjiaoduzhuanhuan(){}voidCjiaoduzhuanhuan::shuru(int*_dzint*_f,double*_m,double*_s,double*_h){d=*_d;f=*_f;m=*_m;s=*_s;h=*_h;}voidCjiaoduzhuanhuan::jiaodu(double*__s,double*_h){s=(d*3600+f*60+m)/3600;//转化为十进制角度*_h=s/180*3.14159265;//转
5、化为弧度*_s二s;}voidCjiaoduzhuanhuan::hudu(double*_s,int*_d,int*_f,double*_m){s=h*180/3.14159265;//转化为十进制角度d=int(s);f=int((s-d)*6O);m=((s-d)*60-f)*60;//转化为角度*_s=s;*_d=d;*f=f;*_m=m;}voidCjiaoduzhuanhuan::shijinzhi(int*_d,int*_f,double*_m,double*_h)4*_h=s/180*3.14159265;//转化为弧
6、度d=int(s);f=int((s-d)*60);*_m=((s-d)*60-f)*60;//转化为角度*_d=d;}voidCjiaoduzhuanhuan::clear(int*_d,int*_f,double*_m,double_s,double*_h){*_d二0;*_m=0.0;*s=0.0;*_h=0.0;BEGIN_MESSAGE_MAP(Cjiaoduzhuanhuan,CWnd)END_MESSAGE_MAP()//Cjiaoduzhuanhuan消息处理程序2坐标正反算://Czbzfs.cpp:实现文件//in
7、clude"stdafx.h"#include"#include"Czbzfs.h"#include<math.h>//CzbzfsIMPLEMENT_DYNAMIC(Czbzfs,CWnd)Czbzfs::Czbzfs(){}Czbzfs::~Czbzfs(){}5voidCzbzfs::shuru(double*_xl,double*_yl,double*_x2,double*_y2,double*J,double*_f){xl=*_xl;x2=*x2;y2=*_y2;j=*j;f/_f;}voidCzbzfs::zb
8、zs(double*_x2,double*_y2){doubleCf;〃中间变量Cf用于储存f的弧度制Cf=f/180*3.14159265;*_x2=xl+j*cos(Cf);*_y2=yl+j*sin(Cf);}vo