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


This class is meant to be used with the GNSS data structures objects found in "DataStructures" class.
A typical way to use this class follows:
// INITIALIZATION PART // EBRE station nominal position Position nominalPos(4833520.192, 41537.1043, 4147461.560); RinexObsStream rin("ebre0300.02o"); // Data stream // Load all the SP3 ephemerides files SP3EphemerisStore SP3EphList; SP3EphList.loadFile("igs11512.sp3"); SP3EphList.loadFile("igs11513.sp3"); SP3EphList.loadFile("igs11514.sp3"); // Set up Niell tropospheric model NeillTropModel neillTM( nominalPos.getAltitude(), nominalPos.getGeodeticLatitude(), 30 ); // Objects to compute the model BasicModel basicM(nominalPos, SP3EphList); ComputeTropModel computeTropo(neillTM); // More declarations here: ComputeMOPSWeights, SimpleFilter, // LICSDetector, MWCSDetector, SolidTides, OceanLoading, // PoleTides, CorrectObservables, ComputeWindUp, ComputeLinear, // LinearCombinations, etc. // Declare a SolverPPP object SolverPPP pppSolver; // Object to decimate data: Take data each 900 s, tolerance 5 s Decimate decimateData( 900.0, 5.0, SP3EphList.getInitialTime() ); // PROCESSING PART gnssRinex gRin; while(rin >> gRin) { try { gRin >> basicM >> correctObs >> compWindup >> computeTropo >> linear >> pcFilter >> markCSLI >> markCSMW >> decimateData // Continue processing only each 900 s >> mopsWeights >> pppSolver; } catch(DecimateEpoch& d) { // If we catch a DecimateEpoch exception, just continue // with the next epoch. continue; } catch(...) { cerr << "Unknown exception at epoch: " << time << endl; continue; } // Print results cout << time.DOYsecond() << " "; // Output field #1 cout << pppSolver.solution[1] << " "; // dx: Output field #2 cout << pppSolver.solution[2] << " "; // dy: Output field #3 cout << pppSolver.solution[3] << " "; // dz: Output field #4 cout << pppSolver.solution[0] << " "; // wetMap: Output field #5 cout << endl; }
Each Decimate object has a sampling interval, a tolerance and a epoch to start decimation. If decimation conditions are met, it returns the incoming GNSS Data Structure without changes and the processing chain continues.
Otherwise, it will stop the processing chain and throw a "DecimateEpoch" exception. The program then must handle it appropriately, usually just issuing a 'continue' statement in order to process next epoch.
Definition at line 153 of file Decimate.hpp.
Public Member Functions | |
| Decimate () | |
| Default constructor. | |
| Decimate (const double sampleInterval, const double tol, const DayTime &initialEpoch) | |
| Common constructor. | |
| virtual satTypeValueMap & | Process (const DayTime &time, satTypeValueMap &gData) throw (DecimateEpoch) |
| Returns a satTypeValueMap object, adding the new data generated when calling this object. | |
| virtual gnssSatTypeValue & | Process (gnssSatTypeValue &gData) throw (DecimateEpoch) |
| Returns a gnnsSatTypeValue object, adding the new data generated when calling this object. | |
| virtual gnssRinex & | Process (gnssRinex &gData) throw (DecimateEpoch) |
| Returns a gnnsRinex object, adding the new data generated when calling this object. | |
| virtual double | getSampleInterval (void) const |
| Returns sampling interval, in seconds. | |
| virtual Decimate & | setSampleInterval (const double sampleInterval) |
| Sets sampling interval. | |
| virtual double | getTolerance (void) const |
| Returns tolerance, in seconds. | |
| virtual Decimate & | setTolerance (const double tol) |
| Sets tolerance, in seconds. | |
| virtual Decimate & | setInitialEpoch (const DayTime &initialEpoch) |
| Sets epoch to start decimation. | |
| virtual int | getIndex (void) const |
| Returns an index identifying this object. | |
| virtual std::string | getClassName (void) const |
| Returns a string identifying this object. | |
| virtual | ~Decimate () |
| Destructor. | |
|
|
Default constructor.
Definition at line 158 of file Decimate.hpp. |
|
||||||||||||||||
|
Common constructor.
Definition at line 169 of file Decimate.hpp. |
|
|
Destructor.
Definition at line 248 of file Decimate.hpp. References index(). |
|
|
Returns a string identifying this object.
Implements ProcessingClass. Definition at line 48 of file Decimate.cpp. |
|
|
Returns an index identifying this object.
Implements ProcessingClass. Definition at line 43 of file Decimate.cpp. |
|
|
Returns sampling interval, in seconds.
Definition at line 208 of file Decimate.hpp. |
|
|
Returns tolerance, in seconds.
Definition at line 220 of file Decimate.hpp. |
|
|
Returns a gnnsRinex object, adding the new data generated when calling this object.
Implements ProcessingClass. Definition at line 202 of file Decimate.hpp. |
|
|
Returns a gnnsSatTypeValue object, adding the new data generated when calling this object.
Implements ProcessingClass. Definition at line 192 of file Decimate.hpp. |
|
||||||||||||
|
Returns a satTypeValueMap object, adding the new data generated when calling this object.
Definition at line 97 of file Decimate.cpp. References gpstk::abs(), and GPSTK_THROW. |
|
|
Sets epoch to start decimation.
Definition at line 235 of file Decimate.hpp. |
|
|
Sets sampling interval.
Definition at line 57 of file Decimate.cpp. |
|
|
Sets tolerance, in seconds.
Definition at line 76 of file Decimate.cpp. |
1.3.9.1