void Blh2XYZ(double B, double L, double H, double *x, double *y, double *z)//B,L,H 大地坐标,单位是:度;X,Y,Z 地心空间直角坐标系,单位为:米
{ /*****大地坐标系转换为WGS84地心空间直角坐标系*****/
//大地坐标系转换为WGS84坐标系
B = B*PI / 180;
L = L*PI / 180;
double a = 6378137.0;
double b = 6356752.314; //a:长轴,b:短轴
double ee = (a*a - b*b) / (a*a); // ee:e平方,e:偏心率
double w = sqrt(1 - ee*sin(B)*sin(B));
double N = a / w;
*x = (N + H)*cos(B)*cos(L);
*y = (N + H)*cos(B)*sin(L);
*z = (N - N*ee + H)*sin(B);
}
大地坐标系转换为地心空间直角坐标系
最新推荐文章于 2024-08-06 17:43:54 发布