Changeset 1772 in ntrip for trunk/BNS/bns.cpp


Ignore:
Timestamp:
Mar 25, 2009, 8:56:14 PM (15 years ago)
Author:
weber
Message:

* empty log message *

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/BNS/bns.cpp

    r1767 r1772  
    435435//
    436436////////////////////////////////////////////////////////////////////////////
    437 void t_bns::processSatellite(int oldEph, int iCaster, bool trafo,
     437void t_bns::processSatellite(int oldEph, int iCaster, const QString trafo,
    438438                             bool beClocks, t_eph* ep, int GPSweek,
    439439                             double GPSweeks, const QString& prn,
     
    448448
    449449  ColumnVector xyz = xx.Rows(1,3);
    450   if (trafo) {
    451     crdTrafo(GPSweek, xyz);
     450  if (trafo != "IGS05") {
     451    crdTrafo(GPSweek, xyz, trafo);
    452452  }
    453453
     
    498498}
    499499
    500 // Transform Coordinates IGS -> ETRF
    501 ////////////////////////////////////////////////////////////////////////////
    502 void t_bns::crdTrafo(int GPSWeek, ColumnVector& xyz) {
     500// Transform Coordinates
     501////////////////////////////////////////////////////////////////////////////
     502void t_bns::crdTrafo(int GPSWeek, ColumnVector& xyz, const QString trafo) {
     503
     504  bnsSettings settings;
     505
     506  if (trafo == "ETRF2000") {
     507  _dx  =  0.0541;
     508  _dy  =  0.0502;
     509  _dz  = -0.0538;
     510  _dxr = -0.0002;
     511  _dyr =  0.0001;
     512  _dzr = -0.0018;
     513  _ox  =  0.000891;
     514  _oy  =  0.005390;
     515  _oz  = -0.008712;
     516  _oxr =  0.000081;
     517  _oyr =  0.000490;
     518  _ozr = -0.000792;
     519  _sc  =  0.40;
     520  _scr =  0.08;
     521  _t0  =  2000.0;
     522  }
     523  else if (trafo == "Custom") {
     524  _dx  = settings.value("trafo_dx").toInt();
     525  _dy  = settings.value("trafo_dy").toInt();
     526  _dz  = settings.value("trafo_dz").toInt();
     527  _dxr = settings.value("trafo_dxr").toInt();
     528  _dyr = settings.value("trafo_dyr").toInt();
     529  _dzr = settings.value("trafo_dzr").toInt();
     530  _ox  = settings.value("trafo_ox").toInt();
     531  _oy  = settings.value("trafo_oy").toInt();
     532  _oz  = settings.value("trafo_oz").toInt();
     533  _oxr = settings.value("trafo_oxr").toInt();
     534  _oyr = settings.value("trafo_oyr").toInt();
     535  _ozr = settings.value("trafo_ozr").toInt();
     536  _sc  = settings.value("trafo_sc").toInt();
     537  _scr = settings.value("trafo_scr").toInt();
     538  _t0  = settings.value("trafo_t0").toInt();
     539  }
    503540
    504541  // Current epoch minus 2000.0 in years
    505542  // ------------------------------------
    506   double dt = (GPSWeek - (1042.0+6.0/7.0)) / 365.2422 * 7.0;
     543//double dt = (GPSWeek - (1042.0+6.0/7.0)) / 365.2422 * 7.0;
     544  double dt = (GPSWeek - (1042.0+6.0/7.0)) / 365.2422 * 7.0 + 2000.0 - _t0;
    507545
    508546  ColumnVector dx(3);
    509   dx(1) =  0.0541 - dt * 0.0002;
    510   dx(2) =  0.0502 + dt * 0.0001;
    511   dx(3) = -0.0538 - dt * 0.0018;
     547
     548//dx(1) =  0.0541 - dt * 0.0002;
     549//dx(2) =  0.0502 + dt * 0.0001;
     550//dx(3) = -0.0538 - dt * 0.0018;
     551  dx(1) = _dx + dt * _dxr;
     552  dx(2) = _dy + dt * _dyr;
     553  dx(3) = _dz + dt * _dzr;
    512554
    513555  static const double arcSec = 180.0 * 3600.0 / M_PI;
    514   double ox = ( 0.000891 + dt * 0.000081) / arcSec;
    515   double oy = ( 0.005390 + dt * 0.000490) / arcSec;
    516   double oz = (-0.008712 - dt * 0.000792) / arcSec;
    517 
    518   double sc = 1.0 + 0.4e-9 + dt * 0.08e-9;
     556
     557//double ox = ( 0.000891 + dt * 0.000081) / arcSec;
     558//double oy = ( 0.005390 + dt * 0.000490) / arcSec;
     559//double oz = (-0.008712 - dt * 0.000792) / arcSec;
     560  double ox = (_ox + dt * _oxr) / arcSec;
     561  double oy = (_oy + dt * _oyr) / arcSec;
     562  double oz = (_oz + dt * _ozr) / arcSec;
     563
     564//double sc = 1.0 + 0.4e-9 + dt * 0.08e-9;
     565  double sc = 1.0 + _sc * 1e-9 + dt * _scr * 1e-9;
    519566
    520567  Matrix rMat(3,3);
Note: See TracChangeset for help on using the changeset viewer.