34 inline TCoords(
const int _deg,
const int _min,
const double _sec ) { setDegMinSec(_deg,_min,_sec); }
35 inline TCoords(
const double dec ) { setFromDecimal(dec); }
39 inline operator double(
void)
const {
return decimal_value; }
42 inline operator double& (
void) {
return decimal_value; }
51 inline void getDegMinSec(
int °rees,
int &minutes,
double &seconds)
const 53 double aux = std::abs(decimal_value);
55 minutes = (int)((aux - degrees)*60.0f);
56 seconds = ((aux - degrees)*60.0f - minutes)*60.0f;
57 if( decimal_value<0 ) degrees = -degrees;
61 inline void setDegMinSec(
const int degrees,
const int minutes,
const double seconds)
63 decimal_value = std::abs(degrees)+minutes/60.0+seconds/3600.0;
64 if(degrees<0) decimal_value = - decimal_value;
72 getDegMinSec( deg,
min,sec);
85 inline TEllipsoid() : sa( 6378137.0 ), sb( 6356752.314245 ),
name(
"WGS84") {}
147 const double _dX,
const double _dY,
const double _dZ,
148 const double _Rx,
const double _Ry,
const double _Rz,
150 dX(_dX), dY(_dY), dZ(_dZ)
162 double m11, m12, m13, m21, m22, m23, m31, m32,
m33;
166 const double _dX,
const double _dY,
const double _dZ,
167 const double _m11,
const double _m12,
const double _m13,
168 const double _m21,
const double _m22,
const double _m23,
169 const double _m31,
const double _m32,
const double _m33,
171 dX(_dX), dY(_dY), dZ(_dZ), m11(_m11), m12(_m12), m13(_m13), m21(_m21), m22(_m22), m23(_m23), m31(_m31), m32(_m32), m33(_m33)
189 const double _dX,
const double _dY,
const double _dZ,
190 const double _Xp,
const double _Yp,
const double _Zp,
191 const double _Rx,
const double _Ry,
const double _Rz,
193 dX(_dX), dY(_dY), dZ(_dZ), Xp(_Xp), Yp(_Yp), Zp(_Zp)
213 const double _dX,
const double _dY,
214 const double _alpha,
const double _dS,
215 const double _Xp,
const double _Yp ) :
216 dX(_dX), dY(_dY), Xp(_Xp), Yp(_Yp)
228 const double _a,
const double _b,
229 const double _c,
const double _d ) :
230 a(_a),
b(_b),
c(_c), d(_d) {}
244 const double _dX,
const double _dY,
const double _dZ,
245 const double _Rx,
const double _Ry,
const double _Rz,
247 dX(_dX), dY(_dY), dZ(_dZ)
264 const double _a,
const double _b,
const double _c,
265 const double _d,
const double _e,
const double _f,
const double _g ) :
266 a(_a),
b(_b),
c(_c), d(_d), e(_e), f(_f),
g(_g) { }
278 const double _dX,
const double _dY,
const double _DZ,
280 dX(_dX), dY(_dY), DZ(_DZ)
296 const double _dX,
const double _dY,
297 const double _dSx,
const double _dSy,
const double _beta ) :
double sa
largest semiaxis of the reference ellipsoid (in meters)
GLclampf GLclampf GLclampf alpha
static TEllipsoid Ellipsoid_Fischer_1968()
double getDecimalValue() const
Get the decimal value (XX.YYYYY), in degrees - you can also use the automatic conversion between TCoo...
static TEllipsoid Ellipsoid_Fischer_1960()
static TEllipsoid Ellipsoid_Sudamericano_1969()
static TEllipsoid Ellipsoid_Airy_1830()
TDatum1DTransf(const double _dX, const double _dY, const double _DZ, const double _dS)
double dS
Scale factor (in ppm) (Scale is 1+dS/1e6)
double DEG2RAD(const double x)
Degrees to radians.
Parameters for a topographic transfomation.
TDatum7Params(const double _dX, const double _dY, const double _dZ, const double _Rx, const double _Ry, const double _Rz, const double _dS)
Parameters for a topographic transfomation.
double Rz
Rotation components.
std::string name
the ellipsoid name
TDatumHelmert3D(const double _dX, const double _dY, const double _dZ, const double _Rx, const double _Ry, const double _Rz, const double _dS)
A set of geodetic coordinates: latitude, longitude and height, defined over a given geoid (typically...
double Rz
Rotation components (in secs)
double dS
Scale factor (in ppm) (Scale is 1+dS/1e6)
TEllipsoid(const double _sa, const double _sb, const std::string &_name)
bool TOPO_IMPEXP operator!=(const TCoords &a, const TCoords &o)
double dSy
Scale factor in X and Y.
bool TOPO_IMPEXP operator==(const TCoords &a, const TCoords &o)
double dS
Scale factor (Scale is 1+dS)
static TEllipsoid Ellipsoid_Krasovsky_1940()
void getDegMinSec(int °rees, int &minutes, double &seconds) const
Return the Deg Min' Sec'' representation of this value.
void setFromDecimal(const double dec)
Set from a decimal value (XX.YYYYY) in degrees.
A coordinate that is stored as a simple "decimal" angle in degrees, but can be retrieved/set in the f...
std::string getAsString() const
Return a std::string in the format "DEGdeg MIN' SEC''".
TDatumHelmert2D_TOPCON(const double _a, const double _b, const double _c, const double _d)
Parameters for a topographic transfomation.
static TEllipsoid Ellipsoid_WGS66()
double sb
smallest semiaxis of the reference ellipsoid (in meters)
Parameters for a topographic transfomation.
double Rz
Rotation components.
static TEllipsoid Ellipsoid_Nuevo_Internacional_1967()
TCoords lon
Longitude (in degrees)
static TEllipsoid Ellipsoid_Helmert_1906()
mrpt::math::TPoint3D TGeocentricCoords
static TEllipsoid Ellipsoid_Internacional_1909()
double Zp
To be substracted to the input point.
static TEllipsoid Ellipsoid_Mercury_1960()
static TEllipsoid Ellipsoid_Mercury_Modificado_1968()
static TEllipsoid Ellipsoid_WGS72()
double dS
Scale factor (Scale is 1+dS)
static TEllipsoid Ellipsoid_Hough_1960()
static TEllipsoid Ellipsoid_Walbeck_1817()
static TEllipsoid Ellipsoid_Clarke_1880()
static TEllipsoid Ellipsoid_GRS80()
std::string BASE_IMPEXP format(const char *fmt,...) MRPT_printf_format_check(1
A std::string version of C sprintf.
GLsizei const GLchar ** string
double dS
Scale factor (Scale is 1+dS)
static TEllipsoid Ellipsoid_WGS84()
TCoords(const int _deg, const int _min, const double _sec)
TDatum10Params(const double _dX, const double _dY, const double _dZ, const double _Xp, const double _Yp, const double _Zp, const double _Rx, const double _Ry, const double _Rz, const double _dS)
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
TCoords(const double dec)
TGeodeticCoords(const double _lat, const double _lon, const double _height)
TDatumTransfInterpolation(const double _dX, const double _dY, const double _dSx, const double _dSy, const double _beta)
double beta
Distortion angle.
static TEllipsoid Ellipsoid_Hayford_1909()
Parameters for a topographic transfomation.
TDatum7Params_TOPCON(const double _dX, const double _dY, const double _dZ, const double _m11, const double _m12, const double _m13, const double _m21, const double _m22, const double _m23, const double _m31, const double _m32, const double _m33, const double _dS)
TDatumHelmert2D(const double _dX, const double _dY, const double _alpha, const double _dS, const double _Xp, const double _Yp)
std::ostream TOPO_IMPEXP & operator<<(std::ostream &out, const TCoords &o)
void setDegMinSec(const int degrees, const int minutes, const double seconds)
Set the coordinate from its Deg Min' Deg'' parts.
GLuint const GLchar * name
double height
Geodetic height (in meters)
static TEllipsoid Ellipsoid_Clarke_1866()
mrpt::math::TPoint3D TUTMCoords
static TEllipsoid Ellipsoid_Bessel_1841()
typedef void(APIENTRYP PFNGLBLENDCOLORPROC)(GLclampf red
TDatumHelmert3D_TOPCON(const double _a, const double _b, const double _c, const double _d, const double _e, const double _f, const double _g)
double decimal_value
Also obtained directly through the double(void) operator using a TCoords anywhere were a double is ex...
static TEllipsoid Ellipsoid_Internacional_1924()
GLenum GLsizei GLsizei height
Parameters for a topographic transfomation.
Parameters for a topographic transfomation.
GLubyte GLubyte GLubyte a
TCoords lat
Latitude (in degrees)
static TEllipsoid Ellipsoid_Airy_Modificado_1965()