35 inline TCoords(
const int _deg,
const int _min,
const double _sec)
51 inline void getDegMinSec(
int& degrees,
int& minutes,
double& seconds)
const
55 minutes = (int)((aux - degrees) * 60.0f);
56 seconds = ((aux - degrees) * 60.0f - minutes) * 60.0f;
62 const int degrees,
const int minutes,
const double seconds)
64 decimal_value = std::abs(degrees) + minutes / 60.0 + seconds / 3600.0;
78 bool operator==(
const TCoords&
a,
const TCoords& o);
79 bool operator!=(
const TCoords&
a,
const TCoords& o);
81 std::ostream&
operator<<(std::ostream& out,
const TCoords& o);
87 const double _sa,
const double _sb,
const std::string& _name)
101 return TEllipsoid(6378137.000, 6356752.314245,
"WGS84");
105 return TEllipsoid(6378135.000, 6356750.519915,
"WGS72");
109 return TEllipsoid(6378145.000, 6356759.769356,
"WGS66");
113 return TEllipsoid(6376896.000, 6355834.846700,
"Walbeck_1817");
117 return TEllipsoid(6378160.000, 6356774.720000,
"Sudamericano_1969");
122 6378157.500, 6356772.200000,
"Nuevo_Internacional_1967");
127 6378150.000, 6356768.337303,
"Mercury_Modificado_1968");
131 return TEllipsoid(6378166.000, 6356784.283666,
"Mercury_1960");
135 return TEllipsoid(6378245.000, 6356863.018800,
"Krasovsky_1940");
139 return TEllipsoid(6378388.000, 6356911.946130,
"Internacional_1924");
143 return TEllipsoid(6378388.000, 6356911.946130,
"Internacional_1909");
147 return TEllipsoid(6378270.000, 6356794.343479,
"Hough_1960");
151 return TEllipsoid(6378200.000, 6356818.170000,
"Helmert_1906");
155 return TEllipsoid(6378388.000, 6356911.946130,
"Hayford_1909");
159 return TEllipsoid(6378137.000, 6356752.314140,
"GRS80");
163 return TEllipsoid(6378150.000, 6356768.330000,
"Fischer_1968");
167 return TEllipsoid(6378166.000, 6356784.280000,
"Fischer_1960");
171 return TEllipsoid(6378249.145, 6356514.869550,
"Clarke_1880");
175 return TEllipsoid(6378206.400, 6356583.800000,
"Clarke_1866");
179 return TEllipsoid(6377397.155, 6356078.962840,
"Bessel_1841");
183 return TEllipsoid(6377340.189, 6356034.447900,
"Airy_Modificado_1965");
187 return TEllipsoid(6377563.396, 6356256.910000,
"Airy_1830");
234 const double _dX,
const double _dY,
const double _dZ,
const double _Rx,
235 const double _Ry,
const double _Rz,
const double _dS)
236 :
dX(_dX),
dY(_dY),
dZ(_dZ)
254 const double _dX,
const double _dY,
const double _dZ,
const double _m11,
255 const double _m12,
const double _m13,
const double _m21,
256 const double _m22,
const double _m23,
const double _m31,
257 const double _m32,
const double _m33,
const double _dS)
290 const double _dX,
const double _dY,
const double _dZ,
const double _Xp,
291 const double _Yp,
const double _Zp,
const double _Rx,
const double _Ry,
292 const double _Rz,
const double _dS)
314 const double _dX,
const double _dY,
const double _alpha,
315 const double _dS,
const double _Xp,
const double _Yp)
316 :
dX(_dX),
dY(_dY),
Xp(_Xp),
Yp(_Yp)
328 const double _a,
const double _b,
const double _c,
const double _d)
329 :
a(_a),
b(_b),
c(_c),
d(_d)
347 const double _dX,
const double _dY,
const double _dZ,
const double _Rx,
348 const double _Ry,
const double _Rz,
const double _dS)
349 :
dX(_dX),
dY(_dY),
dZ(_dZ)
366 const double _a,
const double _b,
const double _c,
const double _d,
367 const double _e,
const double _f,
const double _g)
368 :
a(_a),
b(_b),
c(_c),
d(_d),
e(_e),
f(_f),
g(_g)
384 const double _dX,
const double _dY,
const double _DZ,
const double _dS)
385 :
dX(_dX),
dY(_dY),
DZ(_DZ)
404 const double _dX,
const double _dY,
const double _dSx,
405 const double _dSy,
const double _beta)
typedef void(APIENTRYP PFNGLBLENDCOLORPROC)(GLclampf red
GLclampf GLclampf GLclampf alpha
GLubyte GLubyte GLubyte a
GLuint const GLchar * name
GLenum GLsizei GLsizei height
GLsizei const GLchar ** string
mrpt::math::TPoint3D TUTMCoords
std::ostream & operator<<(std::ostream &out, const TCoords &o)
bool operator!=(const TCoords &a, const TCoords &o)
mrpt::math::TPoint3D TGeocentricCoords
bool operator==(const TCoords &a, const TCoords &o)
double DEG2RAD(const double x)
Degrees to radians.
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
std::string format(const char *fmt,...) MRPT_printf_format_check(1
A std::string version of C sprintf.
A coordinate that is stored as a simple "decimal" angle in degrees, but can be retrieved/set in the f...
void setFromDecimal(const double dec)
Set from a decimal value (XX.YYYYY) in degrees.
TCoords(const int _deg, const int _min, const double _sec)
double getDecimalValue() const
Get the decimal value (XX.YYYYY), in degrees - you can also use the automatic conversion between TCoo...
void getDegMinSec(int °rees, int &minutes, double &seconds) const
Return the Deg Min' Sec'' representation of this value.
std::string getAsString() const
Return a std::string in the format "DEGdeg MIN' SEC''".
TCoords(const double dec)
void setDegMinSec(const int degrees, const int minutes, const double seconds)
Set the coordinate from its Deg Min' Deg'' parts.
double decimal_value
Also obtained directly through the double(void) operator using a TCoords anywhere were a double is ex...
Parameters for a topographic transfomation.
double dS
Scale factor (Scale is 1+dS)
double Xp
To be substracted to the input point.
double Rx
Rotation components.
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)
Parameters for a topographic transfomation.
double dS
Scale factor (Scale is 1+dS)
TDatum1DTransf(const double _dX, const double _dY, const double _DZ, const double _dS)
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)
double dS
Scale factor (in ppm) (Scale is 1+dS/1e6)
Parameters for a topographic transfomation.
double dS
Scale factor (in ppm) (Scale is 1+dS/1e6)
double Rx
Rotation components (in secs)
TDatum7Params(const double _dX, const double _dY, const double _dZ, const double _Rx, const double _Ry, const double _Rz, const double _dS)
TDatumHelmert2D_TOPCON(const double _a, const double _b, const double _c, const double _d)
Parameters for a topographic transfomation.
TDatumHelmert2D(const double _dX, const double _dY, const double _alpha, const double _dS, const double _Xp, const double _Yp)
Parameters for a topographic transfomation.
TDatumHelmert3D_TOPCON(const double _a, const double _b, const double _c, const double _d, const double _e, const double _f, const double _g)
Parameters for a topographic transfomation.
double dS
Scale factor (Scale is 1+dS)
double Rx
Rotation components.
TDatumHelmert3D(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.
TDatumTransfInterpolation(const double _dX, const double _dY, const double _dSx, const double _dSy, const double _beta)
double beta
Distortion angle.
double dSx
Scale factor in X and Y.
static TEllipsoid Ellipsoid_WGS84()
static TEllipsoid Ellipsoid_Mercury_1960()
static TEllipsoid Ellipsoid_Walbeck_1817()
static TEllipsoid Ellipsoid_Fischer_1968()
static TEllipsoid Ellipsoid_Nuevo_Internacional_1967()
static TEllipsoid Ellipsoid_Clarke_1880()
static TEllipsoid Ellipsoid_Clarke_1866()
static TEllipsoid Ellipsoid_Krasovsky_1940()
static TEllipsoid Ellipsoid_WGS72()
static TEllipsoid Ellipsoid_Internacional_1924()
static TEllipsoid Ellipsoid_Hough_1960()
static TEllipsoid Ellipsoid_Bessel_1841()
static TEllipsoid Ellipsoid_Airy_1830()
static TEllipsoid Ellipsoid_Internacional_1909()
TEllipsoid(const double _sa, const double _sb, const std::string &_name)
static TEllipsoid Ellipsoid_Hayford_1909()
static TEllipsoid Ellipsoid_Fischer_1960()
std::string name
the ellipsoid name
static TEllipsoid Ellipsoid_GRS80()
static TEllipsoid Ellipsoid_Helmert_1906()
static TEllipsoid Ellipsoid_Sudamericano_1969()
static TEllipsoid Ellipsoid_WGS66()
double sa
largest semiaxis of the reference ellipsoid (in meters)
double sb
smallest semiaxis of the reference ellipsoid (in meters)
static TEllipsoid Ellipsoid_Airy_Modificado_1965()
static TEllipsoid Ellipsoid_Mercury_Modificado_1968()
A set of geodetic coordinates: latitude, longitude and height, defined over a given geoid (typically,...
TCoords lat
Latitude (in degrees)
double height
Geodetic height (in meters)
TGeodeticCoords(const double _lat, const double _lon, const double _height)
TCoords lon
Longitude (in degrees)