Name

CL_fr_ter2topoN — Terrestrial to topocentric north frame vector transformation

Calling Sequence

   [pos_topoN[,vel_topoN[,jacob]]] = CL_fr_ter2topoN(orig[,pos_ter[,vel_ter[,er[,obl]]]])
   
   

Description

  • Given a position vector in earth reference frame (pos_ter) and frame origin (lon,lat), this function computes its components in topocentric North frame (pos_topoN).

    Velocity and jacobian are optionally computed.

    NOTE: position and velocity are not necessary to compute jacobian. In this case, zero vectors are given for pos_topoN and vel_topoN.

    Warning : The origin of a topocentric North frame is not the center of the planet : it is the given point of longitude and latitude

  • The topocentric north frame is defined as follows:

    x: a unit vector towards norh

    y: a unit vector (local paralel tangent) towards west

    z: a unit vector in direction of the local vertical

  • Last update : 24/07/2007

Parameters

orig:

[LON;LAT;H] topocentric frame origin in elliptical (geodetic) coordinates [rad;rad;m] (3x1 : same origin for all positions or 3xN : one origin for each position)

pos_ter:

(optional) [X;Y;Z] position coordinates in earth reference frame [m] (3xN)

vel_ter:

(optional) [Vx;Vy;Vz] velocity coordinates in earth reference frame [m/s] (3xN)

er:

(optional) ellipsoid equatorial radius (default is %CL_eqRad) [m]

obl:

(optional) ellipsoid oblateness (default is %apla)

pos_topoN:

[X;Y;Z] position coordinates in topocentric North frame [m] (3xN)

vel_topoN:

(optional) [Vx;Vy;Vz] velocity coordinates in topocentric North frame [m/s] (3xN)

jacob:

(optional) transformation jacobian d(x,y,z,vx,vy,vz)_topoN/d(x,y,z,vx,vy,vz)_ter (6x6x size(orig))

Authors

CNES - DCT/SB

Bibliography

CNES - MSLIB FORTRAN 90, Volume T (mt_topo_N_ref)

See also

CL_fr_topoNMat, CL_fr_topoN2ter

Examples

[pos,vel,jacob] = CL_fr_ter2topoN([%pi;%pi/2;100]) //compute only jacobian
[pos,vel] = CL_fr_ter2topoN([%pi;%pi/2;100],[4812257;4037898;1100306],[117;7;37]) //compute position and velocity
[pos] = CL_fr_ter2topoN([%pi/3;%pi/4;100],[4812257,4037898,1100306;4812200,4030000.,1100000]') //compute only position (2 positions vectorized)