#include <TabularEphemerisStore.hpp>
Inheritance diagram for TabularEphemerisStore:


A Lagrange interpolation is used to compute the Xvt for times that are not in the table but do have sufficient data.
Definition at line 67 of file TabularEphemerisStore.hpp.
Public Member Functions | |
| TabularEphemerisStore () throw () | |
| Default constructor. | |
| virtual | ~TabularEphemerisStore () |
| Destructor. | |
| virtual Xvt | getXvt (const SatID id, const DayTime &t) const throw (InvalidRequest) |
| Returns the position, velocity, and clock offset of the indicated object in ECEF coordinates (meters) at the indicated time. | |
| virtual Triple | getAccel (const SatID id, const DayTime &t) const throw (InvalidRequest) |
| Returns the acceleration of the indicated object in ECEF coordinates (meters) at the indicated time. | |
| virtual void | dump (std::ostream &s=std::cout, short detail=0) const throw () |
| A debugging function that outputs in human readable form, all data stored in this object. | |
| virtual void | edit (const DayTime &tmin, const DayTime &tmax=DayTime(DayTime::END_OF_TIME)) throw () |
| Edit the dataset, removing data outside the indicated time interval. | |
| virtual DayTime | getInitialTime () const throw (InvalidRequest) |
| Determine the earliest time for which this object can successfully determine the Xvt for any object. | |
| virtual DayTime | getFinalTime () const throw (InvalidRequest) |
| Determine the latest time for which this object can successfully determine the Xvt for any object. | |
| virtual bool | velocityIsPresent () const throw () |
| Check if this ephemeris contains velocity information in all datasets loaded. | |
| virtual bool | clockIsPresent () const throw () |
| Check if this ephemeris contains clock information. | |
| int | nsats (void) throw () |
| Get number of satellite maps. | |
| int | neph (void) throw () |
| Get total number of ephemerides, all sats. | |
| void | addEphemeris (const SP3Data &data) throw () |
| Insert a new SP3Data object into the store. | |
| void | clear () throw () |
| Remove all data. | |
| void | enableDataGapCheck (void) |
| Enable checking of data gaps. | |
| void | disableDataGapCheck (void) |
| Disable checking of data gaps. | |
| double | getGapInterval (void) |
| Get current gap interval. | |
| void | setGapInterval (double interval) |
| Set gap interval. | |
| void | enableIntervalCheck (void) |
| Enable checking of maximum interval. | |
| void | disableIntervalCheck (void) |
| Disable checking of maximum interval. | |
| double | getMaxInterval (void) |
| Get current maximum interval. | |
| void | setMaxInterval (double interval) |
| Set maximum interval. | |
Protected Types | |
| typedef std::map< DayTime, Xvt > | SvEphMap |
| The key to this map is the time. | |
| typedef std::map< SatID, SvEphMap > | EphMap |
| The key to this map is the svid of the satellite (usually the prn). | |
Protected Attributes | |
| bool | haveVelocity |
| Flag indicating that velocity data present in all datasets loaded. | |
| EphMap | pe |
| the map of SVs and XVTs | |
| DayTime | initialTime |
| These give the overall span of time for which this object contains data. | |
| DayTime | finalTime |
| These give the overall span of time for which this object contains data. | |
| bool | checkDataGap |
| Flag to check for data gaps. | |
| double | gapInterval |
| Maximum interval of time (in seconds) to declare a data gap. | |
| bool | checkInterval |
| Flag to check for interpolation interval. | |
| double | maxInterval |
| Maximum interval of time (in seconds) allowed to carry out the interpolation process. | |
|
|
The key to this map is the svid of the satellite (usually the prn).
Definition at line 260 of file TabularEphemerisStore.hpp. |
|
|
The key to this map is the time.
Definition at line 256 of file TabularEphemerisStore.hpp. |
|
|
Default constructor.
Definition at line 72 of file TabularEphemerisStore.hpp. |
|
|
Destructor.
Definition at line 81 of file TabularEphemerisStore.hpp. |
|
|
Insert a new SP3Data object into the store.
Definition at line 470 of file TabularEphemerisStore.cpp. References Xvt::ddtime, Xvt::dtime, Xvt::v, and Xvt::x. |
|
|
Remove all data.
Definition at line 154 of file TabularEphemerisStore.cpp. References TabularEphemerisStore::finalTime, TabularEphemerisStore::initialTime, and TabularEphemerisStore::pe. |
|
|
Check if this ephemeris contains clock information.
Implements XvtStore< SatID >. Definition at line 173 of file TabularEphemerisStore.hpp. |
|
|
Disable checking of data gaps.
Definition at line 211 of file TabularEphemerisStore.hpp. |
|
|
Disable checking of maximum interval.
Definition at line 231 of file TabularEphemerisStore.hpp. |
|
||||||||||||
|
A debugging function that outputs in human readable form, all data stored in this object.
Reimplemented from XvtStore< SatID >. Reimplemented in SP3EphemerisStore. Definition at line 64 of file TabularEphemerisStore.cpp. |
|
||||||||||||
|
Edit the dataset, removing data outside the indicated time interval.
Implements XvtStore< SatID >. Definition at line 120 of file TabularEphemerisStore.cpp. |
|
|
Enable checking of data gaps.
Definition at line 206 of file TabularEphemerisStore.hpp. |
|
|
Enable checking of maximum interval.
Definition at line 226 of file TabularEphemerisStore.hpp. |
|
||||||||||||
|
Returns the acceleration of the indicated object in ECEF coordinates (meters) at the indicated time.
Definition at line 353 of file TabularEphemerisStore.cpp. References gpstk::abs(), gpstk::StringUtils::asString(), GPSTK_THROW, and gpstk::LagrangeInterpolating2ndDerivative(). |
|
|
Determine the latest time for which this object can successfully determine the Xvt for any object.
Implements XvtStore< SatID >. Definition at line 160 of file TabularEphemerisStore.hpp. |
|
|
Get current gap interval.
Definition at line 216 of file TabularEphemerisStore.hpp. |
|
|
Determine the earliest time for which this object can successfully determine the Xvt for any object.
Implements XvtStore< SatID >. Definition at line 148 of file TabularEphemerisStore.hpp. |
|
|
Get current maximum interval.
Definition at line 236 of file TabularEphemerisStore.hpp. |
|
||||||||||||
|
Returns the position, velocity, and clock offset of the indicated object in ECEF coordinates (meters) at the indicated time.
Implements XvtStore< SatID >. Definition at line 178 of file TabularEphemerisStore.cpp. References gpstk::abs(), gpstk::StringUtils::asString(), Xvt::ddtime, Xvt::dtime, GPSTK_THROW, gpstk::LagrangeInterpolation(), DayTime::second(), Xvt::v, and Xvt::x. Referenced by ComputeIURAWeights::getWeight(), and main(). |
|
|
Get total number of ephemerides, all sats.
Reimplemented in SP3EphemerisStore. Definition at line 181 of file TabularEphemerisStore.hpp. |
|
|
Get number of satellite maps.
Reimplemented in SP3EphemerisStore. Definition at line 178 of file TabularEphemerisStore.hpp. |
|
|
Set gap interval.
Definition at line 221 of file TabularEphemerisStore.hpp. |
|
|
Set maximum interval.
Definition at line 241 of file TabularEphemerisStore.hpp. |
|
|
Check if this ephemeris contains velocity information in all datasets loaded.
Implements XvtStore< SatID >. Definition at line 167 of file TabularEphemerisStore.hpp. |
|
|
Flag to check for data gaps. If this flag is enabled, data gaps wider than "gapInterval" will generate an "InvalidRequest" exception when using method "getXvt()". This flag is disabled by default. Definition at line 282 of file TabularEphemerisStore.hpp. |
|
|
Flag to check for interpolation interval. If this flag is enabled, interpolation intervals wider than "maxInterval" will generate an "InvalidRequest" exception when using method "getXvt()". This flag is disabled by default. Definition at line 305 of file TabularEphemerisStore.hpp. |
|
|
These give the overall span of time for which this object contains data. NB there may be gaps in the data, i.e. the data may not be continuous. Definition at line 272 of file TabularEphemerisStore.hpp. Referenced by TabularEphemerisStore::clear(). |
|
|
Maximum interval of time (in seconds) to declare a data gap. Recommended value is (SP3 sample period) + 1, in seconds, which means 900 s + 1 s = 901 s for a typical 15-minutes-per-sample SP3 file. This field is useful only if "checkDataGap" is enabled. Use method "enableDataGapCheck()" for this. Definition at line 294 of file TabularEphemerisStore.hpp. |
|
|
Flag indicating that velocity data present in all datasets loaded.
Definition at line 249 of file TabularEphemerisStore.hpp. |
|
|
These give the overall span of time for which this object contains data. NB there may be gaps in the data, i.e. the data may not be continuous. Definition at line 272 of file TabularEphemerisStore.hpp. Referenced by TabularEphemerisStore::clear(). |
|
|
Maximum interval of time (in seconds) allowed to carry out the interpolation process. Recommended value is (10 - 1) * (SP3 sample period) + 5, in seconds, which means 8100 s + 5 s = 8105 s for a typical 15-minutes-per-sample SP3 file (please note that the order of the Lagrange interpolation is usually 10). This field is useful only if "checkInterval" is enabled. Use method "enableIntervalCheck()" for this. Definition at line 319 of file TabularEphemerisStore.hpp. |
|
|
the map of SVs and XVTs
Definition at line 264 of file TabularEphemerisStore.hpp. Referenced by TabularEphemerisStore::clear(). |
1.3.9.1