最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

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

来源:动视网 责编:小OO 时间:2025-09-24 12:40:50
文档

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

高斯投影坐标正反算编程报告1.编程思想进行高斯投影坐标正反算的编程需要牵涉到大量的公式,为了使程序条理更清楚,各块的数据复用性更强,这里采取了结构化的编程思想。程序由四大块组成。GeodesyHomework.cpp文件用于存放main()函数,是整个程序的入口。通过结构化的编程尽力使main()函数变得简单。MyFunction.h和MyFunction.cpp用于存放计算过程中进行角度弧度换算时所要用到的一些自定的转换函数。Zhengsuan.h和Zhengsuan.cpp用于存放Zhen
推荐度:
导读高斯投影坐标正反算编程报告1.编程思想进行高斯投影坐标正反算的编程需要牵涉到大量的公式,为了使程序条理更清楚,各块的数据复用性更强,这里采取了结构化的编程思想。程序由四大块组成。GeodesyHomework.cpp文件用于存放main()函数,是整个程序的入口。通过结构化的编程尽力使main()函数变得简单。MyFunction.h和MyFunction.cpp用于存放计算过程中进行角度弧度换算时所要用到的一些自定的转换函数。Zhengsuan.h和Zhengsuan.cpp用于存放Zhen
高斯投影坐标正反算编程报告

1.编程思想

进行高斯投影坐标正反算的编程需要牵涉到大量的公式,为了使程序条理更清楚,各块的数据复用性更强,这里采取了结构化的编程思想。

程序由四大块组成。

GeodesyHomework.cpp文件用于存放main()函数,是整个程序的入口。通过结构化的编程尽力使main()函数变得简单。

MyFunction.h和MyFunction.cpp用于存放计算过程中进行角度弧度换算时所要用到的一些自定的转换函数。

Zhengsuan.h和Zhengsuan.cpp用于存放Zhengsuan类,在Zhengsuan类中声明了高斯投影坐标正算所要用到的所有变量,在类的构造函数中进行成员变量的初始化及正算计算。通过get函数获得相应的正算结果。

Fansuan.h和Fansuan.cpp用于存放Fansuan类,类似于Zhengsuan类,Fansuan类中声明了高斯投影坐标反算所要用到的所有变量,在类的构造函数中进行成员变量的初始化及反算计算。通过get函数获得相应的反算结果。

2.计算模型

 高斯投影正算公式

 

高斯投影反算公式

      

3.程序框图

4.计算结果

5.附录:程序代码

/////主函数入口

GeodesyHomework.cpp

#include "MyFunction.h"

#include "Zhengsuan.h"

#include "Fansuan.h"

#include

using namespace std;

void fansuan();

void zhengsuan();

void main(){

}

void zhengsuan(){

 【正算】"< 请输入大地纬度B"< 请输入大地经度L"<}

void fansuan(){

 【反算】"< 请输入国家统一坐标 X Y。例如 3378627.1819 20243953.4517"<}

///自定功能函数库

MyFunction.h

#define PI 3.1415926

#include

using namespace std;

double angleToDegree(int du,int fen,float miao);

double angleToDegree();//将度分秒换算为度

double degreeToRadian(double degree);

double degreeToRadian();//将角度换算为弧度

MyFunction.cpp

#include "MyFunction.h"

double angleToDegree(int du,int fen,float miao){

}

double angleToDegree(){

 请输入度 分 秒。例如:30 20 00"<}

double degreeToRadian(double degree){

}

double degreeToRadian(){

}

///正算类

Zhengsuan.h

// Zhengsuan.h: interface for the Zhengsuan class.

//

//////////////////////////////////////////////////////////////////////

#if !defined(AFX_ZHENGSUAN_H__2655EA28_E810_44A3_8F14_521A7B4466__INCLUDED_)

#define AFX_ZHENGSUAN_H__2655EA28_E810_44A3_8F14_521A7B4466__INCLUDED_

#if _MSC_VER > 1000

#pragma once

#endif // _MSC_VER > 1000

#define rouSecond 2062.806247096355

#include "MyFunction.h"

#include

#include

using namespace std;

class Zhengsuan  

{

public:

private:

 大地坐标

 国家统一坐标

 输入的大地纬度B,大地经度L,rB,rL为对应弧度表示值,Bsecond为换算成秒数值

 带号n

 经线纬度L0

 纬度差L-L0

 换算成秒的纬度差

 七个计算参数

};

#endif // !defined(AFX_ZHENGSUAN_H__2655EA28_E810_44A3_8F14_521A7B4466__INCLUDED_)

Zhengsuan.cpp

// Zhengsuan.cpp: implementation of the Zhengsuan class.

//

//////////////////////////////////////////////////////////////////////

#include "Zhengsuan.h"

//////////////////////////////////////////////////////////////////////

// Construction/Destruction

//////////////////////////////////////////////////////////////////////

Zhengsuan::Zhengsuan()

{

}

Zhengsuan::Zhengsuan(double fB,double fL){

 初始化大地经度L,大地纬度B,Bsecond,按弧度的大地纬度rB

 初始化带号n

 经线经度,角度单位

 经度差

 计算参数l

 计算参数N

 计算参数a0

 计算参数a4

 计算参数a6

 计算参数a3

 计算参数a5

 正算x

 正算y

 国家统一坐标

}

Zhengsuan::~Zhengsuan()

{

}

double Zhengsuan::getX(){

}

double Zhengsuan::getY(){

}

void Zhengsuan::printLocation(){

 正算得国家统一坐标为:

}

double Zhengsuan::getrB(){

}

double Zhengsuan::getrL(){

}

///反算类

Fansuan.h

// Fansuan.h: interface for the Fansuan class.

//

//////////////////////////////////////////////////////////////////////

#if !defined(AFX_FANSUAN_H__5B5E4668_EE81_463F_8D65_FFE2AEACE745__INCLUDED_)

#define AFX_FANSUAN_H__5B5E4668_EE81_463F_8D65_FFE2AEACE745__INCLUDED_

#if _MSC_VER > 1000

#pragma once

#endif // _MSC_VER > 1000

#define rouSecond 2062.806247096355

#include

#include "MyFunction.h"

#include

using namespace std;

class Fansuan  

{

public:

private:

 高斯投影坐标

 国家统一坐标,N为带号

 最后反算得到B、L

 经线经度

 ,L0=6*N-3

 计算的8个参数

};

#endif // !defined(AFX_FANSUAN_H__5B5E4668_EE81_463F_8D65_FFE2AEACE745__INCLUDED_)

Fansuan.cpp

// Fansuan.cpp: implementation of the Fansuan class.

//

//////////////////////////////////////////////////////////////////////

#include "Fansuan.h"

//////////////////////////////////////////////////////////////////////

// Construction/Destruction

//////////////////////////////////////////////////////////////////////

Fansuan::Fansuan()

{

}

Fansuan::Fansuan(double X,double Y){

 初始化x,y

 取出带号

 初始化该带号的经线经度

 初始化beta,弧度单位

 初始化beta,秒单位

 初始化beta,整度数单位

 初始化Bf,弧度单位

 初始化Bf,秒单位

 初始化Bf,整度数单位

 计算大地经度B,单位为秒

 用整度数表示B

 计算经度差l,单位为秒

 用整度数表示l

 计算大地经度L

}

double Fansuan::getB(){

}

double Fansuan::getL(){

}

void Fansuan::printLocation(){

 反算得大地坐标为:大地纬度B= %f° 大地经度L=%f°\\n",B,L);

}

Fansuan::~Fansuan()

{

}

文档

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

高斯投影坐标正反算编程报告1.编程思想进行高斯投影坐标正反算的编程需要牵涉到大量的公式,为了使程序条理更清楚,各块的数据复用性更强,这里采取了结构化的编程思想。程序由四大块组成。GeodesyHomework.cpp文件用于存放main()函数,是整个程序的入口。通过结构化的编程尽力使main()函数变得简单。MyFunction.h和MyFunction.cpp用于存放计算过程中进行角度弧度换算时所要用到的一些自定的转换函数。Zhengsuan.h和Zhengsuan.cpp用于存放Zhen
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top