Changeset 6017 in ntrip for trunk/BNC/src/PPP/pppSatObs.cpp
- Timestamp:
- Aug 21, 2014, 8:44:50 AM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/BNC/src/PPP/pppSatObs.cpp
r6015 r6017 59 59 //////////////////////////////////////////////////////////////////////////// 60 60 t_pppSatObs::t_pppSatObs(const t_satObs& pppSatObs) { 61 _prn = pppSatObs._prn;62 _time = pppSatObs._time;63 _outlier 64 for (unsigned ii = 0; ii < pppSatObs._obs.size(); ii++) {65 _ allObs.push_back(new t_frqObs(*pppSatObs._obs[ii]));66 } 67 prepareObs( );61 _prn = pppSatObs._prn; 62 _time = pppSatObs._time; 63 _outlier = false; 64 for (unsigned ii = 0; ii < t_frequency::max; ii++) { 65 _obs[ii] = 0; 66 } 67 prepareObs(pppSatObs); 68 68 } 69 69 … … 71 71 //////////////////////////////////////////////////////////////////////////// 72 72 t_pppSatObs::~t_pppSatObs() { 73 for (unsigned ii = 0; ii < _allObs.size(); ii++) { 74 delete _allObs[ii]; 75 } 76 } 77 78 // 79 //////////////////////////////////////////////////////////////////////////// 80 void t_pppSatObs::prepareObs() { 73 for (unsigned iFreq = 1; iFreq < t_frequency::max; iFreq++) { 74 delete _obs[iFreq]; 75 } 76 } 77 78 // 79 //////////////////////////////////////////////////////////////////////////// 80 void t_pppSatObs::prepareObs(const t_satObs& pppSatObs) { 81 81 82 _model.reset(); 82 _valid = true; 83 _validObs1 = 0; 84 _validObs2 = 0; 85 86 bool dualFreq = OPT->dualFreqRequired(_prn.system()); 87 88 // Select two pseudoranges and two phase observations 89 // -------------------------------------------------- 83 84 // Select pseudoranges and phase observations 85 // ------------------------------------------ 90 86 const string preferredAttrib = "CWP_"; 91 for (unsigned iPref = 0; iPref < preferredAttrib.length(); iPref++) { 92 string obsType1 = (preferredAttrib[iPref] == '_') ? string("1") : string("1") + preferredAttrib[iPref]; 93 string obsType2 = (preferredAttrib[iPref] == '_') ? string("2") : string("2") + preferredAttrib[iPref]; 94 if (_validObs1 == 0) { 95 for (unsigned ii = 0; ii < _allObs.size(); ii++) { 96 t_frqObs* obs = _allObs[ii]; 97 if (obs->_rnxType2ch == obsType1 && obs->_codeValid && obs->_phaseValid) { 98 _validObs1 = obs; 99 } 100 } 101 } 102 if (dualFreq) { 103 if (_validObs2 == 0) { 104 for (unsigned ii = 0; ii < _allObs.size(); ii++) { 105 t_frqObs* obs = _allObs[ii]; 106 if (obs->_rnxType2ch == obsType2 && obs->_codeValid && obs->_phaseValid) { 107 _validObs2 = obs; 87 88 for (unsigned iFreq = 1; iFreq < t_frequency::max; iFreq++) { 89 string frqNum = t_frequency::toString(t_frequency::type(iFreq)).substr(1); 90 for (unsigned iPref = 0; iPref < preferredAttrib.length(); iPref++) { 91 string obsType = (preferredAttrib[iPref] == '_') ? frqNum : frqNum + preferredAttrib[iPref]; 92 if (_obs[iFreq] == 0) { 93 for (unsigned ii = 0; ii < pppSatObs._obs.size(); ii++) { 94 const t_frqObs* obs = pppSatObs._obs[ii]; 95 if (obs->_rnxType2ch == obsType && obs->_codeValid && obs->_phaseValid) { 96 _obs[iFreq] = new t_frqObs(*obs); 108 97 } 109 98 } … … 111 100 } 112 101 } 113 114 if (_validObs1 == 0 || (dualFreq && _validObs2 == 0)) {115 _valid = false;116 return;117 }118 102 119 103 // Find Glonass Channel Number
Note:
See TracChangeset
for help on using the changeset viewer.