ENU坐标系转LLA坐标系算法
时间: 2023-11-23 17:08:17 浏览: 53
根据引用和引用的内容,可以得出ENU坐标系转LLA坐标系的算法如下:
1. 将ENU坐标系转换为地心地固坐标系(ECEF)。
2. 根据ECEF坐标系计算经纬度和高度。
3. 将经纬度转换为LLA坐标系。
具体的转换公式如下:
1. ENU坐标系转ECEF坐标系:
$$
\begin{bmatrix}
x\\
y\\
z
\end{bmatrix}_{ECEF}=
\begin{bmatrix}
-\sin(lon_0) & \cos(lon_0) & 0\\
-\sin(lat_0)\cos(lon_0) & -\sin(lat_0)\sin(lon_0) & \cos(lat_0)\\
\cos(lat_0)\cos(lon_0) & \cos(lat_0)\sin(lon_0) & \sin(lat_0)
\end{bmatrix}
\begin{bmatrix}
e\\
n\\
u
\end{bmatrix}
+
\begin{bmatrix}
x_0\\
y_0\\
z_0
\end{bmatrix}_{ECEF}
$$
其中,$lon_0$和$lat_0$分别为$P_0$的经度和纬度,$x_0$、$y_0$、$z_0$分别为$P_0$的ECEF坐标。
2. ECEF坐标系转经纬度和高度:
$$
\begin{aligned}
&\text{计算参数:}\\
&a&\text{——}&\text{地球长半轴(单位:m)}\\
&b&\text{——}&\text{地球短半轴(单位:m)}\\
&e&\text{——}&\text{第一偏心率}\\
&e'&\text{——}&\text{第二偏心率}\\
&\rho&\text{——}&\text{子午圈半径}\\
&N&\text{——}&\text{卯酉圈半径}\\
&h&\text{——}&\text{高度(单位:m)}\\
&\phi&\text{——}&\text{纬度(单位:弧度)}\\
&\lambda&\text{——}&\text{经度(单位:弧度)}\\
&\text{计算公式:}\\
&e^2&=&1-\frac{b^2}{a^2}\\
&e'^2&=&\frac{a^2}{b^2}-1\\
\rho&=&\sqrt{x^2+y^2}\\
\phi&=&\arctan\frac{z}{\rho\cdot(1-e^2)}\\
N&=&\frac{a}{\sqrt{1-e^2\cdot\sin^2\phi}}\\
h&=&\rho\cdot\cos\phi+N\cdot(1-e^2)\\
\lambda&=&\arctan\frac{y}{x}
\end{aligned}
$$
其中,$x$、$y$、$z$分别为ECEF坐标系下的坐标。
3. 经纬度转LLA坐标系:
$$
\begin{bmatrix}
lat\\
lon\\
alt
\end{bmatrix}_{LLA}=
\begin{bmatrix}
\phi\\
\lambda\\
h
\end{bmatrix}
$$