Transformation to local horizontal coordinates


For many applications it is necessary to know the position (e.g. of a spacecraft) with respect to some ground station - and for that position to be expressed with respect to the local horizontal plane, i.e. the plane tangential to the surface of the Earth (taken to be an oblate spheroid) at the ground station. These local horizontal coordinates are usually expressed in spherical form as:

These local coordinates can also be expressed in cartesian form such that the X axis lies in the tangent plane in the direction of true North and the Z axis is normal to the tangent plane pointing away from the Earth (and the Y axis completes a right-handed triad as usual). In this case elevation is equivalent to a latitude and azimuth to a longitude.

Transformation to local horizontal coordinates

To convert a position vector into local horizontal coordinate system, proceed as follows:

  1. Convert the position vector into the (Earth-centred) geographic (GEO) coordinate system. This step may be skipped if the vector is already in GEO coordinates.
  2. Change the origin of the position vector from the centre of the Earth to the ground station to obtain a new vector R1 thus: where R(obj,geo) is the position vector of the object in the GEO system and R(gs,geo) is the position vector of the ground-station in the GEO system.
  3. Following the notation of Hapgood (1992) calculate the conversion matrix: where latd(gs) is the geodetic latitude of the ground station and long(gs) is the longitude of the ground station. This matrix comprises three simple rotations: (i) a rotation about the Earth's axis (through angle long(gs)) from the Greenwich meridian to the meridian of the ground statiion, (ii) a rotation about an axis perpendicular to the meridian plane of the ground station (through angle latd(gs)-90) from the Earth's North Pole to the ground station, and (iii) a rotation of 180 degrees about the local normal so that the local X axis is directed northward.
  4. We apply the conversion matrix to vector R1 to obtain Rlh, the position vector of the object in local horizontal coordinates:
  5. The vector Rlh may be converted from cartesian to spherical form (range, elevation, azimuth)

Additional note

The use of the conversion matrix Tlh is exactly equivalent to the algorithms used in positional astronomy to convert star coordinates (right ascension and declination) to elevation and azimuth. These may be found in any good book on positional astronomy.

Last updated 16 July 1997 by Mike Hapgood (Email:

RAL Space Plasma Group logo Logo for coordinate systems