- Timestamp:
- Dec 30, 2014, 3:59:11 PM (10 years ago)
- Location:
- trunk/BNC/src
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/BNC/src/bncephuser.cpp
r6520 r6521 173 173 ColumnVector xc(4); 174 174 ColumnVector vv(3); 175 176 175 if (eph->getCrd(eph->TOC(), xc, vv, false) != success) { 177 176 eph->setCheckState(t_eph::bad); … … 181 180 double rr = xc.Rows(1,3).norm_Frobenius(); 182 181 183 if (rr < 2.e7 || rr > 4.e7) { 182 const double MINDIST = 2.e7; 183 const double MAXDIST = 4.e7; 184 if (rr < MINDIST || rr > MAXDIST) { 184 185 eph->setCheckState(t_eph::bad); 185 186 return; 186 187 } 187 188 188 } 189 // Check consistency with older ephemerides 190 // ---------------------------------------- 191 const double MAXDIFF = 100.0; 192 QString prn = QString(eph->prn().toString().c_str()); 193 t_eph* ephL = ephLast(prn); 194 if (ephL) { 195 ColumnVector xcL(4); 196 ColumnVector vvL(3); 197 ephL->getCrd(eph->TOC(), xcL, vvL, false); 198 199 double dt = eph->TOC() - ephL->TOC(); 200 double diff = (xc.Rows(1,3) - xcL.Rows(1,3)).norm_Frobenius(); 201 202 if (diff < MAXDIFF) { 203 if (dt != 0.0) { 204 eph->setCheckState(t_eph::ok); 205 ephL->setCheckState(t_eph::ok); 206 } 207 } 208 else { 209 if (ephL->checkState() == t_eph::ok) { 210 eph->setCheckState(t_eph::bad); 211 } 212 } 213 } 214 } -
trunk/BNC/src/ephemeris.h
r6519 r6521 20 20 public: 21 21 enum e_type {unknown, GPS, QZSS, GLONASS, Galileo, SBAS, Compass}; 22 enum e_checkState {unchecked, ok, suspicious,bad};22 enum e_checkState {unchecked, ok, bad}; 23 23 24 24 t_eph();
Note:
See TracChangeset
for help on using the changeset viewer.