32 inline TCoords(
const int _deg,
const int _min,
const double _sec)
48 inline void getDegMinSec(
int& degrees,
int& minutes,
double& seconds)
const
52 minutes = (int)((aux - degrees) * 60.0f);
53 seconds = ((aux - degrees) * 60.0f - minutes) * 60.0f;
59 const int degrees,
const int minutes,
const double seconds)
61 decimal_value = std::abs(degrees) + minutes / 60.0 + seconds / 3600.0;
75 bool operator==(
const TCoords&
a,
const TCoords& o);
76 bool operator!=(
const TCoords&
a,
const TCoords& o);
78 std::ostream&
operator<<(std::ostream& out,
const TCoords& o);
84 const double _sa,
const double _sb,
const std::string& _name)
98 return TEllipsoid(6378137.000, 6356752.314245,
"WGS84");
102 return TEllipsoid(6378135.000, 6356750.519915,
"WGS72");
106 return TEllipsoid(6378145.000, 6356759.769356,
"WGS66");
110 return TEllipsoid(6376896.000, 6355834.846700,
"Walbeck_1817");
114 return TEllipsoid(6378160.000, 6356774.720000,
"Sudamericano_1969");
119 6378157.500, 6356772.200000,
"Nuevo_Internacional_1967");
124 6378150.000, 6356768.337303,
"Mercury_Modificado_1968");
128 return TEllipsoid(6378166.000, 6356784.283666,
"Mercury_1960");
132 return TEllipsoid(6378245.000, 6356863.018800,
"Krasovsky_1940");
136 return TEllipsoid(6378388.000, 6356911.946130,
"Internacional_1924");
140 return TEllipsoid(6378388.000, 6356911.946130,
"Internacional_1909");
144 return TEllipsoid(6378270.000, 6356794.343479,
"Hough_1960");
148 return TEllipsoid(6378200.000, 6356818.170000,
"Helmert_1906");
152 return TEllipsoid(6378388.000, 6356911.946130,
"Hayford_1909");
156 return TEllipsoid(6378137.000, 6356752.314140,
"GRS80");
160 return TEllipsoid(6378150.000, 6356768.330000,
"Fischer_1968");
164 return TEllipsoid(6378166.000, 6356784.280000,
"Fischer_1960");
168 return TEllipsoid(6378249.145, 6356514.869550,
"Clarke_1880");
172 return TEllipsoid(6378206.400, 6356583.800000,
"Clarke_1866");
176 return TEllipsoid(6377397.155, 6356078.962840,
"Bessel_1841");
180 return TEllipsoid(6377340.189, 6356034.447900,
"Airy_Modificado_1965");
184 return TEllipsoid(6377563.396, 6356256.910000,
"Airy_1830");
231 const double _dX,
const double _dY,
const double _dZ,
const double _Rx,
232 const double _Ry,
const double _Rz,
const double _dS)
233 :
dX(_dX),
dY(_dY),
dZ(_dZ)
251 const double _dX,
const double _dY,
const double _dZ,
const double _m11,
252 const double _m12,
const double _m13,
const double _m21,
253 const double _m22,
const double _m23,
const double _m31,
254 const double _m32,
const double _m33,
const double _dS)
287 const double _dX,
const double _dY,
const double _dZ,
const double _Xp,
288 const double _Yp,
const double _Zp,
const double _Rx,
const double _Ry,
289 const double _Rz,
const double _dS)
311 const double _dX,
const double _dY,
const double _alpha,
312 const double _dS,
const double _Xp,
const double _Yp)
313 :
dX(_dX),
dY(_dY),
Xp(_Xp),
Yp(_Yp)
325 const double _a,
const double _b,
const double _c,
const double _d)
326 :
a(_a),
b(_b),
c(_c),
d(_d)
344 const double _dX,
const double _dY,
const double _dZ,
const double _Rx,
345 const double _Ry,
const double _Rz,
const double _dS)
346 :
dX(_dX),
dY(_dY),
dZ(_dZ)
363 const double _a,
const double _b,
const double _c,
const double _d,
364 const double _e,
const double _f,
const double _g)
365 :
a(_a),
b(_b),
c(_c),
d(_d),
e(_e),
f(_f),
g(_g)
381 const double _dX,
const double _dY,
const double _DZ,
const double _dS)
382 :
dX(_dX),
dY(_dY),
DZ(_DZ)
401 const double _dX,
const double _dY,
const double _dSx,
402 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
std::string format(const char *fmt,...) MRPT_printf_format_check(1
A std::string version of C sprintf.
std::ostream & operator<<(std::ostream &out, const TCoords &o)
bool operator!=(const TCoords &a, const TCoords &o)
bool operator==(const TCoords &a, const TCoords &o)
This namespace provides topography helper functions, coordinate transformations.
double DEG2RAD(const double x)
Degrees to radians.
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)