IonexModel Class Reference
[GPS solution algorithms and Tropospheric]

#include <IonexModel.hpp>

Inheritance diagram for IonexModel:

Inheritance graph
[legend]
Collaboration diagram for IonexModel:

Collaboration graph
[legend]
List of all members.

Detailed Description

This is a class to compute the main values related to a given GNSS IONEX model, i.e., TEC value, ionospheric mapping function and slant ionospheric delay.

This class is intended to be used with GNSS Data Structures (GDS).

A typical way to use this class follows:

      // Input observation file stream
   RinexObsStream rin("ebre030a.02o");

      // Load precise ephemeris file
   SP3EphemerisStore sp3Eph;
   sp3Eph.loadFile("igs11513.sp3");

      // Load IONEX file
   IonexStore IonexMapList;
   IonexMapList.loadFile("codg0300.02i");

      // Reference position of receiver station
   Position nominalPos(4833520.2269, 41537.00768, 4147461.489);

      // Some more code and definitions here...

   gnssRinex gRin;  // GNSS data structure for fixed station data

      // This object will compute the ionex modeler
   IonexModel ionex(nominalPos, IonexMapList);

   while(rin >> gRin)
   {
      gRin >> model >> ionex;
   }

The "IonexModel" object will visit every satellite in the GNSS data structure that is "gRin" and will try to compute the main values of the corresponding IONEX model: Total Electron Content value (TECU), ionospheric mapping function, ionospheric slant correction (meters).

When used with the ">>" operator, this class returns the same incoming data structure with the extra data inserted along their corresponding satellites.

Be warned that if a given satellite does NOT have the information needed (elevation and azimuth ARE REQUIRED), it will be summarily deleted from the data structure. This also implies that if you try to use a "IonexModel" object without first defining the IONEX model, then ALL satellites will be deleted.

See also:
IonexStore.hpp

Definition at line 106 of file IonexModel.hpp.

Public Member Functions

 IonexModel ()
 Default constructor.
 IonexModel (const Position &RxCoordinates) throw (Exception)
 Explicit constructor, taking as input a Position object containing reference station coordinates.
 IonexModel (const Position &RxCoordinates, IonexStore &istore, const TypeID &dObservable=TypeID::P1, const bool &applyDCB=true, const std::string &ionoMap="SLM") throw (Exception)
 Explicit constructor, taking as input reference station coordinates and ionex maps (Ionex Store object) to be used.
virtual satTypeValueMapProcess (const DayTime &time, satTypeValueMap &gData) throw (Exception)
 Returns a satTypeValueMap object, adding the new data generated when calling a modeling object.
virtual gnssSatTypeValueProcess (gnssSatTypeValue &gData) throw (Exception)
 Returns a gnnsSatTypeValue object, adding the new data generated when calling a modeling object.
virtual gnssRinexProcess (gnssRinex &gData) throw (Exception)
 Returns a gnnsRinex object, adding the new data generated when calling a modeling object.
virtual TypeID getDefaultObservable () const
 Method to get the default observable for computations.
virtual IonexModelsetDefaultObservable (const TypeID &type)
 Method to set the default observable for computations.
virtual IonexStoregetDefaultMaps (void) const
 Method to get a pointer to the default maps to be used with GNSS data structures.
virtual IonexModelsetDefaultMaps (IonexStore &istore)
 Method to set the default ionex maps (IonexStore object) to be used with GNSS data structures.
virtual bool getUseDCB (void) const
 Method to get if DCB is being used.
virtual IonexModelsetUseDCB (bool applyDCB)
 Method to set if DCB will be used.
virtual int setInitialRxPosition (const Position &RxCoordinates) throw (GeometryException)
 Method to set the initial (a priori) position of receiver.
virtual int setInitialRxPosition (void) throw (GeometryException)
 Method to set the initial (a priori) position of receiver.
virtual std::string getIonoMapType () const
 Method to get the default ionosphere mapping function type.
virtual IonexModelsetIonoMapType (const std::string &ionoMap)
 Method to set the default ionosphere mapping function type.
virtual double getDCBCorrections (const DayTime &time, const IonexStore &Maps, SatID sat) throw ()
 Method to get DCB corrections.
virtual int getIndex (void) const
 Returns an index identifying this object.
virtual std::string getClassName (void) const
 Returns a string identifying this object.
virtual ~IonexModel ()
 Destructor.

Protected Attributes

TypeID defaultObservable
 Default observable to be used when fed with GNSS data structures.
IonexStorepDefaultMaps
 Pointer to default Ionex object when working with GNSS data structures.
Position rxPos
 Either estimated or "a priori" position of receiver.
bool useDCB
 Whether or not the DCB effect will be applied to correct P1-code measurements (to make them consistent with LC satellite clocks).
std::string ionoMapType
 Type of ionosphere mapping function.
double ionoHeight
 the mean value for the height of the ionosphere for which the TEC values are extracted.


Constructor & Destructor Documentation

IonexModel  )  [inline]
 

Default constructor.

Definition at line 112 of file IonexModel.hpp.

IonexModel const Position RxCoordinates  )  throw (Exception)
 

Explicit constructor, taking as input a Position object containing reference station coordinates.

Definition at line 56 of file IonexModel.cpp.

IonexModel const Position RxCoordinates,
IonexStore istore,
const TypeID dObservable = TypeID::P1,
const bool &  applyDCB = true,
const std::string &  ionoMap = "SLM"
throw (Exception)
 

Explicit constructor, taking as input reference station coordinates and ionex maps (Ionex Store object) to be used.

Parameters:
RxCoordinates Receiver coordinates.
istore IonexStore object to be used by default.
dObservable Observable type to be used by default.
applyDCB Whether or not P1 observable will be corrected from DCB effect.
ionoMap Type of ionosphere mapping function (string)
See also:
IonexStore::iono_mapping_function

Definition at line 82 of file IonexModel.cpp.

virtual ~IonexModel  )  [inline, virtual]
 

Destructor.

Definition at line 267 of file IonexModel.hpp.


Member Function Documentation

std::string getClassName void   )  const [virtual]
 

Returns a string identifying this object.

Implements ProcessingClass.

Definition at line 49 of file IonexModel.cpp.

double getDCBCorrections const DayTime time,
const IonexStore Maps,
SatID  sat
throw () [virtual]
 

Method to get DCB corrections.

Parameters:
time Epoch.
Maps Store that contains the Ionex maps.
sat SatID of satellite of interest
@ return Differential Code Bias (nano-seconds)

Definition at line 369 of file IonexModel.cpp.

virtual IonexStore* getDefaultMaps void   )  const [inline, virtual]
 

Method to get a pointer to the default maps to be used with GNSS data structures.

Definition at line 187 of file IonexModel.hpp.

virtual TypeID getDefaultObservable  )  const [inline, virtual]
 

Method to get the default observable for computations.

Definition at line 173 of file IonexModel.hpp.

int getIndex void   )  const [virtual]
 

Returns an index identifying this object.

Implements ProcessingClass.

Definition at line 44 of file IonexModel.cpp.

virtual std::string getIonoMapType  )  const [inline, virtual]
 

Method to get the default ionosphere mapping function type.

Definition at line 230 of file IonexModel.hpp.

virtual bool getUseDCB void   )  const [inline, virtual]
 

Method to get if DCB is being used.

Definition at line 201 of file IonexModel.hpp.

virtual gnssRinex& Process gnssRinex gData  )  throw (Exception) [inline, virtual]
 

Returns a gnnsRinex object, adding the new data generated when calling a modeling object.

Parameters:
gData Data object holding the data.

Implements ProcessingClass.

Definition at line 167 of file IonexModel.hpp.

virtual gnssSatTypeValue& Process gnssSatTypeValue gData  )  throw (Exception) [inline, virtual]
 

Returns a gnnsSatTypeValue object, adding the new data generated when calling a modeling object.

Parameters:
gData Data object holding the data.

Implements ProcessingClass.

Definition at line 157 of file IonexModel.hpp.

satTypeValueMap & Process const DayTime time,
satTypeValueMap gData
throw (Exception) [virtual]
 

Returns a satTypeValueMap object, adding the new data generated when calling a modeling object.

Parameters:
time Epoch.
gData Data object holding the data.

Definition at line 107 of file IonexModel.cpp.

References gpstk::C_GPS_M, GPSTK_RETHROW, gpstk::SatIDSet, and Position::transformTo().

virtual IonexModel& setDefaultMaps IonexStore istore  )  [inline, virtual]
 

Method to set the default ionex maps (IonexStore object) to be used with GNSS data structures.

Parameters:
istore IonexStore object to be used by default

Definition at line 196 of file IonexModel.hpp.

virtual IonexModel& setDefaultObservable const TypeID type  )  [inline, virtual]
 

Method to set the default observable for computations.

Parameters:
type TypeID object to be used by default

Definition at line 181 of file IonexModel.hpp.

int setInitialRxPosition void   )  throw (GeometryException) [virtual]
 

Method to set the initial (a priori) position of receiver.

Definition at line 313 of file IonexModel.cpp.

int setInitialRxPosition const Position RxCoordinates  )  throw (GeometryException) [virtual]
 

Method to set the initial (a priori) position of receiver.

Returns:
0 if OK -1 if problems arose

Definition at line 291 of file IonexModel.cpp.

IonexModel & setIonoMapType const std::string &  ionoMap  )  [virtual]
 

Method to set the default ionosphere mapping function type.

Parameters:
ionoMapType Type of ionosphere mapping function (string)
See also:
IonexStore::iono_mapping_function
Warning:
No implementation for JPL's mapping function.

Definition at line 344 of file IonexModel.cpp.

References IonexModel::ionoHeight, and IonexModel::ionoMapType.

virtual IonexModel& setUseDCB bool  applyDCB  )  [inline, virtual]
 

Method to set if DCB will be used.

Parameters:
applyDCB Boolean value indicating whether or not DCB values will be used.

Definition at line 210 of file IonexModel.hpp.


Member Data Documentation

TypeID defaultObservable [protected]
 

Default observable to be used when fed with GNSS data structures.

Definition at line 274 of file IonexModel.hpp.

double ionoHeight [protected]
 

the mean value for the height of the ionosphere for which the TEC values are extracted.

Definition at line 299 of file IonexModel.hpp.

Referenced by IonexModel::setIonoMapType().

std::string ionoMapType [protected]
 

Type of ionosphere mapping function.

See also:
IonexStore::iono_mapping_function

Definition at line 294 of file IonexModel.hpp.

Referenced by IonexModel::setIonoMapType().

IonexStore* pDefaultMaps [protected]
 

Pointer to default Ionex object when working with GNSS data structures.

Definition at line 279 of file IonexModel.hpp.

Position rxPos [protected]
 

Either estimated or "a priori" position of receiver.

Definition at line 283 of file IonexModel.hpp.

bool useDCB [protected]
 

Whether or not the DCB effect will be applied to correct P1-code measurements (to make them consistent with LC satellite clocks).

Definition at line 289 of file IonexModel.hpp.


The documentation for this class was generated from the following files:
Generated on Thu Feb 9 03:31:30 2012 for GPS ToolKit Software Library by  doxygen 1.3.9.1