Changeset 10116 in ntrip for trunk/BNC/src/combination
- Timestamp:
- Jul 3, 2023, 11:30:51 PM (17 months ago)
- Location:
- trunk/BNC/src/combination
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/BNC/src/combination/bnccomb.cpp
r10109 r10116 174 174 newAC->name = hlp[1]; 175 175 newAC->weightFactor = hlp[2].toDouble(); 176 newAC->isAPC = (newAC->mountPoint.mid(0,4) =="SSRA"); 176 177 QMapIterator<char, unsigned> itSys(_cmbSysPrn); 177 178 // init … … 179 180 itSys.next(); 180 181 char sys = itSys.key(); 181 if ( _masterOrbitAC.isEmpty()) {182 if (!_masterOrbitAC.contains(sys)) { 182 183 _masterOrbitAC[sys] = newAC->name; 184 _masterIsAPC[sys] = newAC->isAPC; 183 185 } 184 186 } … … 465 467 // ---------------------- 466 468 QString acName; 469 bool isAPC; 467 470 QString staID(newClk->_staID.c_str()); 468 471 QListIterator<cmbAC*> icAC(_ACs); … … 471 474 if (AC->mountPoint == staID) { 472 475 acName = AC->name; 476 isAPC = AC->isAPC; 473 477 break; 474 478 } 475 479 } 476 if (acName.isEmpty() ) {480 if (acName.isEmpty() || isAPC != _masterIsAPC[sys]) { 477 481 delete newClk; 478 482 continue; … … 482 486 // ---------------------------- 483 487 if ((newClk->_time >= currentTime) || // future time stamp 484 (currentTime - newClk->_time) > 120.0) { 488 (currentTime - newClk->_time) > 120.0) { // very old data sets 485 489 #ifdef BNC_DEBUG_CMB 486 490 emit newMessage("bncComb: very old data sets: " + acName.toLatin1() + " " + newClk->_prn.toString().c_str() + … … 833 837 << epoTime.timestr().c_str() << "\n"; 834 838 _masterOrbitAC[sys] = AC->name; 839 _masterIsAPC[sys] = AC->isAPC; 835 840 break; 836 841 } … … 1061 1066 // Correction Phase Center --> CoM 1062 1067 // ------------------------------- 1068 1063 1069 ColumnVector dx(3); dx = 0.0; 1070 ColumnVector apc(3); apc = 0.0; 1071 ColumnVector com(3); com = 0.0; 1072 bool masterIsAPC = true; 1064 1073 if (_antex) { 1065 1074 double Mjd = epoTime.mjd() + epoTime.daysec()/86400.0; 1075 char sys = corr->_eph->prn().system(); 1076 masterIsAPC = _masterIsAPC[sys]; 1066 1077 if (_antex->satCoMcorrection(corr->_prn, Mjd, xc.Rows(1,3), dx) != success) { 1067 1078 dx = 0; 1068 1079 _log += "antenna not found " + corr->_prn.mid(0,3).toLatin1() + '\n'; 1069 1080 } 1081 } 1082 if (masterIsAPC) { 1083 apc(1) = xc(1); 1084 apc(2) = xc(2); 1085 apc(3) = xc(3); 1086 com(1) = xc(1)-dx(1); 1087 com(2) = xc(2)-dx(2); 1088 com(3) = xc(3)-dx(3); 1089 } 1090 else { 1091 com(1) = xc(1); 1092 com(2) = xc(2); 1093 com(3) = xc(3); 1094 apc(1) = xc(1)+dx(1); 1095 apc(2) = xc(2)+dx(2); 1096 apc(3) = xc(3)+dx(3); 1070 1097 } 1071 1098 … … 1076 1103 " Vel 3 %15.4f %15.4f %15.4f" 1077 1104 " CoM 3 %15.4f %15.4f %15.4f", 1078 xc(1), xc(2), xc(3),1105 apc(1), apc(2), apc(3), 1079 1106 xc(4) * t_CST::c, 1080 1107 vv(1), vv(2), vv(3), 1081 xc(1)-dx(1), xc(2)-dx(2), xc(3)-dx(3));1108 com(1), com(2), com(3)); 1082 1109 outLines += hlp; 1083 1110 hlp.clear(); -
trunk/BNC/src/combination/bnccomb.h
r10096 r10116 85 85 numObs['S'] = 0; 86 86 numObs['I'] = 0; 87 isAPC = false; 87 88 } 88 89 ~cmbAC() {} … … 90 91 QString name; 91 92 double weightFactor; 93 bool isAPC; 92 94 QMap<char, unsigned> numObs; 93 95 }; … … 256 258 QMap<char, QString> _masterOrbitAC; 257 259 QMap<char, unsigned> _masterMissingEpochs; 260 QMap<char, bool> _masterIsAPC; 258 261 e_method _method; 259 262 int _cmbSampl;
Note:
See TracChangeset
for help on using the changeset viewer.