If you wish to contribute or participate in the discussions about articles you are invited to join Navipedia as a registered user

Ellipsoidal and Cartesian Coordinates Conversion

From Navipedia
Jump to: navigation, search


FundamentalsFundamentals
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.
Level Advanced
Year of Publication 2011

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

Figure 1: Cartesian <math>(x,y,z)</math> and ellipsoidal <math>(\varphi, \lambda, h)</math> coordinates


From Ellipsoidal to Cartesian coordinates

The Cartesian coordinates of a point <math>(x,y,z)</math> can be obtained from the ellipsoidal coordinates <math>(\varphi, \lambda, h)</math> by the next expressions:

<math>

\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)} </math>


where <math>N</math> is the radius of curvature in the prime vertical:

<math>

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


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

<math>

e^2=\displaystyle \frac{a^2-b^2}{a^2}=2f-f^2 \qquad \mbox{(3)} </math>


From Cartesian to Ellipsoidal coordinates

The ellipsoidal coordinates of a point <math>(\varphi, \lambda, h)</math> can be obtained from the cartesian coordinates <math>(x,y,z)</math> as follows:

The longitude <math>\lambda</math> is given by: <math> \lambda= \arctan\frac{y}{x} \qquad \mbox{(4)} </math>

The latitude is computed by an iterative procedure.


1. The initial value is given by:
<math>

\varphi_{(0)}=\arctan\left [ \frac{z}{(1-e^2)\,p} \right ] \qquad \mbox{(5)} </math>


with <math>p=\sqrt{x^2+y^2}</math>.


2. Improved values of <math>\varphi</math>, as well as the height <math>h</math>, are computed iterating in the equations:


<math>

\begin{array}{l} N_Template:(i)= \frac{a}{\sqrt{1-e^2\sin^2\varphi_{_{(i-1)}}}}\\[0.6cm] h_Template:(i)=\frac{p}{\cos \varphi_{_{(i-1)}}}-N_{(i)}\\[0.5cm] \varphi_Template:(i)= \arctan\left [ \frac{z}{ \left ( 1 - e^2\frac{N_{(i)}}{N_{(i)}+h_{(i)}} \right ) p } \right ] \end{array} \qquad \mbox{(6)} </math>


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