Instances of this class are used to store a particular mapDatum and perform useful calculations based on this map – specifically it can be used to convert between geodetic and geocentric coordinates using the given reference ellipsoid (which is defined by a DtMapDatum).
More...
Protected Member Functions |
| void | initialize_ellipsoid (double a, double f) |
| void | geo_to_rad (double deg, double min, double sec, double *radian) const |
| void | rad_to_geo (double radian, double *deg, double *min, double *sec) const |
| void | geodetic_to_geocentric (double lat, double lon, double height, double *x, double *y, double *z) const |
| void | geocentric_to_geodetic (double xp, double yp, double zp, double *lat, double *lon, double *height) const |
| | Performs the transformation between geocentric and geodetic coordinate systems.
|
Instances of this class are used to store a particular mapDatum and perform useful calculations based on this map – specifically it can be used to convert between geodetic and geocentric coordinates using the given reference ellipsoid (which is defined by a DtMapDatum).
By default, VR-Link creates a global ellipsoid object that is used for geodetic coordinates conversions. However, users can choose to define and maintain their own ellipsoids and then can explicitly pass the ellipsoid to a geodetic coordinate.
Conversions between geocentric and geodetic coordinates depend on the particular MapDatum used. The default is DtWGS84, but you can set the current global MapDatum using DtUseMapDatum . See mapDatum.h for more details
| void DtReferenceEllipsoid::geocentric_to_geodetic |
( |
double |
xp, |
|
|
double |
yp, |
|
|
double |
zp, |
|
|
double * |
lat, |
|
|
double * |
lon, |
|
|
double * |
height |
|
) |
| const |
|
protected |
Performs the transformation between geocentric and geodetic coordinate systems.
This routine receives geocentric coordinates (X, Y, Z) in meters and converts it into geodetic coordinates given in latitude, longitude, and height. This algorithm uses Newton- Raphson's convergence algorithm, and will stop iteration at values less than 50 cm. Will also stop iteration when maxIteractionsForConvergence is reached.
- Exceptions
-