AntexReader Class Reference
[Formatted file I/O]

#include <AntexReader.hpp>

Inheritance diagram for AntexReader:

Inheritance graph
[legend]
Collaboration diagram for AntexReader:

Collaboration graph
[legend]
List of all members.

Detailed Description

This is a class to read and parse antenna data in Antex file format.

You may find antenna-related data at:

ftp://igscb.jpl.nasa.gov/pub/station/general/

At that site you'll find some very important files:

This class is normally used in combination with 'Antenna' class. A typical way to use these classes follows:

      // Declare some Antenna objects
   Antenna antenna1;
   Antenna antenna2;
   Antenna satGPS02;

      // Create AntexReader object
   AntexReader antexread;

      // Open Antex file. 'igs05.atx' is for absolute phase centers,
      // while 'igs_01.atx' is for relative phase centers.
   antexread.open("igs05.atx");

   double elevation( 34.5 );
   double azimuth( 163.2 );

      // Get antenna data and eccentricity for L1 for satellite GPS-07
      // at a specific epoch
   DayTime epoch(2008, 6, 15, 10, 21, 12654.0);
   satGPS07 = antexread.getAntenna( "G07", epoch );
   cout << satGPS07.getAntennaPCOffset( Antenna::G01 ) << endl;

      // Get antenna data and non-azimuth dependent phase center
      // offset value + eccentricity for L2.
      // Radome type is NOT taken into account
   antenna1  = antexread.getAntennaNoRadome("AOAD/M_B");
   cout << antenna1.getAntennaPCOffset( Antenna::G02, elevation );

      // Get antenna data and azimuth-dependent phase center offset
      // value + eccentricity for L1.
      // Ask for a specific "strict IGS" model+radome combination
   std::string strictIGSModel( "ASH700936B_M    SNOW" );
   antenna2  = antexread.getAntenna( strictIGSModel );
   cout << antenna2.getAntennaPCOffset( Antenna::G01,
                                        elevation,
                                        azimuth );

See also:
Antenna.hpp

Definition at line 124 of file AntexReader.hpp.

Public Types

enum  pcvType { absolute = 1, relative, Unknown }
 Phase center variation type. More...

Public Member Functions

 AntexReader ()
 Default constructor.
 AntexReader (const char *fn)
 Common constructor.
 AntexReader (const string &fn)
 Common constructor.
virtual void open (const char *fn)
 Method to open and load Antex file header data.
virtual void open (const string &fn)
 Method to open and load Antex file header data.
virtual Antenna getAntennaNoRadome (const string &model) throw (ObjectNotFound)
 Method to get antenna data from a given model.
virtual Antenna getAntenna (const string &model) throw (ObjectNotFound)
 Method to get antenna data from a given IGS model.
virtual Antenna getAntenna (const string &model, const string &serial) throw (ObjectNotFound)
 Method to get antenna data from a given IGS model and serial.
virtual Antenna getAntenna (const string &model, const string &serial, const DayTime &epoch) throw (ObjectNotFound)
 Method to get antenna data from a given IGS model and serial, and for a specific epoch.
virtual Antenna getAntenna (const string &serial, const DayTime &epoch) throw (ObjectNotFound)
 Method to get antenna data from a given serial and a specific epoch.
bool isValid () const
 Returns if this object is valid.
double getVersion () const
 Returns version of Antex file.
bool isAbsolute () const
 Returns if loaded antenna data file is absolute or relative.
virtual void dump (std::ostream &s) const
 This methods dumps all data in Antex file header.
virtual ~AntexReader ()
 Destructor.

Static Public Attributes

AntexReaderFormatStrings
Antex Formatting Strings

const std::string versionString = "ANTEX VERSION / SYST"
 "ANTEX VERSION / SYST"
const std::string pcvTypeString = "PCV TYPE / REFANT"
 "PCV TYPE / REFANT"
const std::string commentString = "COMMENT"
 "COMMENT"
const std::string endOfHeader = "END OF HEADER"
 "END OF HEADER"
const std::string startOfAntenna = "START OF ANTENNA"
 "START OF ANTENNA"
const std::string typeSerial = "TYPE / SERIAL NO"
 "TYPE / SERIAL NO"
const std::string calibrationMethod = "METH / BY / # / DATE"
 "METH / BY / # / DATE"
const std::string incrementAzimuth = "DAZI"
 "DAZI"
const std::string zenithGrid = "ZEN1 / ZEN2 / DZEN"
 "ZEN1 / ZEN2 / DZEN"
const std::string numberFreq = "# OF FREQUENCIES"
 "# OF FREQUENCIES"
const std::string validFrom = "VALID FROM"
 "VALID FROM"
const std::string validUntil = "VALID UNTIL"
 "VALID UNTIL"
const std::string sinexCode = "SINEX CODE"
 "SINEX CODE"
const std::string startOfFreq = "START OF FREQUENCY"
 "START OF FREQUENCY"
const std::string antennaEcc = "NORTH / EAST / UP"
 "NORTH / EAST / UP"
const std::string endOfFreq = "END OF FREQUENCY"
 "END OF FREQUENCY"
const std::string startOfFreqRMS = "START OF FREQ RMS"
 "START OF FREQ RMS"
const std::string antennaEccRMS = "NORTH / EAST / UP"
 "NORTH / EAST / UP"
const std::string endOfFreqRMS = "END OF FREQ RMS"
 "END OF FREQ RMS"
const std::string endOfAntenna = "END OF ANTENNA"
 "END OF ANTENNA"


Member Enumeration Documentation

enum pcvType
 

Phase center variation type.

Enumeration values:
absolute  Absolute PCV.
relative  Relative PCV.
Unknown  Unknown PCV.

Definition at line 159 of file AntexReader.hpp.


Constructor & Destructor Documentation

AntexReader  )  [inline]
 

Default constructor.

Definition at line 168 of file AntexReader.hpp.

AntexReader const char *  fn  )  [inline]
 

Common constructor.

It will always open Antex file for read and will load Antex file header data in one pass.

Parameters:
fn Antex data file to read

Definition at line 179 of file AntexReader.hpp.

AntexReader const string &  fn  )  [inline]
 

Common constructor.

It will always open Antex file for read and will load Antex file header data in one pass.

Parameters:
fn Antex data file to read

Definition at line 190 of file AntexReader.hpp.

virtual ~AntexReader  )  [inline, virtual]
 

Destructor.

Definition at line 309 of file AntexReader.hpp.


Member Function Documentation

void dump std::ostream &  s  )  const [virtual]
 

This methods dumps all data in Antex file header.

Definition at line 1482 of file AntexReader.cpp.

References AntexReader::isValid().

Antenna getAntenna const string &  serial,
const DayTime epoch
throw (ObjectNotFound) [virtual]
 

Method to get antenna data from a given serial and a specific epoch.

This method is particularly useful to look for satellite antennas.

Parameters:
serial Antenna serial number.
epoch Validity epoch.
Note:
Antenna serial number case is NOT relevant.
Warning:
The antenna returned will be the first one in the Antex file that matches the conditions.

Definition at line 1232 of file AntexReader.cpp.

References Antenna::getAntennaCalMethod(), Antenna::getAntennaRadome(), Antenna::getAntennaSerial(), Antenna::getAntennaType(), Antenna::getAntennaValidFrom(), Antenna::getAntennaValidUntil(), GPSTK_RETHROW, GPSTK_THROW, gpstk::StringUtils::strip(), and gpstk::StringUtils::upperCase().

Antenna getAntenna const string &  model,
const string &  serial,
const DayTime epoch
throw (ObjectNotFound) [virtual]
 

Method to get antenna data from a given IGS model and serial, and for a specific epoch.

Parameters:
model IGS antenna model
serial Antenna serial number.
epoch Validity epoch.
Note:
Antenna model and serial number case is NOT relevant.

IGS antenna model combines antenna type and radome.

Warning:
The antenna returned will be the first one in the Antex file that matches the conditions.

Definition at line 1027 of file AntexReader.cpp.

References Antenna::getAntennaCalMethod(), Antenna::getAntennaRadome(), Antenna::getAntennaSerial(), Antenna::getAntennaType(), Antenna::getAntennaValidFrom(), Antenna::getAntennaValidUntil(), GPSTK_RETHROW, GPSTK_THROW, gpstk::StringUtils::strip(), and gpstk::StringUtils::upperCase().

Antenna getAntenna const string &  model,
const string &  serial
throw (ObjectNotFound) [virtual]
 

Method to get antenna data from a given IGS model and serial.

Parameters:
model IGS antenna model
serial Antenna serial number.
Note:
Antenna model and serial number case is NOT relevant.

IGS antenna model combines antenna type and radome.

Warning:
The antenna returned will be the first one in the Antex file that matches the conditions.

Definition at line 855 of file AntexReader.cpp.

References Antenna::getAntennaCalMethod(), Antenna::getAntennaRadome(), Antenna::getAntennaSerial(), Antenna::getAntennaType(), Antenna::getAntennaValidFrom(), GPSTK_RETHROW, GPSTK_THROW, gpstk::StringUtils::strip(), and gpstk::StringUtils::upperCase().

Antenna getAntenna const string &  model  )  throw (ObjectNotFound) [virtual]
 

Method to get antenna data from a given IGS model.

Parameters:
model IGS antenna model
Note:
Antenna model case is NOT relevant.

IGS antenna model combines antenna type and radome.

Warning:
The antenna returned will be the first one in the Antex file that matches the condition.

If IGS model doesn't include radome, method 'getAntennaNoRadome()' will be automatically called.

Definition at line 697 of file AntexReader.cpp.

References Antenna::getAntennaCalMethod(), Antenna::getAntennaRadome(), Antenna::getAntennaSerial(), Antenna::getAntennaType(), Antenna::getAntennaValidFrom(), GPSTK_RETHROW, GPSTK_THROW, gpstk::StringUtils::strip(), and gpstk::StringUtils::upperCase().

Antenna getAntennaNoRadome const string &  model  )  throw (ObjectNotFound) [virtual]
 

Method to get antenna data from a given model.

Just the model, without including the radome

Parameters:
model Antenna model, without including radome.
Note:
Antenna model case is NOT relevant.
Warning:
The antenna returned will be the first one in the Antex file that matches the condition.

Definition at line 561 of file AntexReader.cpp.

References Antenna::getAntennaCalMethod(), Antenna::getAntennaRadome(), Antenna::getAntennaSerial(), Antenna::getAntennaType(), Antenna::getAntennaValidFrom(), GPSTK_RETHROW, GPSTK_THROW, gpstk::StringUtils::strip(), and gpstk::StringUtils::upperCase().

double getVersion  )  const [inline]
 

Returns version of Antex file.

Definition at line 296 of file AntexReader.hpp.

bool isAbsolute  )  const
 

Returns if loaded antenna data file is absolute or relative.

Definition at line 1466 of file AntexReader.cpp.

bool isValid void   )  const [inline]
 

Returns if this object is valid.

Definition at line 291 of file AntexReader.hpp.

Referenced by AntexReader::dump().

void open const string &  fn  )  [virtual]
 

Method to open and load Antex file header data.

Definition at line 1437 of file AntexReader.cpp.

void open const char *  fn  )  [virtual]
 

Method to open and load Antex file header data.

Definition at line 1408 of file AntexReader.cpp.


Member Data Documentation

const string antennaEcc = "NORTH / EAST / UP" [static]
 

"NORTH / EAST / UP"

Definition at line 57 of file AntexReader.cpp.

const string antennaEccRMS = "NORTH / EAST / UP" [static]
 

"NORTH / EAST / UP"

Definition at line 60 of file AntexReader.cpp.

const string calibrationMethod = "METH / BY / # / DATE" [static]
 

"METH / BY / # / DATE"

Definition at line 49 of file AntexReader.cpp.

const string commentString = "COMMENT" [static]
 

"COMMENT"

Definition at line 44 of file AntexReader.cpp.

const string endOfAntenna = "END OF ANTENNA" [static]
 

"END OF ANTENNA"

Definition at line 62 of file AntexReader.cpp.

const string endOfFreq = "END OF FREQUENCY" [static]
 

"END OF FREQUENCY"

Definition at line 58 of file AntexReader.cpp.

const string endOfFreqRMS = "END OF FREQ RMS" [static]
 

"END OF FREQ RMS"

Definition at line 61 of file AntexReader.cpp.

const string endOfHeader = "END OF HEADER" [static]
 

"END OF HEADER"

Definition at line 45 of file AntexReader.cpp.

const string incrementAzimuth = "DAZI" [static]
 

"DAZI"

Definition at line 50 of file AntexReader.cpp.

const string numberFreq = "# OF FREQUENCIES" [static]
 

"# OF FREQUENCIES"

Definition at line 52 of file AntexReader.cpp.

const string pcvTypeString = "PCV TYPE / REFANT" [static]
 

"PCV TYPE / REFANT"

Definition at line 43 of file AntexReader.cpp.

const string sinexCode = "SINEX CODE" [static]
 

"SINEX CODE"

Definition at line 55 of file AntexReader.cpp.

const string startOfAntenna = "START OF ANTENNA" [static]
 

"START OF ANTENNA"

Definition at line 47 of file AntexReader.cpp.

const string startOfFreq = "START OF FREQUENCY" [static]
 

"START OF FREQUENCY"

Definition at line 56 of file AntexReader.cpp.

const string startOfFreqRMS = "START OF FREQ RMS" [static]
 

"START OF FREQ RMS"

Definition at line 59 of file AntexReader.cpp.

const string typeSerial = "TYPE / SERIAL NO" [static]
 

"TYPE / SERIAL NO"

Definition at line 48 of file AntexReader.cpp.

const string validFrom = "VALID FROM" [static]
 

"VALID FROM"

Definition at line 53 of file AntexReader.cpp.

const string validUntil = "VALID UNTIL" [static]
 

"VALID UNTIL"

Definition at line 54 of file AntexReader.cpp.

const string versionString = "ANTEX VERSION / SYST" [static]
 

"ANTEX VERSION / SYST"

Definition at line 42 of file AntexReader.cpp.

const string zenithGrid = "ZEN1 / ZEN2 / DZEN" [static]
 

"ZEN1 / ZEN2 / DZEN"

Definition at line 51 of file AntexReader.cpp.


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