If you wish to contribute or participate in the discussions about articles you are invited to contact the Editor

# Transformations between ECEF and ENU coordinates

Fundamentals
Title Transformations between ECEF and ENU coordinates
Author(s) J. Sanz Subirana, J.M. Juan Zornoza and M. Hernández-Pajares, Technical University of Catalonia, Spain.
Year of Publication 2011

The relation between the local East, North, Up (ENU) coordinates and the $\displaystyle{ (x,y,z) }$ Earth Centred Earth Fixed (ECEF) coordinates is illustrated in the next figure:

Figure 1:: Transformations between ENU and ECEF coordinates.

From the figure 1 it follows that the ENU coordinates can be transformed to the $\displaystyle{ (x,y,z) }$ ECEF by two rotations, where $\displaystyle{ \varphi }$ and $\displaystyle{ \lambda }$ are, respectively, the latitude and longitude from the ellipsoid:

1. A clockwise rotation over east-axis by an angle $\displaystyle{ 90-\varphi }$ to align the up-axis with the $\displaystyle{ z }$-axis. That is $\displaystyle{ {\mathbf R}_1[-(\pi/2-\varphi)] }$.

2. A clockwise rotation over the $\displaystyle{ z }$-axis by an angle $\displaystyle{ 90+\lambda }$ to align the east-axis with the $\displaystyle{ x }$-axis. That is $\displaystyle{ {\mathbf R}_3[-(\pi/2+\lambda)] }$.

That is:

$\displaystyle{ \left [ \begin{array}{l} x\\ y\\ z\\ \end{array} \right ] = {\mathbf R}_3[-(\pi/2+\lambda)]\,{\mathbf R}_1[-(\pi/2-\varphi)] \left [ \begin{array}{l} E\\ N\\ U\\ \end{array} \right ] \qquad \mbox{(1)} }$

where, according to the expressions (2) (see Transformation between Terrestrial Frames)

$\displaystyle{ \begin{array}{l} \mathbb{\mathbf R}_1[\theta]=\left [ \begin{array}{ccc} 1 & 0 & 0\\ 0 & \cos \theta & \sin \theta \\ 0 & -\sin \theta & \cos \theta \\ \end{array} \right ] \;;\;\; \mathbb{\mathbf R}_2[\theta]=\left [ \begin{array}{ccc} \cos \theta & 0 & -\sin \theta \\ 0 & 1 & 0\\ \sin \theta &0 & \cos \theta \\ \end{array} \right ]\\ \\ \mathbb{\mathbf R}_3[\theta]=\left [ \begin{array}{ccc} \cos \theta & \sin \theta &0\\ -\sin \theta & \cos \theta & 0\\ 0 & 0 & 1\\ \end{array} \right ] \end{array} \qquad \mbox{(2)} }$

yields:

$\displaystyle{ {\mathbf R}_3[-(\pi/2+\lambda)]\,{\mathbf R}_1[-(\pi/2-\varphi)]= \left ( \begin{array}{ccc} -\sin \lambda & -\cos \lambda \sin \varphi &\cos \lambda \cos \varphi\\ \cos \lambda & -\sin \lambda \sin \varphi & \sin \lambda \cos \varphi\\ 0 & \cos \varphi & \sin \varphi\\ \end{array} \right ) \qquad \mbox{(3)} }$

The unit vectors in local East, North and Up directions as expressed in ECEF cartesian coordinates are given by the columns of matrix (3). That is:

$\displaystyle{ \begin{array}{l} \hat{\mathbf e}=\left ( -\sin \lambda \,,\,\cos \lambda\,,\, 0 \right )\\ \hat{\mathbf n}=\left ( - \cos \lambda \sin \varphi \,,\,- \sin \lambda \sin \varphi\,,\, \cos \varphi \right)\\ \hat{\mathbf u}=\left ( \cos \lambda \cos \varphi \,,\,\sin \lambda\ \cos \varphi\,,\, \sin \varphi \right) \qquad \mbox{(4)} \end{array} }$

Note: If $\displaystyle{ (\lambda,\varphi) }$ are ellipsoidal coordinates, thence, the vector $\displaystyle{ \hat{\mathbf u} }$ is orthogonal to the tangent plane to the ellipsoid, which is defined by $\displaystyle{ (\hat{\mathbf e}, \hat{\mathbf n}) }$. If $\displaystyle{ (\lambda,\varphi) }$ are taken as the spherical longitude and latitude, thence, the vector $\displaystyle{ \hat{\mathbf u} }$ is in the radial direction and $\displaystyle{ (\hat{\mathbf e}, \hat{\mathbf n}) }$ defines the tangent plane to the sphere.

## From ECEF to ENU coordinates

Taking into account the properties of the rotation matrices $\displaystyle{ {\mathbf R}_i(\alpha) }$,i.e., $\displaystyle{ {\mathbf R}_i^{-1}(\alpha)= {\mathbf R}_i(-\alpha)={\mathbf R}_i^T(\alpha) }$, thence, the inverse transformation of (1) is given by:

$\displaystyle{ \left [ \begin{array}{l} E\\ N\\ U\\ \end{array} \right ] = {\mathbf R}_1[\pi/2-\varphi]\,{\mathbf R}_3[\pi/2+\lambda] \left [ \begin{array}{l} x\\ y\\ z\\ \end{array} \right ] \qquad \mbox{(5)} }$

where the transformation matrix of (5) is the transpose of matrix (3):

$\displaystyle{ {\mathbf R}_1[\pi/2-\varphi]\,{\mathbf R}_3[\pi/2+\lambda]= \left ( \begin{array}{ccc} -\sin \lambda & \cos \lambda &0\\ - \cos \lambda \sin \varphi & -\sin \lambda \sin \varphi & \cos \varphi\\ \cos \lambda \cos \varphi & \sin \lambda \cos \varphi & \sin \varphi\\ \end{array} \right ) \qquad \mbox{(6)} }$

The unit vectors in the ECEF $\displaystyle{ \hat{\mathbf x} }$, $\displaystyle{ \hat{\mathbf y} }$ and $\displaystyle{ \hat{\mathbf z} }$ directions, as expressed in ENU coordinates, are given by the columns of matrix (6). That is:

$\displaystyle{ \begin{array}{l} \hat{\mathbf x}=\left ( -\sin \lambda \,,\,-\cos \lambda \sin \varphi\,,\, \cos \lambda \cos \varphi \right )\\ \hat{\mathbf y}=\left (\cos \lambda\,,\,- \sin \lambda \sin \varphi\,,\, \sin \lambda \cos \varphi \right)\\ \hat{\mathbf z}=\left ( 0 \,,\, \cos \varphi \,,\,\sin \varphi \right) \end{array} \qquad \mbox{(7)} }$

## Elevation and azimuth computation

Given the line of sight unit vector

$\displaystyle{ \hat {\boldsymbol \rho}=\displaystyle \frac{{\mathbf r}^{sat}-{\mathbf r}_{rcv}}{\| {\mathbf r}^{sat}-{\mathbf r}_{rcv} \|} \qquad \mbox{(8)} }$

where $\displaystyle{ {\mathbf r}^{sat} }$ and $\displaystyle{ {\mathbf r}_{rcv} }$ are the geocentric position of the satellite and receiver, respectively, the elevation and azimuth in the local system coordinates (ENU), defined by the unit vectors $\displaystyle{ \hat{\mathbf e} }$, $\displaystyle{ \hat{\mathbf n} }$ and $\displaystyle{ \hat{\mathbf u} }$ can be computed from (see figure 2):

$\displaystyle{ \begin{array}{l} \hat {\boldsymbol \rho}\cdot \hat{\mathbf e} =\cos E \sin A\\ \hat {\boldsymbol \rho}\cdot \hat{\mathbf n}=\cos E \cos A\\ \hat {\boldsymbol \rho}\cdot \hat{\mathbf u} = \sin E \end{array} \qquad \mbox{(9)} }$

Thence the elevation and azimuth of satellite in the local coordinates system are given by:

$\displaystyle{ E=\arcsin(\hat {\boldsymbol \rho}\cdot \hat{\mathbf u}) \qquad \mbox{(10)} }$
$\displaystyle{ A=\arctan \left (\frac{\hat {\boldsymbol \rho}\cdot \hat{\mathbf e}}{\hat {\boldsymbol \rho}\cdot \hat{\mathbf n}}\right ) \qquad \mbox{(11)} }$

Figure 2:: Local coordinate frame showing the elevation ($\displaystyle{ E }$) and azimuth ($\displaystyle{ A }$).

Note: If $\displaystyle{ (\lambda,\varphi) }$ are ellipsoidal coordinates, thence, the vector $\displaystyle{ \hat{\mathbf u} }$ is orthogonal to the tangent plane to the ellipsoid, which is defined by $\displaystyle{ (\hat{\mathbf e}, \hat{\mathbf n}) }$. If $\displaystyle{ (\lambda,\varphi) }$ are taken as the spherical longitude and latitude, thence, the vector $\displaystyle{ \hat{\mathbf u} }$ is in the radial direction and $\displaystyle{ (\hat{\mathbf e}, \hat{\mathbf n}) }$ defines the tangent plane to the sphere.