modified the crash

This commit is contained in:
KenanZhu111 committed 2024-09-23 09:59:40 +08:00
1 parent 54547f9d3e
commit b8a6cf4e6e
6 files changed
+54 -63

No files matched your search

+5 -6
View File
@@ -11,7 +11,7 @@ typedef struct
double B;
double L;
double H;
}xyz2blh, *pxyz2blh;
}xyz2blh;
/* -------------------------------------------------------------------------- */
/// @brief 将ECEF地心地固坐标转换为经纬高坐标
@@ -23,16 +23,15 @@ typedef struct
/// @param e2 椭球的第一偏心率平方
/// @return 返回自定义结构体类型包含B,L,H成员
/* -------------------------------------------------------------------------- */
pxyz2blh XYZ2BLH(pxyz2blh xyz2blh,
xyz2blh XYZ2BLH(xyz2blh xyz2blh,
double X, double Y, double Z)
{
xyz2blh = (pxyz2blh)malloc(sizeof(pxyz2blh));
double B = 0.0, N = 0.0, H = 0.0, R0, R1, deltaH, deltaB;
R0 = sqrt(pow(X, 2) + pow(Y, 2));
R1 = sqrt(pow(X, 2) + pow(Y, 2) + pow(Z, 2));
//经度直接求解
xyz2blh->L = atan2(Y, X);
xyz2blh.L = atan2(Y, X);
//迭代求大地维度和大地高
N = a;
H = R1 - a;
@@ -45,8 +44,8 @@ pxyz2blh XYZ2BLH(pxyz2blh xyz2blh,
H = R0 / cos(B) - N;
B = atan2(Z * (N + H), R0 * (N * (1 - e2) + H));
} while (fabs(deltaH - H) > 1.0e-3 && fabs(deltaB - B) > 1.0e-9);
xyz2blh->B = B;
xyz2blh->H = H;
xyz2blh.B = B;
xyz2blh.H = H;
return xyz2blh;
}