예제 #1
0
RinexDatum Rinex3ObsData::getObs(const RinexSatID& svID,
                                 const RinexObsID& obsID,
                                 const Rinex3ObsHeader& hdr ) const
throw(InvalidRequest)
{
    string sys(1,svID.systemChar());
    return getObs(svID, hdr.getObsIndex(sys, obsID));
}
예제 #2
0
void Rinex3ObsData::setObs(const RinexDatum& data,
                           const RinexSatID& svID,
                           const RinexObsID& obsID,
                           const Rinex3ObsHeader& hdr )
throw(InvalidRequest)
{
    size_t index = hdr.getObsIndex(string(1,svID.systemChar()), obsID);
    if (obs[svID].size() <= index)
        obs[svID].resize(index+1);
    obs[svID][index] = data;
}
예제 #3
0
      /** Get a combination of observations from a Rinex3ObsData object
          *
          * @param rinexData  The Rinex data set holding the observations.
          * @param type1      String representing observation type #1.
          * @param type2      String representing observation type #2.
          * @param hdr        RINEX Observation Header for current RINEX file.
          *
          * @return
          *    Number of SVs with this combination of observables available
          */
   int ExtractCombinationData::getData( const Rinex3ObsData& rinexData,
                                        std::string type1,
                                        std::string type2,
                                        const Rinex3ObsHeader& hdr )
   throw(InvalidRequest)
   {
         // Get the indexes corresponding to these observation types
      int index1( hdr.getObsIndex(type1) );
      int index2( hdr.getObsIndex(type2) );

         // Call the appropriate method
      return ( getData(rinexData, index1, index2) );

   }  // End of method 'ExtractData::getData()'
예제 #4
0
RinexDatum Rinex3ObsData::getObs(const RinexSatID& svID,
                                 const std::string& type,
                                 const Rinex3ObsHeader& hdr ) const
throw(InvalidRequest)
{
    string obsID;
    // Add GNSS code if needed
    if( type.size() == 3 )
        obsID = svID.systemChar() + type;
    else
        obsID = type;

    return getObs(svID, hdr.getObsIndex(obsID));
}
예제 #5
0
     /* This method returns the RinexDatum of a given observation
      *
      * @param sat  Satellite whose observation we want to fetch.
      * @param type String representing the observation type.
      * @param hdr  RINEX Observation Header for current RINEX file.
      */
   RinexDatum Rinex3ObsData::getObs( const SatID& sat, std::string type,
                                             const Rinex3ObsHeader& hdr ) const
      throw(InvalidRequest)
   {

         // We will need the system 'char' of the satellite
      RinexSatID rsat(sat);

         // Add GNSS code if needed
      if( type.size() == 3 )
      {
         char sysCode = rsat.systemChar();
         type = sysCode + type;
      }

         // Get the index corresponding to this observation type
      int index( hdr.getObsIndex(type) );

         // Return the corresponding data
      return getObs(sat, index);

   }  // End of method 'Rinex3ObsData::getValue( const SatID sat,...'