Changeset 9268 in ntrip for trunk


Ignore:
Timestamp:
Nov 23, 2020, 11:24:16 PM (3 years ago)
Author:
stuerze
Message:

minor changes to prevent erroneous epehemeris data sets from usage in combination

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/BNC/src/combination/bnccomb.cpp

    r9266 r9268  
    194194          this,     SLOT(slotNewClkCorrections(QList<t_clkCorr>)));
    195195
    196 
    197 
    198196  // Combination Method
    199197  // ------------------
     
    409407      continue;
    410408    }
    411     else if (ephLast->checkState() != t_eph::ok) {
    412       emit newMessage("bncComb: eph not ok for "  + prn.mid(0,3).toLatin1(), true);
     409    else if (ephLast->checkState() == t_eph::bad ||
     410             ephLast->checkState() == t_eph::outdated ||
     411             ephLast->checkState() == t_eph::unhealthy) {
     412      emit newMessage("bncComb: ephLast not ok for "  + prn.mid(0,3).toLatin1(), true);
    413413      delete newCorr;
    414414      continue;
     
    418418        newCorr->_eph = ephLast;
    419419      }
    420       else if (ephPrev && ephPrev->IOD() == newCorr->_iod) {
     420      else if (ephPrev && ephPrev->checkState() == t_eph::ok &&
     421               ephPrev->IOD() == newCorr->_iod) {
    421422        newCorr->_eph = ephPrev;
    422423        switchToLastEph(ephLast, newCorr);
     
    434435    QVector<cmbCorr*>& corrs = _buffer[sys][newCorr->_time].corrs;
    435436    corrs.push_back(newCorr);
    436 
    437 
    438437  }
    439438
     
    709708      ColumnVector xc(6);
    710709      ColumnVector vv(3);
    711       eph->getCrd(_resTime, xc, vv, false);
    712 
     710      if (eph->getCrd(_resTime, xc, vv, false) != success) {
     711        continue;
     712      }
    713713      out << _resTime.datestr().c_str() << " "
    714714          << _resTime.timestr().c_str() << " ";
     
    762762    corr->_eph->setClkCorr(dynamic_cast<const t_clkCorr*>(&clkCorr));
    763763    corr->_eph->setOrbCorr(dynamic_cast<const t_orbCorr*>(&orbCorr));
    764     corr->_eph->getCrd(_resTime, xc, vv, true);
     764    if (corr->_eph->getCrd(_resTime, xc, vv, true) != success) {
     765      delete corr;
     766      continue;
     767    }
    765768
    766769    // Correction Phase Center --> CoM
Note: See TracChangeset for help on using the changeset viewer.