head 1.4; access; symbols; locks; strict; comment @# @; 1.4 date 2002.09.07.01.50.40; author curt; state Exp; branches; next 1.3; 1.3 date 2002.08.31.19.01.57; author curt; state Exp; branches; next 1.2; 1.2 date 2002.08.31.18.54.03; author curt; state Exp; branches; next 1.1; 1.1 date 2002.02.15.17.22.00; author curt; state Exp; branches; next ; desc @@ 1.4 log @Updated doxygen docs. @ text @
Main Page Class Hierarchy Compound List File List Compound Members File Members

# sg_geodesy.hxx File Reference

Routines to convert between geodetic and geocentric coordinate systems. More...

`#include <simgear/math/point3d.hxx>`
`#include <simgear/math/polar3d.hxx>`

Go to the source code of this file.

## Functions
void | sgGeocToGeod (double lat_geoc, double radius, double *lat_geod, double *alt, double *sea_level_r)
| Convert from geocentric coordinates to geodetic coordinates.
void | sgGeodToGeoc (double lat_geod, double alt, double *sl_radius, double *lat_geoc)
| Convert from geodetic coordinates to geocentric coordinates.
Point3D | sgGeodToCart (const Point3D &geod)
| Convert a geodetic point lon(radians), lat(radians), elev(meter) to a cartesian point.
int | geo_direct_wgs_84 (double alt, double lat1, double lon1, double az1, double s, double *lat2, double *lon2, double *az2)
| Given a starting position and an offset radial and distance, calculate an ending positon on a wgs84 ellipsoid.
int | geo_inverse_wgs_84 (double alt, double lat1, double lon1, double lat2, double lon2, double *az1, double *az2, double *s)

## Detailed Description

Routines to convert between geodetic and geocentric coordinate systems.

Copied and adapted directly from LaRCsim/ls_geodesy.c

Definition in file sg_geodesy.hxx.

## Function Documentation

int geo_direct_wgs_84 | ( | double | alt,
|  | double | lat1,
|  | double | lon1,
|  | double | az1,
|  | double | s,
|  | double * | lat2,
|  | double * | lon2,
|  | double * | az2
| ) |

  | Given a starting position and an offset radial and distance, calculate an ending positon on a wgs84 ellipsoid. Parameters:
  alt | (in) meters
  lat1 | (in) degrees
  lon1 | (in) degrees
  az1 | (in) degrees
  s | (in) distance in meters
  lat2 | (out) degrees
  lon2 | (out) degrees
  az2 | (out) return course in degrees
Definition at line 196 of file sg_geodesy.cxx.

void sgGeocToGeod | ( | double | lat_geoc,
|  | double | radius,
|  | double * | lat_geod,
|  | double * | alt,
|  | double * | sea_level_r
| ) |

  | Convert from geocentric coordinates to geodetic coordinates. Parameters:
  lat_geoc | (in) Geocentric latitude, radians, + = North
  radius | (in) C.G. radius to earth center (meters)
  lat_geod | (out) Geodetic latitude, radians, + = North
  alt | (out) C.G. altitude above mean sea level (meters)
  sea_level_r | (out) radius from earth center to sea level at local vertical (surface normal) of C.G. (meters)
Definition at line 50 of file sg_geodesy.cxx.

Point3D sgGeodToCart | ( | const Point3D & | geod | ) | `[inline]`

  | Convert a geodetic point lon(radians), lat(radians), elev(meter) to a cartesian point. Parameters:
  geodetic | point
Returns: cartesian point Definition at line 56 of file sg_geodesy.hxx. References Point3D::lat(), Point3D::lon(), Point3D::radius(), and sgPolarToCart3d().

void sgGeodToGeoc | ( | double | lat_geod,
|  | double | alt,
|  | double * | sl_radius,
|  | double * | lat_geoc
| ) |

  | Convert from geodetic coordinates to geocentric coordinates. Parameters:
  lat_geod | (in) Geodetic latitude, radians, + = North
  alt | (in) C.G. altitude above mean sea level (meters)
  sl_radius | (out) SEA LEVEL radius to earth center (meters) (add Altitude to get true distance from earth center.
  lat_geoc | (out) Geocentric latitude, radians, + = North
Definition at line 137 of file sg_geodesy.cxx.

@ 1.3 log @Oops, try again. @ text @d318 1 a318 1