Changeset 7861 in ntrip for trunk/BNC/src/bncephuser.cpp


Ignore:
Timestamp:
Apr 11, 2016, 2:16:46 PM (8 years ago)
Author:
stuerze
Message:

BRDC ephemeris check: a bug is fixed and another small check is added

File:
1 edited

Legend:

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

    r7847 r7861  
    161161
    162162  if ((ephOld == 0 || newEph->isNewerThan(ephOld)) &&
    163       (eph->checkState() != t_eph::bad ||
     163      (eph->checkState() != t_eph::bad &&
    164164       eph->checkState() != t_eph::outdated)) {
    165165    deque<t_eph*>& qq = _eph[prn];
     
    248248  QString      prn     = QString(eph->prn().toInternalString().c_str());
    249249  t_eph*       ephL    = ephLast(prn);
     250
    250251  if (ephL) {
    251252    ColumnVector xcL(4);
     
    253254    ephL->getCrd(eph->TOC(), xcL, vvL, false);
    254255
    255     double dt   = eph->TOC() - ephL->TOC();
    256     double diff = (xc.Rows(1,3) - xcL.Rows(1,3)).norm_Frobenius();
     256    double dt    = eph->TOC() - ephL->TOC();
     257    double diff  = (xc.Rows(1,3) - xcL.Rows(1,3)).norm_Frobenius();
     258    double diffC = fabs(xc(4) - xcL(4)) * t_CST::c;
    257259
    258260    // some lines to allow update of ephemeris data sets after outage
     
    282284    }
    283285
    284     if (diff < MAXDIFF) {
     286    if (diff < MAXDIFF && diffC < MAXDIFF) {
    285287      if (dt != 0.0) {
    286288        eph->setCheckState(t_eph::ok);
Note: See TracChangeset for help on using the changeset viewer.