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

# Ellipsoidal and Cartesian Coordinates Conversion

Fundamentals
Title Ellipsoidal and Cartesian Coordinates Conversion
Author(s) J. Sanz Subirana, J.M. Juan Zornoza and M. Hernández-Pajares, Technical University of Catalonia, Spain.
Year of Publication 2011

The $\displaystyle{ (x,y,z) }$ ECEF cartesian coordinates can be expressed in the ellipsoidal coordinates $\displaystyle{ (\varphi, \lambda, h) }$, where $\displaystyle{ \varphi }$ and $\displaystyle{ \lambda }$ are, respectively, the latitude and longitude from the ellipsoid, and $\displaystyle{ h }$ the height above it. Figure 1 illustrates the relation between Cartesian and ellipsoidal coordinates.

Figure 1: Cartesian $\displaystyle{ (x,y,z) }$ and ellipsoidal $\displaystyle{ (\varphi, \lambda, h) }$ coordinates

## From Ellipsoidal to Cartesian coordinates

The Cartesian coordinates of a point $\displaystyle{ (x,y,z) }$ can be obtained from the ellipsoidal coordinates $\displaystyle{ (\varphi, \lambda, h) }$ by the next expressions:

$\displaystyle{ \begin{array}{l} x=(N+h) \cos \varphi\,\cos \lambda\\ y=(N+h)\cos \varphi\,\sin \lambda\\ z=\left ((1-e^2)N+h \right)\sin \varphi\\ \end{array} \qquad \mbox{(1)} }$

where $\displaystyle{ N }$ is the radius of curvature in the prime vertical:

$\displaystyle{ N=\displaystyle \frac{a}{\sqrt{1-e^2\sin^2\varphi}} \qquad \mbox{(2)} }$

and where the eccentricity $\displaystyle{ e }$ is related with the semi-major axis $\displaystyle{ a }$, the semi-minor axis $\displaystyle{ b }$ and the flattening factor $\displaystyle{ f = 1 -\frac{b}{a} }$ by:

$\displaystyle{ e^2=\displaystyle \frac{a^2-b^2}{a^2}=2f-f^2 \qquad \mbox{(3)} }$

## From Cartesian to Ellipsoidal coordinates

The ellipsoidal coordinates of a point $\displaystyle{ (\varphi, \lambda, h) }$ can be obtained from the cartesian coordinates $\displaystyle{ (x,y,z) }$ as follows:

The longitude $\displaystyle{ \lambda }$ is given by: $\displaystyle{ \lambda= \arctan\frac{y}{x} \qquad \mbox{(4)} }$

The latitude is computed by an iterative procedure.

1. The initial value is given by:
$\displaystyle{ \varphi_{(0)}=\arctan\left [ \frac{z}{(1-e^2)\,p} \right ] \qquad \mbox{(5)} }$

with $\displaystyle{ p=\sqrt{x^2+y^2} }$.

2. Improved values of $\displaystyle{ \varphi }$, as well as the height $\displaystyle{ h }$, are computed iterating in the equations:

$\displaystyle{ \begin{array}{l} N_{{(i)}}= \frac{a}{\sqrt{1-e^2\sin^2\varphi_{_{(i-1)}}}}\\[0.6cm] h_{{(i)}}=\frac{p}{\cos \varphi_{_{(i-1)}}}-N_{(i)}\\[0.5cm] \varphi_{{(i)}}= \arctan\left [ \frac{z}{ \left ( 1 - e^2\frac{N_{(i)}}{N_{(i)}+h_{(i)}} \right ) p } \right ] \end{array} \qquad \mbox{(6)} }$

The iterations are repeated until the change between two successive values of $\displaystyle{ \varphi_{(i)} }$ are smaller than the precision required.