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


The data are stored as DataRecords, one for each satellite,time. The getValue(sat, t) routine interpolates the table for sat at time t and returns the result as a DataRecord object. NB this is an abstract class b/c getValue() and others are pure virtual. NB this class (dump()) requires that operator<<(DataRecord) be defined.
Definition at line 34 of file TabularSatStore.hpp.
Public Member Functions | |
| TabularSatStore () throw () | |
| Default constructor. | |
| virtual | ~TabularSatStore () |
| Destructor. | |
| virtual DataRecord | getValue (const SatID &sat, const CommonTime &ttag) const =0 throw (InvalidRequest) |
| Return data value for the given satellite at the given time (usually via interpolation of the data table). | |
| virtual bool | getTableInterval_old (const SatID &sat, const CommonTime &ttag, const int &nhalf, typename DataTable::const_iterator &it1, typename DataTable::const_iterator &it2, bool exactReturn=true) const throw (InvalidRequest) |
| Locate the given time in the DataTable for the given satellite. | |
| virtual bool | getTableInterval (const SatID &sat, const CommonTime &ttag, const int &nhalf, typename DataTable::const_iterator &it1, typename DataTable::const_iterator &it2, bool exactReturn=true) const throw (InvalidRequest) |
| Locate the given time in the DataTable for the given satellite. | |
| virtual void | dump (std::ostream &os=std::cout, int detail=0) const throw () |
| Dump information about the object to an ostream. | |
| void | edit (const CommonTime &tmin, const CommonTime &tmax=CommonTime::END_OF_TIME) throw () |
| Edit the data tables, removing data outside the indicated time interval. | |
| void | clear () throw () |
| Remove all data and reset time limits. | |
| virtual bool | isPresent (const SatID &sat) const throw () |
| Return true if the given SatID is present in the store. | |
| void | checkTimeSystem (const TimeSystem &ts) const throw (InvalidRequest) |
| determine if the input TimeSystem conflicts with the stored TimeSystem | |
| CommonTime | getInitialTime () const throw (InvalidRequest) |
| Get the earliest time of data in the data tables. | |
| CommonTime | getFinalTime () const throw (InvalidRequest) |
| Get the latest time of data in the data tables. | |
| CommonTime | getInitialTime (const SatID &sat) const throw (InvalidRequest) |
| Get the earliest time of data in the store for the given satellite. | |
| CommonTime | getFinalTime (const SatID &sat) const throw (InvalidRequest) |
| Get the latest time of data in the store for the given satellite. | |
| void | dumpInterval (typename DataTable::const_iterator &it1, typename DataTable::const_iterator &it2, std::ostream &os=std::cout) const throw () |
| Dump the data in a subset of the tables as defined by iterators. | |
| bool | hasPosition () const throw () |
| Does this store contain position, etc data stored in the tables? | |
| bool | hasVelocity () const throw () |
| bool | hasClockBias () const throw () |
| bool | hasClockDrift () const throw () |
| int | nsats (void) const throw () |
| Get number of satellites available. | |
| bool | hasSatellite (const SatID &sat) const throw () |
| Is the given satellite present? | |
| std::vector< SatID > | getSatList (void) const throw () |
| Get a list (std::vector) of SatIDs present in the store. | |
| int | ndata (void) const throw () |
| Get the total number of data records in the store. | |
| int | ndata (const SatID &sat) const throw () |
| Get the number of data records for the given sat. | |
| int | size (void) const throw () |
| same as ndata() | |
| double | nomTimeStep (const SatID &sat) const throw () |
| compute the nominal timestep of the data table for the given satellite | |
| bool | isDataGapCheck (void) throw () |
| Is gap checking on? | |
| void | disableDataGapCheck (void) throw () |
| Disable checking of data gaps. | |
| double | getGapInterval (void) throw () |
| Get current gap interval. | |
| void | setGapInterval (double interval) throw () |
| Set gap interval and turn on gap checking. | |
| bool | isIntervalCheck (void) throw () |
| Is interval checking on? | |
| void | disableIntervalCheck (void) throw () |
| Disable checking of maximum interval. | |
| double | getMaxInterval (void) throw () |
| Get current maximum interval. | |
| void | setMaxInterval (double interval) throw () |
| Set maximum interval and turn on interval checking. | |
| TimeSystem | getTimeSystem (void) throw () |
| get the store's time system | |
| void | setTimeSystem (const TimeSystem &ts) throw () |
| set the store's time system | |
| bool | getSmartMode () |
| get the smartMode flag to select data from the table for interpolation | |
| void | setSmartMode (bool smart=true) |
| set the smartMode flag to select data from the table for interpolation | |
Protected Types | |
| typedef std::map< CommonTime, DataRecord > | DataTable |
| std::map with key=CommonTime, value=DataRecord | |
| typedef std::map< SatID, DataTable > | SatTable |
| std::map with key=SatID, value=DataTable | |
| typedef DataTable::const_iterator | DataTableIterator |
Protected Attributes | |
| SatTable | tables |
| the data tables: std::map<SatID, std::map<CommonTime, DataRecord> > | |
| TimeSystem | storeTimeSystem |
| Time system of tables; default and initial value is TimeSystem::Any. | |
| bool | havePosition |
| Flags indicating that various data are present and may be accessed with getValue(t) or other routines, via interpolation of the data tables. | |
| bool | haveVelocity |
| Flags indicating that various data are present and may be accessed with getValue(t) or other routines, via interpolation of the data tables. | |
| bool | haveClockBias |
| Flags indicating that various data are present and may be accessed with getValue(t) or other routines, via interpolation of the data tables. | |
| bool | haveClockDrift |
| Flags indicating that various data are present and may be accessed with getValue(t) or other routines, via interpolation of the data tables. | |
| bool | checkDataGap |
| Flag to check for data gaps (default false). | |
| double | gapInterval |
| Smallest time interval (seconds) that constitutes a data gap. | |
| bool | checkInterval |
| Flag to check the length of available interpolation interval (default false) If this flag is enabled, interpolation intervals shorter than member data maxInterval will throw an InvalidRequest exception in getValue() methods. | |
| double | maxInterval |
| Maximum total time interval (seconds) allowed for interpolation. | |
| bool | smartMode |
| Flag to allow pick more epochs if one side without enough data(default false) Enable this option, we can process daily data with loading a single sp3 file but not three, that will save both memory and loading time especially when we use 5 seconds clock data from CODE. | |
|
|
std::map with key=CommonTime, value=DataRecord
Definition at line 42 of file TabularSatStore.hpp. |
|
|
Definition at line 85 of file TabularSatStore.hpp. |
|
|
std::map with key=SatID, value=DataTable
Definition at line 45 of file TabularSatStore.hpp. |
|
|
Default constructor.
Definition at line 91 of file TabularSatStore.hpp. |
|
|
Destructor.
Definition at line 100 of file TabularSatStore.hpp. |
|
|
determine if the input TimeSystem conflicts with the stored TimeSystem
Definition at line 504 of file TabularSatStore.hpp. |
|
|
Remove all data and reset time limits.
Definition at line 494 of file TabularSatStore.hpp. |
|
|
Disable checking of data gaps.
Definition at line 712 of file TabularSatStore.hpp. |
|
|
Disable checking of maximum interval.
Definition at line 725 of file TabularSatStore.hpp. |
|
||||||||||||
|
Dump information about the object to an ostream.
Reimplemented in ClockSatStore, PositionSatStore, and RinexClockStore. Definition at line 414 of file TabularSatStore.hpp. |
|
||||||||||||||||
|
Dump the data in a subset of the tables as defined by iterators. Note that the interval includes both it1 and it2. Definition at line 611 of file TabularSatStore.hpp. |
|
||||||||||||
|
Edit the data tables, removing data outside the indicated time interval.
Definition at line 469 of file TabularSatStore.hpp. |
|
|
Get the latest time of data in the store for the given satellite.
Definition at line 592 of file TabularSatStore.hpp. |
|
|
Get the latest time of data in the data tables.
Definition at line 545 of file TabularSatStore.hpp. Referenced by SP3EphemerisStore::getFinalTime(). |
|
|
Get current gap interval.
Definition at line 715 of file TabularSatStore.hpp. |
|
|
Get the earliest time of data in the store for the given satellite.
Definition at line 574 of file TabularSatStore.hpp. |
|
|
Get the earliest time of data in the data tables.
Definition at line 518 of file TabularSatStore.hpp. Referenced by SP3EphemerisStore::getInitialTime(). |
|
|
Get current maximum interval.
Definition at line 728 of file TabularSatStore.hpp. |
|
|
Get a list (std::vector) of SatIDs present in the store.
Definition at line 639 of file TabularSatStore.hpp. |
|
|
get the smartMode flag to select data from the table for interpolation
Definition at line 743 of file TabularSatStore.hpp. |
|
||||||||||||||||||||||||||||
|
Locate the given time in the DataTable for the given satellite. Return two const iterators it1 and it2 (it1 < it2) giving the range of 2*nhalf points. Note that a range is returned even if the input time exactly matches one of the times in the table; in this 'exact match' case the matching time will be at either it1->first (if input parameter exactReturn is true) or (it1+nhalf-1) or (it1+nhalf) (if exactReturn is false). This routine is used to select data from the table for interpolation; note that DataTable is a map<CommonTime, DataRecord>.
Definition at line 274 of file TabularSatStore.hpp. |
|
||||||||||||||||||||||||||||
|
Locate the given time in the DataTable for the given satellite. Return two const iterators it1 and it2 (it1 < it2) giving the range of 2*nhalf points, nhalf on each side of the given time. Note that a range is returned even if the input time exactly matches one of the times in the table; in this 'exact match' case the matching time will be at either it1->first (if input parameter exactReturn is true) or (it1+nhalf-1) or (it1+nhalf) (if exactReturn is false). This routine is used to select data from the table for interpolation; note that DataTable is a map<CommonTime, DataRecord>.
Definition at line 148 of file TabularSatStore.hpp. |
|
|
get the store's time system
Definition at line 737 of file TabularSatStore.hpp. |
|
||||||||||||
|
Return data value for the given satellite at the given time (usually via interpolation of the data table).
Implemented in ClockSatStore, and PositionSatStore. |
|
|
Definition at line 628 of file TabularSatStore.hpp. |
|
|
Definition at line 629 of file TabularSatStore.hpp. |
|
|
Does this store contain position, etc data stored in the tables?
Definition at line 626 of file TabularSatStore.hpp. |
|
|
Is the given satellite present?
Definition at line 635 of file TabularSatStore.hpp. |
|
|
Definition at line 627 of file TabularSatStore.hpp. |
|
|
Is gap checking on?
Definition at line 709 of file TabularSatStore.hpp. |
|
|
Is interval checking on?
Definition at line 722 of file TabularSatStore.hpp. |
|
|
Return true if the given SatID is present in the store.
Definition at line 498 of file TabularSatStore.hpp. |
|
|
Get the number of data records for the given sat.
Definition at line 659 of file TabularSatStore.hpp. |
|
|
Get the total number of data records in the store.
Definition at line 649 of file TabularSatStore.hpp. |
|
|
compute the nominal timestep of the data table for the given satellite
Definition at line 671 of file TabularSatStore.hpp. |
|
|
Get number of satellites available.
Definition at line 632 of file TabularSatStore.hpp. |
|
|
Set gap interval and turn on gap checking.
Definition at line 718 of file TabularSatStore.hpp. |
|
|
Set maximum interval and turn on interval checking.
Definition at line 731 of file TabularSatStore.hpp. |
|
|
set the smartMode flag to select data from the table for interpolation
Definition at line 746 of file TabularSatStore.hpp. |
|
|
set the store's time system
Definition at line 740 of file TabularSatStore.hpp. |
|
|
same as ndata()
Definition at line 667 of file TabularSatStore.hpp. |
|
|
Flag to check for data gaps (default false). If this flag is enabled, data gaps wider than member data gapInterval will throw an InvalidRequest exception in getValue() methods. Definition at line 64 of file TabularSatStore.hpp. |
|
|
Flag to check the length of available interpolation interval (default false) If this flag is enabled, interpolation intervals shorter than member data maxInterval will throw an InvalidRequest exception in getValue() methods.
Definition at line 72 of file TabularSatStore.hpp. |
|
|
Smallest time interval (seconds) that constitutes a data gap.
Definition at line 67 of file TabularSatStore.hpp. |
|
|
Flags indicating that various data are present and may be accessed with getValue(t) or other routines, via interpolation of the data tables. Defaults are false, but deriving class should define in c'tor. Definition at line 59 of file TabularSatStore.hpp. |
|
|
Flags indicating that various data are present and may be accessed with getValue(t) or other routines, via interpolation of the data tables. Defaults are false, but deriving class should define in c'tor. Definition at line 59 of file TabularSatStore.hpp. |
|
|
Flags indicating that various data are present and may be accessed with getValue(t) or other routines, via interpolation of the data tables. Defaults are false, but deriving class should define in c'tor. Definition at line 59 of file TabularSatStore.hpp. |
|
|
Flags indicating that various data are present and may be accessed with getValue(t) or other routines, via interpolation of the data tables. Defaults are false, but deriving class should define in c'tor. Definition at line 59 of file TabularSatStore.hpp. |
|
|
Maximum total time interval (seconds) allowed for interpolation. For example, with dt=900s and 10-point Lagrange interpolation, this should be (10-1)*900s+1= 8101s. Definition at line 77 of file TabularSatStore.hpp. |
|
|
Flag to allow pick more epochs if one side without enough data(default false) Enable this option, we can process daily data with loading a single sp3 file but not three, that will save both memory and loading time especially when we use 5 seconds clock data from CODE.
Definition at line 83 of file TabularSatStore.hpp. |
|
|
Time system of tables; default and initial value is TimeSystem::Any. Set and maintained by derived classes, using set and checkTimeSystem(); Any call to add records with a specific system sets it; then other add.. or get.. calls will throw if the time systems do not match. Definition at line 54 of file TabularSatStore.hpp. |
|
|
the data tables: std::map<SatID, std::map<CommonTime, DataRecord> >
Definition at line 48 of file TabularSatStore.hpp. |
1.3.9.1