#include <convgeocloc.h>
Public Member Functions | |
void | print (ostream &os) const |
print transformation parameters | |
constructor/destructors | |
ConvGeocLoc () | |
default constructor | |
virtual | ~ConvGeocLoc () |
destructor | |
set/get reference point | |
Set or get the definition of the reference point B in geodetic coordinates. | |
void | set_reference_point (double bb, double lb, double hb) |
set reference point | |
void | get_reference_point (double &bb, double &lb, double &hb) const |
get reference point | |
geodetic / local topocentric coordinates conversion | |
Conversion between geodetic (b, l, h) and local topocentric (u, v, w) coordinates. | |
void | geo_to_loc (double b, double l, double h, double &u, double &v, double &w) const |
conversion from geodetic to local coordinates | |
void | loc_to_geo (double u, double v, double w, double &b, double &l, double &h) const |
conversion from local to geodetic coordinates | |
Protected Attributes | |
double | _bb |
geographic latitude of reference point B | |
double | _lb |
geographic longitude of reference point B | |
double | _hb |
ellipsoid height of reference point B | |
double | _xb |
X-coordinate of reference point B. | |
double | _yb |
Y-coordinate of reference point B. | |
double | _zb |
Z-coordinate of reference point B. | |
DRotMatrix3 | _rot_matrix |
rotation matrix |
This class provide the transformation of cartesian coordinates between the geocentric and a local topocentric location. The topocentric coordinate system is also referred as local reference system (LRS).
The origin of the local coordinate system is in reference point B. The reference point B is defined in respect to the reference ellipsoid by the geodetic coordinates bb, lb and hb.
Attention, in geodesy and surveying the local coordinate system is defined as a left-handed system!
References:
void GCL::ConvGeocLoc::set_reference_point | ( | double | bb, | |
double | lb, | |||
double | hb | |||
) |
set reference point
Geodetic coordinates of the reference point:
[in] | bb | geographic latitude |
[in] | lb | geographic longitude |
[in] | hb | ellipsoid height |
References _bb, _hb, _lb, _rot_matrix, _xb, _yb, _zb, and GCL::Ellipsoid::geo_to_cart().
void GCL::ConvGeocLoc::get_reference_point | ( | double & | bb, | |
double & | lb, | |||
double & | hb | |||
) | const |
void GCL::ConvGeocLoc::print | ( | ostream & | os | ) | const |
print transformation parameters
[out] | os | output stream |
Reimplemented from GCL::Ellipsoid.
References _bb, _hb, _lb, _xb, _yb, _zb, and GCL::Ellipsoid::print().
void GCL::ConvGeocLoc::geo_to_loc | ( | double | b, | |
double | l, | |||
double | h, | |||
double & | u, | |||
double & | v, | |||
double & | w | |||
) | const |
conversion from geodetic to local coordinates
[in] | b,l | geographic latitude and longitude |
[in] | h | ellipsoid height |
[out] | u,v,w | local coordinates |
References _rot_matrix, _xb, _yb, _zb, and GCL::Ellipsoid::geo_to_cart().
void GCL::ConvGeocLoc::loc_to_geo | ( | double | u, | |
double | v, | |||
double | w, | |||
double & | b, | |||
double & | l, | |||
double & | h | |||
) | const |
conversion from local to geodetic coordinates
[in] | u,v,w | local coordinates |
[out] | b,l | geographic latitude and longitude |
[out] | h | ellipsoid height |
References _rot_matrix, _xb, _yb, _zb, and GCL::Ellipsoid::cart_to_geo().