Base class for orbit information that uses Keplerian parameters.
Definition at line 52 of file OrbitDataKepler.hpp.
#include <OrbitDataKepler.hpp>
Public Member Functions | |
std::list< std::string > | compare (const NavDataPtr &right) const override |
void | dump (std::ostream &s, DumpDetail dl) const override |
virtual void | dumpClock (std::ostream &s) const |
virtual void | dumpHarmonics (std::ostream &s) const |
virtual void | dumpOrbit (std::ostream &s) const |
virtual void | dumpSVStatus (std::ostream &s) const |
virtual std::string | getDataType () const |
CommonTime | getNearTime () const override |
bool | getXvt (const CommonTime &when, const EllipsoidModel &ell, Xvt &xvt, const ObsID &oid=ObsID()) |
bool | getXvt (const CommonTime &when, Xvt &xvt, const ObsID &oid=ObsID()) override=0 |
bool | isSameData (const NavDataPtr &right) const override |
OrbitDataKepler () | |
Initialize all data members to 0. More... | |
double | svClockBias (const CommonTime &when) const |
double | svClockDrift (const CommonTime &when) const |
virtual double | svRelativity (const CommonTime &when) const =0 |
virtual double | svRelativity (const CommonTime &when, const EllipsoidModel &ell) const |
![]() | |
virtual NavDataPtr | clone () const =0 |
Create a deep copy of this object, whatever it truly is. More... | |
virtual std::string | getClassName () const |
std::string | getDumpTime (DumpDetail dl, const CommonTime &t) const |
std::string | getDumpTimeHdr (DumpDetail dl) const |
std::string | getSignalString () const |
bool | getSVN (const SatID &sat, const gnsstk::CommonTime &when, std::string &svn) const |
virtual CommonTime | getUserTime () const |
NavData () | |
Initialize internal data fields. More... | |
virtual bool | validate () const =0 |
Public Attributes | |
double | A |
Semi-major axis (m) More... | |
double | Adot |
Rate of semi-major axis (m/sec) More... | |
double | af0 |
SV clock error (sec) More... | |
double | af1 |
SV clock drift (sec/sec) More... | |
double | af2 |
SV clock drift rate (sec/sec**2) More... | |
double | Ahalf |
Square Root of semi-major axis (m**.5) More... | |
double | Cic |
Cosine inclination (rad) More... | |
double | Cis |
Sine inclination (rad) More... | |
double | Crc |
Cosine radius (m) More... | |
double | Crs |
Sine radius (m) More... | |
double | Cuc |
Cosine latitude (rad) More... | |
double | Cus |
Sine latitude (rad) More... | |
double | dn |
Correction to mean motion (rad/sec) More... | |
double | dndot |
Rate of correction to mean motion (rad/sec/sec) More... | |
double | ecc |
Eccentricity. More... | |
RefFrameSys | frame |
SVHealth | health |
SV health status. More... | |
double | i0 |
Inclination (rad) More... | |
double | idot |
Rate of inclination angle (rad/sec) More... | |
double | M0 |
Mean anomaly (rad) More... | |
double | OMEGA0 |
Longitude of ascending node at weekly epoch (rad) More... | |
double | OMEGAdot |
Rate of Rt ascension (rad/sec) More... | |
CommonTime | Toc |
Clock epoch. More... | |
CommonTime | Toe |
Orbit epoch. More... | |
double | w |
Argument of perigee (rad) More... | |
CommonTime | xmitTime |
Time of transmission of the start of the data. More... | |
![]() | |
NavMessageID | signal |
Source signal identification for this navigation message data. More... | |
CommonTime | timeStamp |
std::string | weekFmt |
![]() | |
CommonTime | beginFit |
Time at beginning of fit interval. More... | |
CommonTime | endFit |
Time at end of fit interval. More... | |
Static Public Attributes | |
static const size_t | fw = 16 |
Field width of floating point numbers (precision + 8). More... | |
static const size_t | precision = 8 |
Precision used when printing floating point numbers. More... | |
![]() | |
static const GNSSTK_EXPORT std::string | dumpTimeFmt |
Time format used for the dump method (Full). More... | |
static const GNSSTK_EXPORT std::string | dumpTimeFmtBrief |
Time format used for the dump method (Brief). More... | |
static GNSSTK_EXPORT gnsstk::SatMetaDataStore * | satMetaDataStore = nullptr |
Set this to a valid store to get PRN->SVN translations in dump(). More... | |
Additional Inherited Members | |
![]() | |
static gnsstk::SatMetaDataStore * | getSatMetaDataStore () |
Accessor for python. More... | |
static void | setSatMetaDataStore (gnsstk::SatMetaDataStore *smds) |
Accessor for python. More... | |
![]() | |
double | msgLenSec |
gnsstk::OrbitDataKepler::OrbitDataKepler | ( | ) |
Initialize all data members to 0.
Definition at line 50 of file OrbitDataKepler.cpp.
|
overridevirtual |
Compare two NavData descendent objects. Any differences are summarized and returned as a list of readable text.
[in] | right | The data to compare against. |
Reimplemented from gnsstk::OrbitData.
Definition at line 398 of file OrbitDataKepler.cpp.
|
overridevirtual |
Print the contents of this NavData object in a human-readable format.
[in,out] | s | The stream to write the data to. |
[in] | dl | The level of detail the output should contain. |
Reimplemented from gnsstk::NavData.
Definition at line 61 of file OrbitDataKepler.cpp.
|
virtual |
Dump the clock parameters.
[in,out] | s | The stream to write the data to. |
Definition at line 118 of file OrbitDataKepler.cpp.
|
virtual |
Dump the harmonic corrections section of a full detail dump.
[in,out] | s | The stream to write the data to. |
Reimplemented in gnsstk::GalFNavAlm, gnsstk::GalINavAlm, gnsstk::GPSCNavAlm, gnsstk::GPSCNav2Alm, gnsstk::BDSD1NavAlm, gnsstk::BDSD2NavAlm, and gnsstk::GPSLNavAlm.
Definition at line 152 of file OrbitDataKepler.cpp.
|
virtual |
Dump the orbit parameters section of a full detail dump.
[in,out] | s | The stream to write the data to. |
Definition at line 131 of file OrbitDataKepler.cpp.
|
inlinevirtual |
Dump SV status information (e.g. health). Nothing to do at this level, all the work is in derived classes.
[in,out] | s | The stream to write the data to. |
Reimplemented in gnsstk::BDSD2NavEph, gnsstk::GalFNavAlm, gnsstk::GalINavAlm, gnsstk::GPSLNavEph, gnsstk::BDSD1NavEph, gnsstk::GPSCNavEph, gnsstk::GalFNavEph, gnsstk::GalINavEph, gnsstk::GPSCNav2Eph, gnsstk::BDSD1NavAlm, gnsstk::BDSD2NavAlm, and gnsstk::GPSLNavAlm.
Definition at line 77 of file OrbitDataKepler.hpp.
|
inlinevirtual |
This is just a method for making the dump output say "almanac" vs "ephemeris" when appropriate. Yes it's perfectly legitimate to alternate between Ephemeris and Almanac based on the message type, as no other message types would be inheriting from OrbitDataKepler.
Definition at line 93 of file OrbitDataKepler.hpp.
|
inlineoverridevirtual |
Returns the time for the data to be used when searching in "Nearest" mode.
Reimplemented from gnsstk::NavData.
Definition at line 65 of file OrbitDataKepler.hpp.
bool gnsstk::OrbitDataKepler::getXvt | ( | const CommonTime & | when, |
const EllipsoidModel & | ell, | ||
Xvt & | xvt, | ||
const ObsID & | oid = ObsID() |
||
) |
Compute the satellites position and velocity at a time.
[in] | when | The time at which to compute the xvt. |
[in] | ell | The ellipsoid used in computing the Xvt (specifically EllipsoidModel::gm() and EllipsoidModel::angVelocity()). |
[out] | xvt | The resulting computed position/velocity. |
[in] | oid | Ignored at this level, only used in derived classes. |
Definition at line 168 of file OrbitDataKepler.cpp.
|
overridepure virtual |
Compute the satellites position and velocity at a time.
[in] | when | The time at which to compute the xvt. |
[out] | xvt | The resulting computed position/velocity. |
[in] | oid | Ignored at this level, only used in derived classes. |
Implements gnsstk::OrbitData.
Implemented in FakeODK, gnsstk::OrbitDataBDS, gnsstk::OrbitDataGal, gnsstk::OrbitDataGPS, and gnsstk::BDSD2NavEph.
|
overridevirtual |
Returns true if this two objects are
Reimplemented from gnsstk::OrbitData.
Definition at line 361 of file OrbitDataKepler.cpp.
double gnsstk::OrbitDataKepler::svClockBias | ( | const CommonTime & | when | ) | const |
Compute the satellite clock bias (sec) at the given time
[in] | when | The time at which to get the satellite clock bias. |
Definition at line 341 of file OrbitDataKepler.cpp.
double gnsstk::OrbitDataKepler::svClockDrift | ( | const CommonTime & | when | ) | const |
Compute the satellite clock drift (sec/sec) at the given time
[in] | when | The time at which to get the satellite clock drift. |
Definition at line 351 of file OrbitDataKepler.cpp.
|
pure virtual |
Compute satellite relativity correction (sec) at the given time.
[in] | when | The time at which to get the relativity correction. |
Implemented in FakeODK, gnsstk::OrbitDataBDS, gnsstk::OrbitDataGal, and gnsstk::OrbitDataGPS.
|
virtual |
Compute satellite relativity correction (sec) at the given time.
[in] | ell | The ellipsoid used in computing the Xvt (specifically EllipsoidModel::gm()). |
[in] | when | The time at which to get the relativity correction. |
Definition at line 314 of file OrbitDataKepler.cpp.
double gnsstk::OrbitDataKepler::A |
Semi-major axis (m)
Definition at line 186 of file OrbitDataKepler.hpp.
double gnsstk::OrbitDataKepler::Adot |
Rate of semi-major axis (m/sec)
Definition at line 188 of file OrbitDataKepler.hpp.
double gnsstk::OrbitDataKepler::af0 |
SV clock error (sec)
Definition at line 195 of file OrbitDataKepler.hpp.
double gnsstk::OrbitDataKepler::af1 |
SV clock drift (sec/sec)
Definition at line 196 of file OrbitDataKepler.hpp.
double gnsstk::OrbitDataKepler::af2 |
SV clock drift rate (sec/sec**2)
Definition at line 197 of file OrbitDataKepler.hpp.
double gnsstk::OrbitDataKepler::Ahalf |
Square Root of semi-major axis (m**.5)
Definition at line 187 of file OrbitDataKepler.hpp.
double gnsstk::OrbitDataKepler::Cic |
Cosine inclination (rad)
Definition at line 179 of file OrbitDataKepler.hpp.
double gnsstk::OrbitDataKepler::Cis |
Sine inclination (rad)
Definition at line 180 of file OrbitDataKepler.hpp.
double gnsstk::OrbitDataKepler::Crc |
Cosine radius (m)
Definition at line 177 of file OrbitDataKepler.hpp.
double gnsstk::OrbitDataKepler::Crs |
Sine radius (m)
Definition at line 178 of file OrbitDataKepler.hpp.
double gnsstk::OrbitDataKepler::Cuc |
Cosine latitude (rad)
Definition at line 175 of file OrbitDataKepler.hpp.
double gnsstk::OrbitDataKepler::Cus |
Sine latitude (rad)
Definition at line 176 of file OrbitDataKepler.hpp.
double gnsstk::OrbitDataKepler::dn |
Correction to mean motion (rad/sec)
Definition at line 183 of file OrbitDataKepler.hpp.
double gnsstk::OrbitDataKepler::dndot |
Rate of correction to mean motion (rad/sec/sec)
Definition at line 184 of file OrbitDataKepler.hpp.
double gnsstk::OrbitDataKepler::ecc |
Eccentricity.
Definition at line 185 of file OrbitDataKepler.hpp.
RefFrameSys gnsstk::OrbitDataKepler::frame |
|
static |
Field width of floating point numbers (precision + 8).
Definition at line 58 of file OrbitDataKepler.hpp.
SVHealth gnsstk::OrbitDataKepler::health |
SV health status.
Definition at line 173 of file OrbitDataKepler.hpp.
double gnsstk::OrbitDataKepler::i0 |
Inclination (rad)
Definition at line 190 of file OrbitDataKepler.hpp.
double gnsstk::OrbitDataKepler::idot |
Rate of inclination angle (rad/sec)
Definition at line 193 of file OrbitDataKepler.hpp.
double gnsstk::OrbitDataKepler::M0 |
Mean anomaly (rad)
Definition at line 182 of file OrbitDataKepler.hpp.
double gnsstk::OrbitDataKepler::OMEGA0 |
Longitude of ascending node at weekly epoch (rad)
Definition at line 189 of file OrbitDataKepler.hpp.
double gnsstk::OrbitDataKepler::OMEGAdot |
Rate of Rt ascension (rad/sec)
Definition at line 192 of file OrbitDataKepler.hpp.
|
static |
Precision used when printing floating point numbers.
Definition at line 56 of file OrbitDataKepler.hpp.
CommonTime gnsstk::OrbitDataKepler::Toc |
Clock epoch.
Definition at line 172 of file OrbitDataKepler.hpp.
CommonTime gnsstk::OrbitDataKepler::Toe |
Orbit epoch.
Definition at line 171 of file OrbitDataKepler.hpp.
double gnsstk::OrbitDataKepler::w |
Argument of perigee (rad)
Definition at line 191 of file OrbitDataKepler.hpp.
CommonTime gnsstk::OrbitDataKepler::xmitTime |
Time of transmission of the start of the data.
Definition at line 170 of file OrbitDataKepler.hpp.