坐标转换.cpp

来自「本程序是用于WGS-84向北京1954坐标系转换的。要想进行转换需要至少3个控制」· C++ 代码 · 共 36 行

CPP
36
字号
#include "iostream.h"
#include "math.h"
#include "stdio.h"
#define pi 3.1415926
#define a  6378137.00000     //WGS84椭球体的长半轴 
#define e2 0.0066943799013   //WGS84椭球体的偏心率的平方 


double huahu(double b)
{
	double b1,b2,b3;
	b1=(int)b;
	b2=(int)((b-b1)*100);
	b3=((b-b1)*100-b2)*100;
	b=(b1+b2/60+b3/3600)*pi/180;
	return b;
}
int  main()
{
	double B,L,H,N;
    double X,Y,Z;
	cout<<"请输入大地坐标B,L,H,角度输入方式如下:"<<endl;
	cout<<"若输入的角度为30度30分30秒,对应的代码为:30.3030"<<endl;
	cin>>B>>L>>H;
	B=huahu(B);
	L=huahu(L);
	N=a/sqrt(1-e2*sin(B)*sin(B));
	X=(N+H)*cos(B)*cos(L);
	Y=(N+H)*cos(B)*sin(L);
	Z=(N*(1-e2)+H)*sin(B);

	cout<<"对应的空间直角坐标系中的坐标为:"<<endl;
	printf("X=%10.6f,Y=%10.6f,Z=%10.6f\n",X,Y,Z);
	cin>>X;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?