Changeset 2053 in ntrip


Ignore:
Timestamp:
Nov 29, 2009, 11:29:01 AM (14 years ago)
Author:
mervart
Message:

* empty log message *

Location:
trunk/BNC
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/BNC/bncpppclient.cpp

    r2051 r2053  
    4545#include "bncutils.h"
    4646#include "bncconst.h"
     47#include "bancroft.h"
    4748
    4849extern "C" {
     
    286287void bncPPPclient::processEpoch() {
    287288
    288   cout.setf(ios::fixed);
    289 
    290   QMutableMapIterator<QString, t_satData*> it(_epoData->satData);
    291 
     289  const unsigned MINOBS = 4;
     290
     291  // Data Pre-Processing
     292  // -------------------
     293  QMutableMapIterator<QString, t_satData*> im(_epoData->satData);
     294  while (im.hasNext()) {
     295    im.next();
     296    QString    prn     = im.key();
     297    t_satData* satData = im.value();
     298
     299    if (cmpToT(prn, satData) != success) {
     300      delete satData;
     301      im.remove();
     302      continue;
     303    }
     304  }
     305
     306  if (_epoData->size() < MINOBS) {
     307    return;
     308  }
     309
     310  // Bancroft Solution
     311  // -----------------
     312  Matrix BB(_epoData->size(), 4);
     313
     314  QMapIterator<QString, t_satData*> it(_epoData->satData);
     315  int iObs = 0;
    292316  while (it.hasNext()) {
    293317    it.next();
    294318    QString    prn     = it.key();
    295319    t_satData* satData = it.value();
    296 
    297     if (cmpToT(prn, satData) != success) {
    298       delete satData;
    299       it.remove();
    300       continue;
    301     }
    302 
    303     cout << _epoData->tt.timestr(1) << " " << prn.toAscii().data() << "   "
    304          << setw(14) << setprecision(3) << satData->P3             << "  "
    305          << setw(14) << setprecision(3) << satData->L3             << "  "
    306          << setw(14) << setprecision(3) << satData->xx(1)          << "  "
    307          << setw(14) << setprecision(3) << satData->xx(2)          << "  "
    308          << setw(14) << setprecision(3) << satData->xx(3)          << "  "
    309          << setw(12) << setprecision(6) << satData->clk / t_CST::c * 1.e6;
    310 
    311     if (satData->clkCorr) {
    312       cout << endl;
    313     }
    314     else {
    315       cout << " !\n";
    316     }
    317   }
    318 
    319   cout << endl;
     320    ++iObs;
     321    BB(iObs, 1) = satData->xx(1);
     322    BB(iObs, 2) = satData->xx(2);
     323    BB(iObs, 3) = satData->xx(3);
     324    BB(iObs, 4) = satData->P3 + satData->clk;
     325  }
     326
     327  ColumnVector pos(4);
     328  bancroft(BB, pos);
     329
     330  cout.setf(ios::fixed);
     331
     332  cout << _epoData->tt.timestr(1) << " " << _epoData->size() << " "
     333       << setw(14) << setprecision(3) << pos(1)              << "  "
     334       << setw(14) << setprecision(3) << pos(2)              << "  "
     335       << setw(14) << setprecision(3) << pos(3)              << endl;
     336
    320337  cout.flush();
    321338}
  • trunk/BNC/bncpppclient.h

    r2051 r2053  
    6464    }
    6565  }
     66  unsigned size() const {return satData.size();}
    6667  t_time                    tt;
    6768  QMap<QString, t_satData*> satData;
Note: See TracChangeset for help on using the changeset viewer.