Public Member Functions | Public Attributes | List of all members
gnsstk::GroupPathCorr Class Reference

Detailed Description

Provide a class for summing a set of group path corrections. Use it by instantiating the GroupPathCorrector objects that are desired and adding them to calcs. Then, call getCorr() for each observation to be corrected.

GroupPathCorrectorPtr iono = std::make_shared<BCIonoCorrector>();
GroupPathCorrectorPtr trop = std::make_shared<NBTropCorrector>();
GroupPathCorrectorPtr isc = std::make_shared<BCISCorrector>();
pec.calcs.push_back(iono);
pec.calcs.push_back(trop);
pec.calcs.push_back(isc);
...
if (!pec.getCorr(rxPos, svPos, sat, obsID, when, nav, corrOut))
return false;
cout << "Correction sum: " << corrOut << endl;

You may wish to use the init(), initGlobal(), initNB() method or manually add GroupPathCorrector objects as noted above, or really you can use both. The ordering of the correctors is key to how the results work, but is only relevant when e.g. an ISC from broadcast nav data is allowed and ISC data from a simple text file (not currently supported, example only) is added.

Note
The Global and New Brunwswick Trop models are the most accurate models and are the only ones supported in this fashion. This keeps us from implementing a method for each trop model, and avoids using template dynamic unsupported by Python.

Definition at line 91 of file GroupPathCorr.hpp.

#include <GroupPathCorr.hpp>

Public Member Functions

bool getCorr (const Position &rxPos, const Position &svPos, const SatID &sat, const ObsID &obs, const CommonTime &when, NavType nav, CorrectionResults &corrOut, CorrDupHandling dups=CorrDupHandling::ComputeFirst)
 
bool getCorr (const Position &rxPos, const Position &svPos, const SatID &sat, const ObsID &obs, const CommonTime &when, NavType nav, double &corrOut, CorrDupHandling dups=CorrDupHandling::ComputeFirst)
 
bool getCorr (const Position &rxPos, const Xvt &svPos, const SatID &sat, const ObsID &obs, const CommonTime &when, NavType nav, CorrectionResults &corrOut, CorrDupHandling dups=CorrDupHandling::ComputeFirst)
 
bool getCorr (const Position &rxPos, const Xvt &svPos, const SatID &sat, const ObsID &obs, const CommonTime &when, NavType nav, double &corrOut, CorrDupHandling dups=CorrDupHandling::ComputeFirst)
 
 GroupPathCorr ()=default
 Declaring it explicitly so people don't complain. More...
 
bool init (NavLibrary &navLib)
 
bool initGlobal (NavLibrary &navLib, const std::string &rinMetFile="")
 
bool initNB (NavLibrary &navLib, const std::string &rinMetFile="")
 

Public Attributes

GroupPathCorrectorList calcs
 The list of GroupPathCorrector objects to use in the calculation. More...
 

Constructor & Destructor Documentation

◆ GroupPathCorr()

gnsstk::GroupPathCorr::GroupPathCorr ( )
default

Declaring it explicitly so people don't complain.

Member Function Documentation

◆ getCorr() [1/4]

bool gnsstk::GroupPathCorr::getCorr ( const Position rxPos,
const Position svPos,
const SatID sat,
const ObsID obs,
const CommonTime when,
NavType  nav,
CorrectionResults corrOut,
CorrDupHandling  dups = CorrDupHandling::ComputeFirst 
)

Parameters
[in]dupsIndicate how duplicate CorrectorType objects will be used.
  • ComputeFirst indicates the sum should include the first valid correction of a given type, and no further computation of that type will be done after the first valid correction is computed.
  • ComputeLast indicates the sum should include the last valid correction of a given type (all corrections will be necessarily computed).
  • UseFirst indicates the sum should include the first valid correction of a given type, but the CorrectionResults object will include biases for all GroupPathCorrector objects in calcs.
Note
A return value of false only indicates that one or more of the GroupPathCorrector objects in calcs returned a false. There may still be usable corrections returned. It is up to the caller to decide whether or not to use a partial success. Example: Corrector 1 spans time t1-t2, Corrector 2 spans time t2-t3. The getCorr() method for Corrector 1 might return true for a time within the span of t1-t2 while Corrector 2 might not. Get the bias in meters given the supplied state arguments.
Parameters
[in]rxPosThe position of the GNSS receiver antenna.
[in]svPosThe position of the satellite with delayed signal.
[in]satThe identity of the satellite with delayed signal.
[in]obsThe ID of the signal being un-delayed.
[in]whenThe time of measurement.
[in]navThe navigation message type of the signal.
[out]corrOutThe computed bias in meters.
Returns
true if successful, false on error.

Definition at line 113 of file GroupPathCorr.cpp.

◆ getCorr() [2/4]

bool gnsstk::GroupPathCorr::getCorr ( const Position rxPos,
const Position svPos,
const SatID sat,
const ObsID obs,
const CommonTime when,
NavType  nav,
double &  corrOut,
CorrDupHandling  dups = CorrDupHandling::ComputeFirst 
)

Parameters
[in]dupsIndicate how duplicate CorrectorType objects will be used.
  • ComputeFirst indicates the sum should include the first valid correction of a given type, and no further computation of that type will be done after the first valid correction is computed.
  • ComputeLast indicates the sum should include the last valid correction of a given type (all corrections will be necessarily computed).
  • UseFirst indicates the sum should include the first valid correction of a given type, but the CorrectionResults object will include biases for all GroupPathCorrector objects in calcs.
Note
A return value of false only indicates that one or more of the GroupPathCorrector objects in calcs returned a false. There may still be usable corrections returned. It is up to the caller to decide whether or not to use a partial success. Example: Corrector 1 spans time t1-t2, Corrector 2 spans time t2-t3. The getCorr() method for Corrector 1 might return true for a time within the span of t1-t2 while Corrector 2 might not. Get the bias in meters given the supplied state arguments.
Parameters
[in]rxPosThe position of the GNSS receiver antenna.
[in]svPosThe position of the satellite with delayed signal.
[in]satThe identity of the satellite with delayed signal.
[in]obsThe ID of the signal being un-delayed.
[in]whenThe time of measurement.
[in]navThe navigation message type of the signal.
[out]corrOutThe computed bias in meters.
Returns
true if successful, false on error.

Definition at line 161 of file GroupPathCorr.cpp.

◆ getCorr() [3/4]

bool gnsstk::GroupPathCorr::getCorr ( const Position rxPos,
const Xvt svPos,
const SatID sat,
const ObsID obs,
const CommonTime when,
NavType  nav,
CorrectionResults corrOut,
CorrDupHandling  dups = CorrDupHandling::ComputeFirst 
)

Parameters
[in]dupsIndicate how duplicate CorrectorType objects will be used.
  • ComputeFirst indicates the sum should include the first valid correction of a given type, and no further computation of that type will be done after the first valid correction is computed.
  • ComputeLast indicates the sum should include the last valid correction of a given type (all corrections will be necessarily computed).
  • UseFirst indicates the sum should include the first valid correction of a given type, but the CorrectionResults object will include biases for all GroupPathCorrector objects in calcs.
Note
A return value of false only indicates that one or more of the GroupPathCorrector objects in calcs returned a false. There may still be usable corrections returned. It is up to the caller to decide whether or not to use a partial success. Example: Corrector 1 spans time t1-t2, Corrector 2 spans time t2-t3. The getCorr() method for Corrector 1 might return true for a time within the span of t1-t2 while Corrector 2 might not. Get the bias in meters given the supplied state arguments.
Parameters
[in]rxPosThe position of the GNSS receiver antenna.
[in]svPosThe position of the satellite with delayed signal.
[in]satThe identity of the satellite with delayed signal.
[in]obsThe ID of the signal being un-delayed.
[in]whenThe time of measurement.
[in]navThe navigation message type of the signal.
[out]corrOutThe computed bias in meters.
Returns
true if successful, false on error.

Definition at line 151 of file GroupPathCorr.cpp.

◆ getCorr() [4/4]

bool gnsstk::GroupPathCorr::getCorr ( const Position rxPos,
const Xvt svPos,
const SatID sat,
const ObsID obs,
const CommonTime when,
NavType  nav,
double &  corrOut,
CorrDupHandling  dups = CorrDupHandling::ComputeFirst 
)

Parameters
[in]dupsIndicate how duplicate CorrectorType objects will be used.
  • ComputeFirst indicates the sum should include the first valid correction of a given type, and no further computation of that type will be done after the first valid correction is computed.
  • ComputeLast indicates the sum should include the last valid correction of a given type (all corrections will be necessarily computed).
  • UseFirst indicates the sum should include the first valid correction of a given type, but the CorrectionResults object will include biases for all GroupPathCorrector objects in calcs.
Note
A return value of false only indicates that one or more of the GroupPathCorrector objects in calcs returned a false. There may still be usable corrections returned. It is up to the caller to decide whether or not to use a partial success. Example: Corrector 1 spans time t1-t2, Corrector 2 spans time t2-t3. The getCorr() method for Corrector 1 might return true for a time within the span of t1-t2 while Corrector 2 might not. Get the bias in meters given the supplied state arguments.
Parameters
[in]rxPosThe position of the GNSS receiver antenna.
[in]svPosThe position of the satellite with delayed signal.
[in]satThe identity of the satellite with delayed signal.
[in]obsThe ID of the signal being un-delayed.
[in]whenThe time of measurement.
[in]navThe navigation message type of the signal.
[out]corrOutThe computed bias in meters.
Returns
true if successful, false on error.

Definition at line 173 of file GroupPathCorr.cpp.

◆ init()

bool gnsstk::GroupPathCorr::init ( NavLibrary navLib)

Fill calcs with the default set of BCISCorrector and BCIonoCorrector.

Parameters
[in]navLibThe NavLibrary for the correctors to use.
Returns
true on success, false on error.

Definition at line 48 of file GroupPathCorr.cpp.

◆ initGlobal()

bool gnsstk::GroupPathCorr::initGlobal ( NavLibrary navLib,
const std::string &  rinMetFile = "" 
)

Fill calcs with the default set of BCISCorrector, BCIonoCorrector and GlobalTropCorrector.

Parameters
[in]navLibThe NavLibrary for the correctors to use.
[in]rinMetFileA path to a RINEX MET file to read for trop corrections. If no path is specified (the variable is left blank), no data will be read and it will be up to the caller to do any loading of data later.
Returns
true on success, false on error.

Definition at line 65 of file GroupPathCorr.cpp.

◆ initNB()

bool gnsstk::GroupPathCorr::initNB ( NavLibrary navLib,
const std::string &  rinMetFile = "" 
)

Fill calcs with the default set of BCISCorrector, BCIonoCorrector and NBTropCorrector.

Parameters
[in]navLibThe NavLibrary for the correctors to use.
[in]rinMetFileA path to a RINEX MET file to read for trop corrections. If no path is specified (the variable is left blank), no data will be read. The NBTropModel in this case will use its own internal data model.
Returns
true on success, false on error.

Definition at line 89 of file GroupPathCorr.cpp.

Member Data Documentation

◆ calcs

GroupPathCorrectorList gnsstk::GroupPathCorr::calcs

The list of GroupPathCorrector objects to use in the calculation.

Definition at line 172 of file GroupPathCorr.hpp.


The documentation for this class was generated from the following files:
gnsstk::GroupPathCorr::GroupPathCorr
GroupPathCorr()=default
Declaring it explicitly so people don't complain.
gnsstk::GroupPathCorrectorPtr
std::shared_ptr< GroupPathCorrector > GroupPathCorrectorPtr
Short-hand for shared_ptr.
Definition: GroupPathCorrector.hpp:91


gnsstk
Author(s):
autogenerated on Wed Oct 25 2023 02:40:45