Index Page recgeo_c
A B C D E F G H I J K L M N O P Q R S T U V W X
Procedure Abstract Required_Reading Keywords Brief_I/O Detailed_Input | Detailed_Output Parameters Exceptions Files Particulars Examples | Restrictions Literature_References Author_and_Institution Version Index_Entries
#### Procedure
       void recgeo_c ( ConstSpiceDouble     rectan[3],
                       SpiceDouble          re,
                       SpiceDouble          f,
                       SpiceDouble        * lon,
                       SpiceDouble        * lat,
                       SpiceDouble        * alt        )
#### Abstract
       Convert from rectangular coordinates to geodetic coordinates.
#### Required_Reading
       None.
#### Keywords
        CONVERSION,  COORDINATES
#### Brief_I/O
       VARIABLE  I/O  DESCRIPTION
       --------  ---  --------------------------------------------------
       rectan     I   Rectangular coordinates of a point.
       re         I   Equatorial radius of the reference spheroid.
       f          I   Flattening coefficient.
       lon        O   Geodetic longitude of the point (radians).
       lat        O   Geodetic latitude  of the point (radians).
       alt        O   Altitude of the point above reference spheroid.
#### Detailed_Input
       rectan    Rectangular coordinates of the input point. `rectan' must
                 be in the same units as `re'.

       re        Equatorial radius of a reference spheroid.  This spheroid
                 is a volume of revolution:  its horizontal cross sections
                 are circular.  The shape of the spheroid is defined by
                 an equatorial radius `re' and a polar radius `rp'. `re'
                 must be in the same units as `rectan'.

       f         Flattening coefficient = (re-rp) / re, where rp is
                 the polar radius of the spheroid.
#### Detailed_Output
       lon       Geodetic longitude of the input point.  This is the
                 angle between the prime meridian and the meridian
                 containing `rectan'.  The direction of increasing
                 longitude is from the +X axis towards the +Y axis.

                 `lon' is output in radians.  The range of `lon' is
                 [-pi, pi].

       lat       Geodetic latitude of the input point.  For a point P
                 on the reference spheroid, this is the angle between the
                 XY plane and the outward normal vector at P. For a point P
                 not on the reference spheroid, the geodetic latitude is
                 that of the closest point to P on the spheroid.

                 `lat' is output in radians. The range of `lat' is
                 [-pi/2, pi/2].

       alt       Altitude of point above the reference spheroid.

                 The units associated with `alt' are those associated with
                 the inputs `rectan' and `re'.
#### Parameters
       None.
#### Exceptions
       1) If the equatorial radius is non-positive, the error
          SPICE(VALUEOUTOFRANGE) is signaled.

       2) If the flattening coefficient is greater than or equal to
          one, the error SPICE(VALUEOUTOFRANGE) is signaled.

       3) For points inside the reference ellipsoid, the nearest point on
          the ellipsoid to `rectan' may not be unique, so latitude may not
          be well-defined.
#### Files
       None.
#### Particulars
       Given the body-fixed rectangular coordinates of a point, and the
       constants describing the reference spheroid,  this routine
       returns the geodetic coordinates of the point.  The body-fixed
       rectangular frame is that having the x-axis pass through the
       0 degree latitude 0 degree longitude point.  The y-axis passes
       through the 0 degree latitude 90 degree longitude.  The z-axis
       passes through the 90 degree latitude point.  For some bodies
       this coordinate system may not be a right-handed coordinate
       system.
#### Examples
       This routine can be used to convert body fixed rectangular
       coordinates (such as the Satellite Tracking and Data Network
       of 1973) to geodetic coordinates such as those used by the
       United States Geological Survey topographic maps.

       The code would look something like this

          /.
          Shift the STDN-73 coordinates to line up with the center
          of the Clark66 reference system.
          ./

          vsub_c ( stdnx, offset, x );

          /.
          Using the equatorial radius of the Clark66 spheroid
          (CLARKR = 6378.2064 km) and the Clark 66 flattening
          factor (CLARKF = 1.0 / 294.9787 ) convert to
          geodetic coordinates of the North American Datum of 1927.
          ./

          recgeo_c ( x, CLARKR, CLARKF, &lon, &lat, &alt )

       Below are two tables.

       Listed in the first table (under X[0], X[1] and X[2]) are a
       number of points whose rectangular coordinates are
       taken from the set {-1, 0, 1}.

       The results of the code fragment

          recgeo_c ( x, CLARKR, CLARKF, &lon, &lat, &alt );

          /.
          Use the CSPICE routine convrt_c to convert the angular
          quantities to degrees
          ./
          convrt_c ( lat, "RADIANS", "DEGREES", &lat );
          convrt_c ( lon, "RADIANS", "DEGREES", &lon );

       are listed to four decimal places in the second parallel table under
       lon (longitude), lat (latitude), and  alt (altitude).

         X[0]       X[1]     X[2]         lon       lat       alt
         --------------------------       ----------------------------
         0.0000     0.0000   0.0000       0.0000    90.0000   -6356.5838
         1.0000     0.0000   0.0000       0.0000     0.0000   -6377.2063
         0.0000     1.0000   0.0000      90.0000     0.0000   -6377.2063
         0.0000     0.0000   1.0000       0.0000    90.0000   -6355.5838
        -1.0000     0.0000   0.0000     180.0000     0.0000   -6377.2063
         0.0000    -1.0000   0.0000     -90.0000     0.0000   -6377.2063
         0.0000     0.0000  -1.0000       0.0000   -90.0000   -6355.5838
         1.0000     1.0000   0.0000      45.0000     0.0000   -6376.7921
         1.0000     0.0000   1.0000       0.0000    88.7070   -6355.5725
         0.0000     1.0000   1.0000      90.0000    88.7070   -6355.5725
         1.0000     1.0000   1.0000      45.0000    88.1713   -6355.5612
#### Restrictions
       None.
#### Literature_References
       See FUNDAMENTALS OF ASTRODYNAMICS, Bate, Mueller, White
       published by Dover for a description of geodetic coordinates.
#### Author_and_Institution
       C.H. Acton      (JPL)
       N.J. Bachman    (JPL)
       H.A. Neilan     (JPL)
       W.L. Taber      (JPL)
#### Version
       -CSPICE Version 1.2.3, 26-JUL-2016 (BVS)

          Minor headers edits.

       -CSPICE Version 1.2.2, 02-JUL-2007 (NJB)

          In Examples section of header, heading and description of
          right-hand table was updated to use correct names of columns.
          Term "bodyfixed" is now hyphenated.

       -CSPICE Version 1.2.1, 30-JUL-2003 (NJB) (CHA)

          Various header changes were made to improve clarity.  Some
          minor header corrections were made.

       -CSPICE Version 1.2.0, 28-AUG-2001 (NJB)

          Removed tab characters from source file.  Include interface
          macro definition file SpiceZim.h.

       -CSPICE Version 1.1.0, 21-OCT-1998 (NJB)

          Made input vector const.

       -CSPICE Version 1.0.0, 08-FEB-1998   (EDW)
#### Index_Entries
       rectangular to geodetic
#### Link to routine recgeo_c source file recgeo_c.c

    Wed Apr  5 17:54:41 2017