高斯投影坐标正反算编程报告

上传人:学*** 文档编号:301729031 上传时间:2022-05-31 格式:DOCX 页数:5 大小:16.93KB
返回 下载 相关 举报
高斯投影坐标正反算编程报告_第1页
第1页 / 共5页
高斯投影坐标正反算编程报告_第2页
第2页 / 共5页
高斯投影坐标正反算编程报告_第3页
第3页 / 共5页
高斯投影坐标正反算编程报告_第4页
第4页 / 共5页
高斯投影坐标正反算编程报告_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《高斯投影坐标正反算编程报告》由会员分享,可在线阅读,更多相关《高斯投影坐标正反算编程报告(5页珍藏版)》请在金锄头文库上搜索。

1、本文格式为Word版,下载可任意编辑高斯投影坐标正反算编程报告 高斯投影坐标正反算编程报告 1. 编程思想 举行高斯投影坐标正反算的编程需要牵涉到大量的公式,为了使程序条理更领会,各块的数据复用性更强,这里采取了布局化的编程思想。 程序由四大块组成。 GeodesyHomework.cpp文件用于存放main()函数,是整个程序的入口。通过布局化的编程尽力使main()函数变得简朴。 MyFunction.h和MyFunction.cpp用于存放计算过程中举行角度弧度换算时所要用到的一些自定的转换函数。 Zhengsuan.h和Zhengsuan.cpp用于存放Zhengsuan类,在Zhen

2、gsuan类中声领略高斯投影坐标正算所要用到的全体变量,在类的构造函数中举行成员变量的初始化及正算计算。通过get函数获得相应的正算结果。 Fansuan.h和Fansuan.cpp用于存放Fansuan类,类似于Zhengsuan类,Fansuan类中声领略高斯投影坐标反算所要用到的全体变量,在类的构造函数中举行成员变量的初始化及反算计算。通过get函数获得相应的反算结果。 2. 计算模型 高斯投影正算公式 x?X?NN232244?sinBcosB?l?simBcosB(5?t?9?4?)l2?224?4N5246?sinBcosB(61?58t?t)l720?6y?NN3223?cosB

3、?l?cosB(1?t?)l?6?3N5242225?cosB(5?18t?t?14?58?t)l120?5 tf2MfNf5f高斯投影反算公式 B?Bf?tfy?2tf24MfN3f?5?3t2f224?2f?9?ftfy?720MfN46y61?90t2?45tyff?yy32l?1?2t2f?f3NfcosBf6NfcosBf? y524222?5?28t?24t?6?8?fffftf5120NfcosBf?3. 程序框图 1 开头 输入B,L 求定带号N,中央纬度L0,纬度差l 正算 按照实用公式计算x,y 换算为国家统一坐标X,Y 输出X,Y 输入国家统一坐标X,Y 由Y取定带号N,

4、并换算出x,y 求出中央经线L0 反算 按照实用公式计算B,l L=L0+l求出大地经度L 输出B,L 终止 4. 计算结果 2 5. 附录:程序代码 /主函数入口 GeodesyHomework.cpp #include #include #include #include using namespace std; voidfansuan(); voidzhengsuan(); void main() zhengsuan(); fansuan(); printf( voidzhengsuan() doublemyB,myL; coutmyXmyY; FansuanmyFansuan1(myX

5、,myY); myFansuan1.printLocation(); /自定功能函数库 MyFunction.h #define PI 3.1415926 #include using namespace std; doubleangleToDegree(intdu,intfen,floatmiao); double angleToDegree();/将度分秒换算为度 doubledegreeToRadian(double degree); double degreeToRadian();/将角度换算为弧度 MyFunction.cpp #include doubleangleToDegree

6、(intdu,intfen,floatmiao) double result=0; result=miao/3600.0+fen/60.0+du; return result; doubleangleToDegree() intdu,fen; floatmiao; double result; coutdufenmiao; result=angleToDegree(du,fen,miao); return result; doubledegreeToRadian(double degree) double result=0; result=degree/57.295779513082321;

7、4 return result; doubledegreeToRadian() doubleresult,degree; degree=angleToDegree(); result=degreeToRadian(degree); return result; /正算类 Zhengsuan.h / Zhengsuan.h: interface for the Zhengsuan class. / / #if !defined(AFX_ZHENGSUAN_H_2655EA28_E810_44A3_8F14_56421A7B4466_INCLUDED_) #define AFX_ZHENGSUAN

8、_H_2655EA28_E810_44A3_8F14_56421A7B4466_INCLUDED_ #if _MSC_VER 1000 #pragma once #endif / _MSC_VER 1000 #define rouSecond 206264.806247096355 #include #include #include using namespace std; classZhengsuan public: Zhengsuan(); Zhengsuan(double fB,doublefL); doublegetX(); doublegetY(); doublegetrB(); doublegetrL(); voidprintLocation(); virtual Zhengsuan(); private: 5 5

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号