📄 坐标转换.cpp
字号:
#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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -