Changeset 8931 in ntrip


Ignore:
Timestamp:
Apr 30, 2020, 11:08:55 AM (4 years ago)
Author:
stuerze
Message:

GPS fit intervall: different specifications in differet RINEX versions are now considerred

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/BNC/src/ephemeris.cpp

    r8927 r8931  
    302302      // fitInterval is not valid for IRNSS
    303303      if (type() != t_eph::IRNSS) {
    304         // Rinex 3.04:
    305304        double fitIntervalRnx;
    306305        readDbl(line, pos[1], fieldLen, fitIntervalRnx);
    307         if        (type() == t_eph::GPS) {  // specified as time period for GPS
    308           _fitInterval = fitIntervalRnx;
     306        if        (type() == t_eph::GPS) {
     307          if (rnxVersion < 3.03) {// specified as flag for GPS
     308            _fitInterval = fitIntervalFromFlag(fitIntervalRnx, _IODC, t_eph::GPS);
     309          } else {                // specified as time period for GPS since 3.03
     310            _fitInterval = fitIntervalRnx;
     311          }
    309312        } else if (type() == t_eph::QZSS) { // specified as flag for QZSS
    310313          _fitInterval = fitIntervalFromFlag(fitIntervalRnx, _IODC, t_eph::QZSS);
     
    314317  }
    315318}
     319
    316320
    317321// Compute GPS Satellite Position (virtual)
     
    488492  }
    489493  else {
    490     // Rinex 3.04:
    491     double fitIntervalRnx = _fitInterval; // specified as time period in hours for GPS
    492     if (type() == t_eph::QZSS) {          // specified as flag for QZSS
     494    double fitIntervalRnx;
     495    if      (type() == t_eph::GPS) {
     496      if (version < 3.03) { // specified as flag)
     497        (_fitInterval == 4.0) ? fitIntervalRnx = 0.0 : fitIntervalRnx = 1.0;
     498      }
     499      else {
     500        fitIntervalRnx = _fitInterval; // specified as time period in hours
     501      }
     502    }
     503    else if (type() == t_eph::QZSS) {    // specified as flag
    493504      (_fitInterval == 2.0) ? fitIntervalRnx = 0.0 : fitIntervalRnx = 1.0;
    494505    }
     
    499510      .arg("",             19, QChar(' '));
    500511  }
    501 
    502512  return rnxStr;
    503513}
Note: See TracChangeset for help on using the changeset viewer.