Changeset 9267 in ntrip for branches/BNC_2.12


Ignore:
Timestamp:
Nov 23, 2020, 9:40:46 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
  • branches/BNC_2.12/src/combination/bnccomb.cpp

    r9261 r9267  
    163163
    164164  QString ssrFormat;
     165  _ssrCorr = 0;
    165166  QListIterator<QString> it(settings.value("uploadMountpointsOut").toStringList());
    166167  while (it.hasNext()) {
     
    170171    }
    171172  }
    172   _ssrCorr = 0;
    173173  if      (ssrFormat == "IGS-SSR") {
    174174    _ssrCorr = new SsrCorrIgs();
     
    177177    _ssrCorr = new SsrCorrRtcm();
    178178  }
    179 
     179  else { // default
     180    _ssrCorr = new SsrCorrIgs();
     181  }
     182 
    180183  _rtnetDecoder = 0;
    181184
     
    407410    else {
    408411      QMap<t_prn, t_orbCorr>& storage = _orbCorrections[acName];
    409       if (!storage.contains(clkCorr._prn)  || storage[clkCorr._prn]._iod != newCorr->_iod) {
     412      if (!storage.contains(clkCorr._prn)  ||
     413           storage[clkCorr._prn]._iod != newCorr->_iod) {
    410414        delete newCorr;
    411415        continue;
     
    422426    if (ephLast == 0) {
    423427      emit newMessage("bncComb: eph not found for "  + prn.mid(0,3).toAscii(), true);
     428      delete newCorr;
     429      continue;
     430    }
     431    else if (ephLast->checkState() != t_eph::ok) {
     432      emit newMessage("bncComb: eph not ok for "  + prn.mid(0,3).toLatin1(), true);
    424433      delete newCorr;
    425434      continue;
     
    470479  ColumnVector oldXC(6);
    471480  ColumnVector oldVV(3);
    472   corr->_eph->getCrd(corr->_time, oldXC, oldVV, false);
     481  if (corr->_eph->getCrd(corr->_time, oldXC, oldVV, false) != success) {
     482    return;
     483  }
    473484
    474485  ColumnVector newXC(6);
    475486  ColumnVector newVV(3);
    476   lastEph->getCrd(corr->_time, newXC, newVV, false);
     487  if (lastEph->getCrd(corr->_time, newXC, newVV, false) != success) {
     488    return;
     489  }
    477490
    478491  ColumnVector dX = newXC.Rows(1,3) - oldXC.Rows(1,3);
    479492  ColumnVector dV = newVV           - oldVV;
    480493  double       dC = newXC(4)        - oldXC(4);
    481 
    482   // small check
    483   // -----------
    484   const double MAXDIFF = 1000.0;
    485   double diff  = dX.norm_Frobenius();
    486   double diffC = dC * t_CST::c ;
    487   if (diff  > MAXDIFF ||
    488       diffC > MAXDIFF) {
    489     return;
    490   }
    491494
    492495  ColumnVector dRAO(3);
Note: See TracChangeset for help on using the changeset viewer.