This file is a subset of routines that will be used to create and list the datum coordinate shift formulas. More...
Go to the source code of this file.
Defines | |
#define | degree_to_rad (vnl_math::pi_over_180) |
#define | dcos(x) vcl_cos((x)*vnl_math::pi_over_180) |
#define | dsin(x) vcl_sin((x)*vnl_math::pi_over_180) |
#define | EPSILON 1.0e-12 |
Functions | |
double | ipow (double x, int i) |
void | wgs72_to_wgs84_deltas (double phi, double *delta_phi, double *delta_lamda, double *delta_hgt) |
void | wgs72_to_wgs84 (double phi, double lamda, double height, double *wgs84_phi, double *wgs84_lamda, double *wgs84_hgt) |
elev new (meters) | |
void | wgs84_to_wgs72 (double phi, double lamda, double height, double *wgs72_phi, double *wgs72_lamda, double *wgs72_hgt) |
elev new (meters) | |
void | nad27m_to_wgs84_deltas (double phi, double lamda, double, double *delta_phi, double *delta_lamda, double *delta_hgt) |
void | nad27m_to_wgs84 (double phi, double lamda, double height, double *wgs84_phi, double *wgs84_lamda, double *wgs84_hgt) |
elev new (meters) | |
void | wgs84_to_nad27m (double phi, double lamda, double height, double *nad27m_phi, double *nad27m_lamda, double *nad27m_hgt) |
elev new (meters) | |
void | nad27n_to_wgs84_deltas (double phi, double lamda, double, double *delta_phi, double *delta_lamda, double *delta_hgt) |
void | nad27n_to_wgs84 (double phi, double lamda, double height, double *wgs84_phi, double *wgs84_lamda, double *wgs84_hgt) |
elev new (meters) | |
void | wgs84_to_nad27n (double phi, double lamda, double height, double *nad27n_phi, double *nad27n_lamda, double *nad27n_hgt) |
elev new (meters) | |
void | nad27n_to_wgs84_alternate (double nad27_lat, double nad27_lon, double nad27_el, double *wgs84_lat, double *wgs84_lon, double *wgs84_el) |
void | wgs84_to_nad27n_alternate (double wgs84_lat, double wgs84_lon, double wgs84_el, double *nad27n_lat, double *nad27n_lon, double *nad27n_el) |
double | geo_detic2centric (double geodetic_lat, double A, double B) |
Major and minor axes of earth. | |
double | geo_centric2detic (double geocentric_lat, double A, double B) |
void | GRS_to_latlong (double x, double y, double z, double *geodetic_lat, double *lon, double *el, double A, double B) |
Major and minor axes of earth. | |
void | latlong_to_GRS (double geodetic_lat, double lon, double el, double *x, double *y, double *z, double A, double B) |
Major and minor axes of earth. | |
void | nad27n_to_wgs72 (double phi, double lamda, double height, double *wgs72_phi, double *wgs72_lamda, double *wgs72_hgt) |
elev in wgs72 (meters) | |
void | wgs72_to_nad27n (double phi, double lamda, double height, double *nad27n_phi, double *nad27n_lamda, double *nad27n_hgt) |
elev in nad27n (meters) |
This file is a subset of routines that will be used to create and list the datum coordinate shift formulas.
Included are the following examples of datum shifts, demonstrating the functionality of these routines.
These datum shifts have the following interesting property:
TO GET: WGS84 from NAD27 -> compute d_lat, d_lon, d_H using NAD27 lat/lon, THEN lat(WGS84) = lat(NAD27)+d_lat lon(WGS84) = lon(NAD27)+d_lon elev(WGS84) = elev(NAD27)+d_H
TO GET: NAD27 from WGS84 -> compute d_lat, d_lon, d_H using WGS84 lat/lon, THEN lat(NAD27) = lat(WGS84)-d_lat lon(NAD27) = lon(WGS84)-d_lon <- note "-" signs elev(NAD27) = elev(WGS84)-d_H
Definition in file vpgl_datum_conversion.cxx.
#define dcos | ( | x | ) | vcl_cos((x)*vnl_math::pi_over_180) |
Definition at line 31 of file vpgl_datum_conversion.cxx.
#define degree_to_rad (vnl_math::pi_over_180) |
Definition at line 30 of file vpgl_datum_conversion.cxx.
#define dsin | ( | x | ) | vcl_sin((x)*vnl_math::pi_over_180) |
Definition at line 32 of file vpgl_datum_conversion.cxx.
#define EPSILON 1.0e-12 |
Definition at line 33 of file vpgl_datum_conversion.cxx.
double geo_centric2detic | ( | double | geocentric_lat, |
double | A, | ||
double | B | ||
) |
geocentric_lat | geocentric latitude of input point |
B | Major and minor axes of earth |
Definition at line 864 of file vpgl_datum_conversion.cxx.
double geo_detic2centric | ( | double | geodetic_lat, |
double | A, | ||
double | B | ||
) |
Major and minor axes of earth.
geodetic_lat | geodetic latitude of input point |
B | Major and minor axes of earth |
Definition at line 853 of file vpgl_datum_conversion.cxx.
void GRS_to_latlong | ( | double | x, |
double | y, | ||
double | z, | ||
double * | geodetic_lat, | ||
double * | lon, | ||
double * | el, | ||
double | A, | ||
double | B | ||
) |
Major and minor axes of earth.
< used in iteration
< Local distance to earth center
< dist in x-y plane
< eccentricity square
z | Input GRS coords |
el | output coordinates of point |
B | Major and minor axes of earth |
Definition at line 891 of file vpgl_datum_conversion.cxx.
double ipow | ( | double | x, |
int | i | ||
) |
Definition at line 36 of file vpgl_datum_conversion.cxx.
void latlong_to_GRS | ( | double | geodetic_lat, |
double | lon, | ||
double | el, | ||
double * | x, | ||
double * | y, | ||
double * | z, | ||
double | A, | ||
double | B | ||
) |
Major and minor axes of earth.
< Local distance to earth center
el | Input coordinates of point |
z | Output GRS coords |
B | Major and minor axes of earth |
Definition at line 956 of file vpgl_datum_conversion.cxx.
void nad27m_to_wgs84 | ( | double | phi, |
double | lamda, | ||
double | height, | ||
double * | wgs84_phi, | ||
double * | wgs84_lamda, | ||
double * | wgs84_hgt | ||
) |
elev new (meters)
phi | input lat, lon, elev coord (degrees) |
wgs84_phi | lat shift (degrees) |
wgs84_lamda | lon shift (degrees) |
wgs84_hgt | elev shift (meters) |
Definition at line 193 of file vpgl_datum_conversion.cxx.
void nad27m_to_wgs84_deltas | ( | double | phi, |
double | lamda, | ||
double | , | ||
double * | delta_phi, | ||
double * | delta_lamda, | ||
double * | delta_hgt | ||
) |
phi | input lat (degrees) |
lamda | input lon (degrees) |
delta_phi | lat shift (arc sec) |
delta_lamda | lon shift (arc sec) |
delta_hgt | elev shift (meters) |
Definition at line 143 of file vpgl_datum_conversion.cxx.
void nad27n_to_wgs72 | ( | double | phi, |
double | lamda, | ||
double | height, | ||
double * | wgs72_phi, | ||
double * | wgs72_lamda, | ||
double * | wgs72_hgt | ||
) |
elev in wgs72 (meters)
phi | input lat, lon, elev coord (degrees) |
wgs72_phi | lat in wgs72 (degrees) |
wgs72_lamda | lon in wgs72 (degrees) |
wgs72_hgt | elev in wgs72 (meters) |
Definition at line 995 of file vpgl_datum_conversion.cxx.
void nad27n_to_wgs84 | ( | double | phi, |
double | lamda, | ||
double | height, | ||
double * | wgs84_phi, | ||
double * | wgs84_lamda, | ||
double * | wgs84_hgt | ||
) |
elev new (meters)
phi | input lat, lon, elev coord (degrees) |
wgs84_phi | lat shift (degrees) |
wgs84_lamda | lon shift (degrees) |
wgs84_hgt | elev shift (meters) |
Definition at line 287 of file vpgl_datum_conversion.cxx.
void nad27n_to_wgs84_alternate | ( | double | nad27_lat, |
double | nad27_lon, | ||
double | nad27_el, | ||
double * | wgs84_lat, | ||
double * | wgs84_lon, | ||
double * | wgs84_el | ||
) |
Definition at line 344 of file vpgl_datum_conversion.cxx.
void nad27n_to_wgs84_deltas | ( | double | phi, |
double | lamda, | ||
double | , | ||
double * | delta_phi, | ||
double * | delta_lamda, | ||
double * | delta_hgt | ||
) |
phi | input lat (degrees) |
lamda | input lon (degrees) |
delta_phi | lat shift (arc sec) |
delta_lamda | lon shift (arc sec) |
delta_hgt | elev shift (meters) |
Definition at line 239 of file vpgl_datum_conversion.cxx.
void wgs72_to_nad27n | ( | double | phi, |
double | lamda, | ||
double | height, | ||
double * | nad27n_phi, | ||
double * | nad27n_lamda, | ||
double * | nad27n_hgt | ||
) |
elev in nad27n (meters)
phi | input lat, lon, elev coord (degrees) |
nad27n_phi | lat in nad27n (degrees) |
nad27n_lamda | lon in nad27n (degrees) |
nad27n_hgt | elev in nad27n (meters) |
Definition at line 1018 of file vpgl_datum_conversion.cxx.
void wgs72_to_wgs84 | ( | double | phi, |
double | lamda, | ||
double | height, | ||
double * | wgs84_phi, | ||
double * | wgs84_lamda, | ||
double * | wgs84_hgt | ||
) |
elev new (meters)
phi | input lat, lon, elev coord (degrees) |
wgs84_phi | lat shift (degrees) |
wgs84_lamda | lon shift (degrees) |
wgs84_hgt | elev shift (meters) |
Definition at line 98 of file vpgl_datum_conversion.cxx.
void wgs72_to_wgs84_deltas | ( | double | phi, |
double * | delta_phi, | ||
double * | delta_lamda, | ||
double * | delta_hgt | ||
) |
phi | input lat (degrees) |
delta_phi | lat shift (degrees) |
delta_lamda | lon shift (degrees) |
delta_hgt | elev shift (meters) |
Definition at line 52 of file vpgl_datum_conversion.cxx.
void wgs84_to_nad27m | ( | double | phi, |
double | lamda, | ||
double | height, | ||
double * | nad27m_phi, | ||
double * | nad27m_lamda, | ||
double * | nad27m_hgt | ||
) |
elev new (meters)
phi | input lat, lon, elev coord (degrees) |
nad27m_phi | lat shift (degrees) |
nad27m_lamda | lon shift (degrees) |
nad27m_hgt | elev shift (meters) |
Definition at line 216 of file vpgl_datum_conversion.cxx.
void wgs84_to_nad27n | ( | double | phi, |
double | lamda, | ||
double | height, | ||
double * | nad27n_phi, | ||
double * | nad27n_lamda, | ||
double * | nad27n_hgt | ||
) |
elev new (meters)
phi | input lat, lon, elev coord (degrees) |
nad27n_phi | lat shift (degrees) |
nad27n_lamda | lon shift (degrees) |
nad27n_hgt | elev shift (meters) |
Definition at line 309 of file vpgl_datum_conversion.cxx.
void wgs84_to_nad27n_alternate | ( | double | wgs84_lat, |
double | wgs84_lon, | ||
double | wgs84_el, | ||
double * | nad27n_lat, | ||
double * | nad27n_lon, | ||
double * | nad27n_el | ||
) |
Definition at line 600 of file vpgl_datum_conversion.cxx.
void wgs84_to_wgs72 | ( | double | phi, |
double | lamda, | ||
double | height, | ||
double * | wgs72_phi, | ||
double * | wgs72_lamda, | ||
double * | wgs72_hgt | ||
) |
elev new (meters)
phi | input lat, lon, elev coord (degrees) |
wgs72_phi | lat shift (degrees) |
wgs72_lamda | lon shift (degrees) |
wgs72_hgt | elev shift (meters) |
Definition at line 120 of file vpgl_datum_conversion.cxx.