Geo Stars Library
0.9.3
Geodetic and Astrometry library
|
This file contains the geo library routines for conversion between Geocentric and Geodetic coordinates. These routines are optimised for quick execution at the expense of precision. More...
#include <stdio.h>
#include <math.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
#include "geoStars.h"
Go to the source code of this file.
Functions | |
void | geoEfg2Llh_fast (int datum, double efg[], double *lat, double *lon, double *hgt) |
This routine will convert earth centered Cartesian coordinates (E,F,G), into geodetic coordinates (latitude , longitude , and ellipsoid height ). More... | |
double | geoEfg2Lat_fast (int datum, double e, double f, double g) |
double | geoEfg2Lon_fast (int datum, double e, double f, double g) |
double | geoEfg2Hgt_fast (int datum, double e, double f, double g) |
void | geoEfg2Llh_hm_fast (int datum, double efg[], double *lat, double *lon, double *hgt) |
Hirvonen & Moritz Method - This routine will convert earth centered Cartesian coordinates (E,F,G), into geodetic coordinates (latitude , longitude , and ellipsoid height ). More... | |
double | geoEfg2Lat_hm_fast (int datum, double e, double f, double g) |
double | geoEfg2Lon_hm_fast (int datum, double e, double f, double g) |
double | geoEfg2Hgt_hm_fast (int datum, double e, double f, double g) |
void | geoEfg2Llh_torge_fast (int datum, double efg[], double *lat, double *lon, double *hgt) |
Torge Method - This routine will convert earth centered Cartesian coordinates (E,F,G), into geodetic coordinates (latitude , longitude , and ellipsoid height ). More... | |
double | geoEfg2Lat_torge_fast (int datum, double e, double f, double g) |
double | geoEfg2Lon_torge_fast (int datum, double e, double f, double g) |
double | geoEfg2Hgt_torge_fast (int datum, double e, double f, double g) |
void | geoEfg2Llh_bowring_fast (int datum, double efg[], double *lat, double *lon, double *hgt) |
Bowring Method - This routine will convert earth centered Cartesian coordinates (E,F,G), into geodetic coordinates (latitude , longitude , and ellipsoid height ). More... | |
double | geoEfg2Lat_bowring_fast (int datum, double e, double f, double g) |
double | geoEfg2Lon_bowring_fast (int datum, double e, double f, double g) |
double | geoEfg2Hgt_bowring_fast (int datum, double e, double f, double g) |
void | geoEfg2Llh_aa_fast (int datum, double efg[], double *lat, double *lon, double *hgt) |
Astronomical Almanac 2002 Method - This routine will convert earth centered Cartesian coordinates (E,F,G), into geodetic coordinates (latitude , longitude , and ellipsoid height ). More... | |
double | geoEfg2Lat_aa_fast (int datum, double e, double f, double g) |
double | geoEfg2Lon_aa_fast (int datum, double e, double f, double g) |
double | geoEfg2Hgt_aa_fast (int datum, double e, double f, double g) |
void | geoEfg2Llh_borkowski_fast (int datum, double efg[], double *lat, double *lon, double *hgt) |
Borkowski Method - This routine will convert earth centered Cartesian coordinates (E,F,G), into geodetic coordinates (latitude , longitude , and ellipsoid height ). More... | |
double | geoEfg2Lat_borkowski_fast (int datum, double e, double f, double g) |
double | geoEfg2Lon_borkowski_fast (int datum, double e, double f, double g) |
double | geoEfg2Hgt_borkowski_fast (int datum, double e, double f, double g) |
void | geoEfg2Llh_vermeille_fast (int datum, double efg[], double *lat, double *lon, double *hgt) |
Vermeille Method - This routine will convert earth centered Cartesian coordinates (E,F,G), into geodetic coordinates (latitude , longitude , and ellipsoid height ). More... | |
double | geoEfg2Lat_vermeille_fast (int datum, double e, double f, double g) |
double | geoEfg2Lon_vermeille_fast (int datum, double e, double f, double g) |
double | geoEfg2Hgt_vermeille_fast (int datum, double e, double f, double g) |
This file contains the geo library routines for conversion between Geocentric and Geodetic coordinates. These routines are optimised for quick execution at the expense of precision.
Methods avalailable:
Definition in file geoEfg2Llh_fast.c.
double geoEfg2Hgt_aa_fast | ( | int | datum, |
double | e, | ||
double | f, | ||
double | g | ||
) |
Definition at line 392 of file geoEfg2Llh_fast.c.
References GEO_E, GEO_F, GEO_G, and geoEfg2Llh_aa_fast().
double geoEfg2Hgt_borkowski_fast | ( | int | datum, |
double | e, | ||
double | f, | ||
double | g | ||
) |
Definition at line 489 of file geoEfg2Llh_fast.c.
References GEO_E, GEO_F, GEO_G, and geoEfg2Llh_borkowski_fast().
double geoEfg2Hgt_bowring_fast | ( | int | datum, |
double | e, | ||
double | f, | ||
double | g | ||
) |
Definition at line 318 of file geoEfg2Llh_fast.c.
References GEO_E, GEO_F, GEO_G, and geoEfg2Llh_bowring_fast().
double geoEfg2Hgt_fast | ( | int | datum, |
double | e, | ||
double | f, | ||
double | g | ||
) |
Definition at line 88 of file geoEfg2Llh_fast.c.
References GEO_E, GEO_F, GEO_G, and geoEfg2Llh_fast().
double geoEfg2Hgt_hm_fast | ( | int | datum, |
double | e, | ||
double | f, | ||
double | g | ||
) |
Definition at line 160 of file geoEfg2Llh_fast.c.
References GEO_E, GEO_F, GEO_G, and geoEfg2Llh_hm_fast().
double geoEfg2Hgt_torge_fast | ( | int | datum, |
double | e, | ||
double | f, | ||
double | g | ||
) |
Definition at line 236 of file geoEfg2Llh_fast.c.
References GEO_E, GEO_F, GEO_G, and geoEfg2Llh_torge_fast().
double geoEfg2Hgt_vermeille_fast | ( | int | datum, |
double | e, | ||
double | f, | ||
double | g | ||
) |
Definition at line 576 of file geoEfg2Llh_fast.c.
References GEO_E, GEO_F, GEO_G, and geoEfg2Llh_vermeille_fast().
double geoEfg2Lat_aa_fast | ( | int | datum, |
double | e, | ||
double | f, | ||
double | g | ||
) |
Definition at line 369 of file geoEfg2Llh_fast.c.
References GEO_E, GEO_F, GEO_G, geoEfg2Llh_aa_fast(), and RAD_TO_DEG.
double geoEfg2Lat_borkowski_fast | ( | int | datum, |
double | e, | ||
double | f, | ||
double | g | ||
) |
Definition at line 466 of file geoEfg2Llh_fast.c.
References GEO_E, GEO_F, GEO_G, geoEfg2Llh_borkowski_fast(), and RAD_TO_DEG.
double geoEfg2Lat_bowring_fast | ( | int | datum, |
double | e, | ||
double | f, | ||
double | g | ||
) |
Definition at line 295 of file geoEfg2Llh_fast.c.
References GEO_E, GEO_F, GEO_G, geoEfg2Llh_bowring_fast(), and RAD_TO_DEG.
double geoEfg2Lat_fast | ( | int | datum, |
double | e, | ||
double | f, | ||
double | g | ||
) |
Definition at line 65 of file geoEfg2Llh_fast.c.
References GEO_E, GEO_F, GEO_G, geoEfg2Llh_fast(), and RAD_TO_DEG.
double geoEfg2Lat_hm_fast | ( | int | datum, |
double | e, | ||
double | f, | ||
double | g | ||
) |
Definition at line 137 of file geoEfg2Llh_fast.c.
References GEO_E, GEO_F, GEO_G, geoEfg2Llh_hm_fast(), and RAD_TO_DEG.
double geoEfg2Lat_torge_fast | ( | int | datum, |
double | e, | ||
double | f, | ||
double | g | ||
) |
Definition at line 213 of file geoEfg2Llh_fast.c.
References GEO_E, GEO_F, GEO_G, geoEfg2Llh_torge_fast(), and RAD_TO_DEG.
double geoEfg2Lat_vermeille_fast | ( | int | datum, |
double | e, | ||
double | f, | ||
double | g | ||
) |
Definition at line 553 of file geoEfg2Llh_fast.c.
References GEO_E, GEO_F, GEO_G, geoEfg2Llh_vermeille_fast(), and RAD_TO_DEG.
void geoEfg2Llh_aa_fast | ( | int | datum, |
double | efg[], | ||
double * | lat, | ||
double * | lon, | ||
double * | hgt | ||
) |
Astronomical Almanac 2002 Method - This routine will convert earth centered Cartesian coordinates (E,F,G), into geodetic coordinates (latitude , longitude , and ellipsoid height ).
int | datum |
double | efg[] : EFG(xyz) in METERS |
double | *lat : Latitude in RADIANS |
double | *lon : Longitude in RADIANS |
double | *hgt : Height in METERS |
Definition at line 347 of file geoEfg2Llh_fast.c.
References GEO_E, GEO_F, GEO_G, GEO_WGS84_a, GEO_WGS84_e2, n(), p, and sqr.
Referenced by geoEfg2Hgt_aa_fast(), geoEfg2Lat_aa_fast(), and geoEfg2Lon_aa_fast().
void geoEfg2Llh_borkowski_fast | ( | int | datum, |
double | efg[], | ||
double * | lat, | ||
double * | lon, | ||
double * | hgt | ||
) |
Borkowski Method - This routine will convert earth centered Cartesian coordinates (E,F,G), into geodetic coordinates (latitude , longitude , and ellipsoid height ).
int | datum |
double | efg[] : EFG(xyz) in METERS |
double | *lat : Latitude in RADIANS |
double | *lon : Longitude in RADIANS |
double | *hgt : Height in METERS |
Definition at line 420 of file geoEfg2Llh_fast.c.
References cube, GEO_E, GEO_F, GEO_G, GEO_WGS84_a, GEO_WGS84_b, p, and sqr.
Referenced by geoEfg2Hgt_borkowski_fast(), geoEfg2Lat_borkowski_fast(), and geoEfg2Lon_borkowski_fast().
void geoEfg2Llh_bowring_fast | ( | int | datum, |
double | efg[], | ||
double * | lat, | ||
double * | lon, | ||
double * | hgt | ||
) |
Bowring Method - This routine will convert earth centered Cartesian coordinates (E,F,G), into geodetic coordinates (latitude , longitude , and ellipsoid height ).
int | datum |
double | efg[] : EFG(xyz) in METERS |
double | *lat : Latitude in RADIANS |
double | *lon : Longitude in RADIANS |
double | *hgt : Height in METERS |
Definition at line 264 of file geoEfg2Llh_fast.c.
References cube, GEO_E, GEO_F, GEO_G, GEO_WGS84_a, GEO_WGS84_b, GEO_WGS84_e2, GEO_WGS84_ee2, n(), p, and sqr.
Referenced by geoEfg2Hgt_bowring_fast(), geoEfg2Lat_bowring_fast(), and geoEfg2Lon_bowring_fast().
void geoEfg2Llh_fast | ( | int | datum, |
double | efg[], | ||
double * | lat, | ||
double * | lon, | ||
double * | hgt | ||
) |
This routine will convert earth centered Cartesian coordinates (E,F,G), into geodetic coordinates (latitude , longitude , and ellipsoid height ).
int | datum |
double | efg[] : EFG(xyz) in METERS |
double | *lat : Latitude in RADIANS |
double | *lon : Longitude in RADIANS |
double | *hgt : Height in METERS |
Definition at line 40 of file geoEfg2Llh_fast.c.
References cube, GEO_E, GEO_F, GEO_G, GEO_WGS84_a, GEO_WGS84_b, GEO_WGS84_e2, GEO_WGS84_ee2, p, and sqr.
Referenced by geoEfg2Hgt_fast(), geoEfg2Lat_fast(), and geoEfg2Lon_fast().
void geoEfg2Llh_hm_fast | ( | int | datum, |
double | efg[], | ||
double * | lat, | ||
double * | lon, | ||
double * | hgt | ||
) |
Hirvonen & Moritz Method - This routine will convert earth centered Cartesian coordinates (E,F,G), into geodetic coordinates (latitude , longitude , and ellipsoid height ).
int | datum |
double | efg[] : EFG(xyz) in METERS |
double | *lat : Latitude in RADIANS |
double | *lon : Longitude in RADIANS |
double | *hgt : Height in METERS |
Definition at line 116 of file geoEfg2Llh_fast.c.
References GEO_E, GEO_F, GEO_G, GEO_WGS84_a, GEO_WGS84_e2, n(), p, and sqr.
Referenced by geoEfg2Hgt_hm_fast(), geoEfg2Lat_hm_fast(), and geoEfg2Lon_hm_fast().
void geoEfg2Llh_torge_fast | ( | int | datum, |
double | efg[], | ||
double * | lat, | ||
double * | lon, | ||
double * | hgt | ||
) |
Torge Method - This routine will convert earth centered Cartesian coordinates (E,F,G), into geodetic coordinates (latitude , longitude , and ellipsoid height ).
int | datum |
double | efg[] : EFG(xyz) in METERS |
double | *lat : Latitude in RADIANS |
double | *lon : Longitude in RADIANS |
double | *hgt : Height in METERS |
Definition at line 188 of file geoEfg2Llh_fast.c.
References GEO_E, GEO_F, GEO_G, GEO_WGS84_a, GEO_WGS84_e2, n(), p, and sqr.
Referenced by geoEfg2Hgt_torge_fast(), geoEfg2Lat_torge_fast(), and geoEfg2Lon_torge_fast().
void geoEfg2Llh_vermeille_fast | ( | int | datum, |
double | efg[], | ||
double * | lat, | ||
double * | lon, | ||
double * | hgt | ||
) |
Vermeille Method - This routine will convert earth centered Cartesian coordinates (E,F,G), into geodetic coordinates (latitude , longitude , and ellipsoid height ).
int | datum |
double | efg[] : EFG(xyz) in METERS |
double | *lat : Latitude in RADIANS |
double | *lon : Longitude in RADIANS |
double | *hgt : Height in METERS |
Definition at line 517 of file geoEfg2Llh_fast.c.
References cube, GEO_E, GEO_F, GEO_G, GEO_WGS84_a, GEO_WGS84_e2, k, p, and sqr.
Referenced by geoEfg2Hgt_vermeille_fast(), geoEfg2Lat_vermeille_fast(), and geoEfg2Lon_vermeille_fast().
double geoEfg2Lon_aa_fast | ( | int | datum, |
double | e, | ||
double | f, | ||
double | g | ||
) |
Definition at line 381 of file geoEfg2Llh_fast.c.
References GEO_E, GEO_F, GEO_G, geoEfg2Llh_aa_fast(), and RAD_TO_DEG.
double geoEfg2Lon_borkowski_fast | ( | int | datum, |
double | e, | ||
double | f, | ||
double | g | ||
) |
Definition at line 478 of file geoEfg2Llh_fast.c.
References GEO_E, GEO_F, GEO_G, geoEfg2Llh_borkowski_fast(), and RAD_TO_DEG.
double geoEfg2Lon_bowring_fast | ( | int | datum, |
double | e, | ||
double | f, | ||
double | g | ||
) |
Definition at line 307 of file geoEfg2Llh_fast.c.
References GEO_E, GEO_F, GEO_G, geoEfg2Llh_bowring_fast(), and RAD_TO_DEG.
double geoEfg2Lon_fast | ( | int | datum, |
double | e, | ||
double | f, | ||
double | g | ||
) |
Definition at line 77 of file geoEfg2Llh_fast.c.
References GEO_E, GEO_F, GEO_G, geoEfg2Llh_fast(), and RAD_TO_DEG.
double geoEfg2Lon_hm_fast | ( | int | datum, |
double | e, | ||
double | f, | ||
double | g | ||
) |
Definition at line 149 of file geoEfg2Llh_fast.c.
References GEO_E, GEO_F, GEO_G, geoEfg2Llh_hm_fast(), and RAD_TO_DEG.
double geoEfg2Lon_torge_fast | ( | int | datum, |
double | e, | ||
double | f, | ||
double | g | ||
) |
Definition at line 225 of file geoEfg2Llh_fast.c.
References GEO_E, GEO_F, GEO_G, geoEfg2Llh_torge_fast(), and RAD_TO_DEG.
double geoEfg2Lon_vermeille_fast | ( | int | datum, |
double | e, | ||
double | f, | ||
double | g | ||
) |
Definition at line 565 of file geoEfg2Llh_fast.c.
References GEO_E, GEO_F, GEO_G, geoEfg2Llh_vermeille_fast(), and RAD_TO_DEG.