Name

CL_co_car2ell — Cartesien to elliptical coordinates

Calling Sequence

   [pos_ell[,jacob]] = CL_co_car2ell(pos_car[,er[,obl]])
   
   

Description

  • Given a set of cartesien coordinates (pos_car), they are transformed into elliptical coordinates (pos_ell) using the given ellipsoid semi-major axis and oblateness.

    If no optionnal arguments are passed, defaults are the earth ellipsoid semi-major axis(equatorial radius) and oblateness. Coordinates are then called geodetic coordinates

    Transformation jacobian is optionnally computed.

  • Elliptical (geodetic) latitude is determined by the angle between the normal of the ellipsoid and the plane of the equator, whereas spherical (geocentric) latitude is determined around the centre :

    Warning : pos_ell contains longitude, elliptical latitude, and elliptical altitude (whereas in spherical coordinates it is longitude, spherical latitude and distance to center

  • Last update : 27/6/2008

Parameters

pos_car :

positions in cartesien coordinates (in terrestrial frame if used with earth) [X;Y;Z] [m] (3xN)

er :

(optional) reference ellipsoid semi-major axis [m] (default is earth equatorial radius : %CL_eqRad)

obl :

(optional) reference ellipsoid oblateness (default is earth oblateness : %CL_obla)

pos_ell :

positions in elliptical (or geodetic) coordinates [longitude;latitude;alt] [rad],[m] (3xN)

jacob :

(optional) transformation jacobian (3x3xN)

Bibliography

1 Mecanique Spatiale, Cnes - Cepadues Editions, Tome I, section 3.2.3 (Les reperes de l'espace et du temps, Relations entre les coordonnees)

2 CNES - MSLIB FORTRAN 90, Volume T (mt_car_geod)

See also

CL_co_ell2car, CL_oe_car2cir, CL_oe_car2cirEqua, CL_co_car2sph, CL_oe_car2kep

Authors

CNES - DCT/SB

Examples

// Example 1
pos_car = [4637885.347 ; 121344.608 ; 4362452.869];
[pos_ell] = CL_co_car2ell(pos_car);

// Example 2 : reciprocity test
pos_car = [4637885.347,121344.608,4362452.869]';
[pos_ell,jacob1] = CL_co_car2ell(pos_car);
[pos_car2,jacob2] = CL_co_ell2car(pos_ell);
M = jacob1*jacob2;  // unitary matrix