Go to the documentation of this file.
56 rx(
std::numeric_limits<
double>::quiet_NaN()),
57 ry(
std::numeric_limits<
double>::quiet_NaN()),
58 rz(
std::numeric_limits<
double>::quiet_NaN()),
59 tx(
std::numeric_limits<
double>::quiet_NaN()),
60 ty(
std::numeric_limits<
double>::quiet_NaN()),
61 tz(
std::numeric_limits<
double>::quiet_NaN()),
62 scale(
std::numeric_limits<
double>::quiet_NaN()),
63 description("Undefined")
70 double irx,
double iry,
double irz,
71 double itx,
double ity,
double itz,
72 double sc,
const std::string& desc,
const CommonTime& refEpoch)
74 tx(itx), ty(ity), tz(itz), scale(sc), description(desc),
75 epoch(refEpoch), fromFrame(from), toFrame(to)
79 InvalidRequest e(
"Invalid Helmert transformation with Unknown frame");
85 if ((::fabs(
rx) > 1.e-3) || (::fabs(
ry) > 1.e-3) || (::fabs(
rz) > 1.e-3))
87 InvalidRequest e(
"Invalid Helmert transformation : "
88 "small angle approximation.");
122 oss <<
"Helmert Transformation"
125 << scientific << setprecision(4)
126 <<
" Scale factor : " <<
scale
127 << fixed <<
" = " <<
scale/
PPB <<
" ppb" << endl
128 <<
" Rotation angles (deg):"
133 <<
" Rotation angles (mas):"
138 <<
" Translation (meters):"
141 <<
", Z : " <<
tz << endl
142 <<
" Beginning Epoch: "
186 "Helmert tranformation cannot act on frame " +
199 InvalidRequest e(
"Input Vector is not of length 3");
247 result.
x[0] = res[0];
248 result.
x[1] = res[1];
249 result.
x[2] = res[2];
262 double& rx,
double& ry,
double& rz)
290 0, 0, 0, 0.0, 0.0, 0.0, 0,
291 "WGS84 to ITRF identity transform, a default value\n"
292 " (\"...since 1997, the WGS84 GPS broadcast ...\n"
293 " is consistent with the ITRS at better than 5-cm level.\"\n"
294 " Boucher & Altamimi 2001)",
304 "PZ90 to WGS84, determined by IGEX-98, reference\n"
305 " \"ITRS, PZ-90 and WGS 84: current realizations\n"
306 " and the related transformation parameters,\"\n"
307 " Journal Geodesy (2001), 75:613, by Boucher and Altamimi.\n"
308 " Use before 20 Sept 2007 17:00 UTC (ICD-2008 v5.1 table 3.2).",
313 0, 0, 0, -0.36, 0.08, 0.18, 0,
314 "PZ90.02 to ITRF2000, from Sergey Revnivykh, GLONASS PNT\n"
315 " Information Analysis Center, 47th CGSIC Meeting and ION\n"
316 " GNSS 2007, Fort Worth, Texas, implemented by GLONASS\n"
317 " 20 Sept 2007 17:00 UTC (ICD-2008 v5.1 table 3.2).",
326 "PZ90 to ITRF(WGS84), determined by IGEX-98, reference\n"
327 " \"ITRS, PZ-90 and WGS 84: current realizations\n"
328 " and the related transformation parameters,\"\n"
329 " Journal Geodesy (2001), 75:613, by Boucher and Altamimi.\n"
330 " Use before 20 Sept 2007 17:00 UTC (ICD-2008 v5.1 table 3.2).",
335 0, 0, 0, -0.36, 0.08, 0.18, 0,
336 "PZ90.02 to ITRF2000, from Sergey Revnivykh, GLONASS PNT\n"
337 " Information Analysis Center, 47th CGSIC Meeting and ION\n"
338 " GNSS 2007, Fort Worth, Texas, implemented by GLONASS\n"
339 " 20 Sept 2007 17:00 UTC (ICD-2008 v5.1 table 3.2).",
@ Cartesian
cartesian (Earth-centered, Earth-fixed)
Position & transformTo(CoordinateSystem sys) noexcept
void setReferenceFrame(const RefFrame &frame) noexcept
RefFrame frame
reference frame of this data
std::string asString(IonexStoreStrategy e)
Convert a IonexStoreStrategy to a whitespace-free string name.
double Y() const noexcept
return Y coordinate (meters)
double Z() const noexcept
return Z coordinate (meters)
static const GNSSTK_EXPORT CommonTime BEGINNING_OF_TIME
earliest representable CommonTime
static const double PPB
parts per billion
const RefFrame & getReferenceFrame() const noexcept
return coordinate RefFrame
Triple x
Sat position ECEF Cartesian (X,Y,Z) meters.
static const double RAD_TO_DEG
Conversion Factor from radians to degrees (units: degrees)
page HOWTO subpage DoxygenGuide Documenting Your Code page DoxygenGuide Documenting Your Code todo Flesh out this document section doctips Tips for Documenting When defining make sure that the prototype is identical between the cpp and hpp including both the namespaces and the parameter names for you have std::string as the return type in the hpp file and string as the return type in the cpp Doxygen may get confused and autolink to the cpp version with no documentation If you don t use the same parameter names between the cpp and hpp that will also confuse Doxygen Don t put type information in return or param documentation It doesn t really add anything and will often cause Doxygen to complain and not produce the documentation< br > use note Do not put a comma after a param name unless you mean to document multiple parameters< br/> the output stream</code >< br/> y
SparseMatrix< T > transpose(const SparseMatrix< T > &M)
transpose
@ WGS84
WGS84, assumed to be the latest version.
@ ITRF
ITRF, assumed to be the latest version.
#define GNSSTK_RETHROW(exc)
@ UTC
Coordinated Universal Time (e.g., from NTP)
double X() const noexcept
return X coordinate (meters)
std::string printTime(const CommonTime &t, const std::string &fmt)
size_t size() const
STL size.
static const double DEG_PER_MAS
degrees per milliarcsecond (1e-3/3600.)
#define GNSSTK_THROW(exc)
static const double DEG_TO_RAD
Conversion Factor from degrees to radians (units: degrees^-1)
gnsstk
Author(s):
autogenerated on Wed Oct 25 2023 02:40:39