Changeset 8411 in ntrip for branches/BNC_2.12


Ignore:
Timestamp:
Jul 6, 2018, 11:29:35 AM (6 years ago)
Author:
stuerze
Message:

updated transformation parameters for ITRF2014 => DREF91 and ITRF2014 => ETRF2000

Location:
branches/BNC_2.12/src
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/BNC_2.12/src/bncwindow.cpp

    r8404 r8411  
    25842584      QComboBox* system = new QComboBox();
    25852585      system->setEditable(false);
    2586       system->addItems(QString("IGS14,ETRF2000,NAD83,GDA2020,SIRGAS2000,DREF91,Custom").split(","));
     2586      system->addItems(QString("IGS14,ETRF2000,GDA2020,SIRGAS2000,DREF91,Custom").split(","));
    25872587      system->setFrame(false);
    25882588      _uploadTable->setCellWidget(iRow, iCol, system);
  • branches/BNC_2.12/src/upload/bncrtnetuploadcaster.cpp

    r8362 r8411  
    102102  // Set Transformation Parameters
    103103  // -----------------------------
    104   // Transformation Parameters from ITRF2008 to ETRF2000
     104  // Transformation Parameters from ITRF2014 to ETRF2000
    105105  if (_crdTrafo == "ETRF2000") {
    106     _dx  =  0.0521;
    107     _dy  =  0.0493;
    108     _dz  = -0.0585;
     106    _dx  =  0.0537;
     107    _dy  =  0.0512;
     108    _dz  = -0.0551;
    109109    _dxr =  0.0001;
    110110    _dyr =  0.0001;
    111     _dzr = -0.0018;
    112     _ox  =  0.000891;
    113     _oy  =  0.005390;
    114     _oz  = -0.008712;
    115     _oxr =  0.000081;
    116     _oyr =  0.000490;
    117     _ozr = -0.000792;
    118     _sc  =  1.34;
    119     _scr =  0.08;
     111    _dzr = -0.0019;
     112    _ox  = -0.000891;
     113    _oy  = -0.005390;
     114    _oz  =  0.008712;
     115    _oxr = -0.000081;
     116    _oyr = -0.000490;
     117    _ozr = +0.000792;
     118    _sc  =  1.02;
     119    _scr =  0.11;
    120120    _t0  =  2000.0;
    121   }
    122   // Transformation Parameters from ITRF2008 to NAD83
    123   else if (_crdTrafo == "NAD83") {
    124     _dx  =  0.99343;
    125     _dy  = -1.90331;
    126     _dz  = -0.52655;
    127     _dxr =  0.00079;
    128     _dyr = -0.00060;
    129     _dzr = -0.00134;
    130     _ox  = -0.02591467;
    131     _oy  = -0.00942645;
    132     _oz  = -0.01159935;
    133     _oxr = -0.00006667;
    134     _oyr =  0.00075744;
    135     _ozr =  0.00005133;
    136     _sc  =  1.71504;
    137     _scr = -0.10201;
    138     _t0  =  1997.0;
    139121  }
    140122  // Transformation Parameters from ITRF2014 to GDA2020 (Ryan Ruddick, GA)
     
    174156    _t0  =  2000.4;
    175157  }
    176   // Transformation Parameters from ITRF2008 to DREF91
     158  // Transformation Parameters from ITRF2014 to DREF91
    177159  else if (_crdTrafo == "DREF91") {
    178     _dx  = -0.0118;
    179     _dy  =  0.1432;
    180     _dz  = -0.1117;
     160    _dx  =  0.0537;
     161    _dy  =  0.0512;
     162    _dz  = -0.0551;
    181163    _dxr =  0.0001;
    182164    _dyr =  0.0001;
    183     _dzr = -0.0018;
    184     _ox  =  0.003291;
    185     _oy  =  0.006190;
    186     _oz  = -0.011012;
    187     _oxr =  0.000081;
    188     _oyr =  0.000490;
    189     _ozr = -0.000792;
    190     _sc  =  12.24;
    191     _scr =  0.08;
     165    _dzr = -0.0019;
     166    _ox  = -0.000233;
     167    _oy  = -0.005598;
     168    _oz  =  0.009467;
     169    _oxr = -0.000081;
     170    _oyr = -0.000490;
     171    _ozr =  0.000792;
     172    _sc  =  1.02;
     173    _scr =  0.11;
    192174    _t0  =  2000.0;
    193175  }
     
    209191    _t0 = settings.value("trafo_t0").toDouble();
    210192  }
    211     // TODO: the following lines can be deleted if all parameters are updated regarding ITRF2014
    212   if (_crdTrafo == "ETRF2000" ||
    213       _crdTrafo ==  "NAD83" ||
    214       _crdTrafo ==  "DREF91" ) {// Transformation Parameters from ITRF2014 to ITRF2008
    215                                 // (http://itrf.ign.fr/doc_ITRF/Transfo-ITRF2014_ITRFs.txt)
    216    _dx8  =  0.0016;
    217    _dy8  =  0.0019;
    218    _dz8  =  0.0024;
    219    _dxr8 =  0.0;
    220    _dyr8 =  0.0;
    221    _dzr8 = -0.0001;
    222    _ox8  =  0.0;
    223    _oy8  =  0.0;
    224    _oz8  =  0.0;
    225    _oxr8 =  0.0;
    226    _oyr8 =  0.0;
    227    _ozr8 =  0.0;
    228    _sc8  = -0.02;
    229    _scr8 =  0.03;
    230    _t08  =  2010.0;
    231  }
    232193}
    233194
     
    22932254
    22942255  double dc = 0.0;
    2295   //TODO: the following 3 lines can be activated again if all parameters are updated regarding ITRF2014
    2296   //if (_crdTrafo != "IGS14") {
    2297   //  crdTrafo(GPSweek, xP, dc);
    2298   //}
    2299   //TODO: the following 3 lines can be deleted if all parameters are updated regarding ITRF2014
    2300   if (_crdTrafo ==  "ETRF2000") {
    2301     crdTrafo8(GPSweek, xP, dc);
    2302     crdTrafo(GPSweek, xP, dc);
    2303   }
    2304   else if (_crdTrafo ==  "NAD83") {
    2305     crdTrafo8(GPSweek, xP, dc);
    2306     crdTrafo(GPSweek, xP, dc);
    2307   }
    2308   else if (_crdTrafo ==  "DREF91") {
    2309     crdTrafo8(GPSweek, xP, dc);
    2310     crdTrafo(GPSweek, xP, dc);
    2311   }
    2312   else if (_crdTrafo ==  "SIRGAS2000" ||
    2313            _crdTrafo ==  "GDA2020") {
     2256  if (_crdTrafo != "IGS14") {
    23142257    crdTrafo(GPSweek, xP, dc);
    23152258  }
     
    23932336    meanSta(3) = 5136850.0;
    23942337  }
    2395   else if (_crdTrafo == "NAD83") {
    2396     meanSta(1) = -1092950.0;
    2397     meanSta(2) = -4383600.0;
    2398     meanSta(3) = 4487420.0;
    2399   }
    24002338  else if (_crdTrafo == "GDA2020") {
    24012339    meanSta(1) = -4052050.0;
     
    24182356    meanSta(3) = 0.0; // TODO
    24192357  }
    2420   // TODO: has to be deleted as soon all parameters are available with respect to ITRF2014
    2421   else if (_crdTrafo == "ITRF2008") {
    2422       meanSta(1) = 0.0; // TODO
    2423       meanSta(2) = 0.0; // TODO
    2424       meanSta(3) = 0.0; // TODO
    2425     }
    2426 
     2358 
    24272359  // Clock correction proportional to topocentric distance to satellites
    24282360  // -------------------------------------------------------------------
     
    24442376}
    24452377
    2446 // Transform Coordinates
    2447 ////////////////////////////////////////////////////////////////////////////
    2448 void bncRtnetUploadCaster::crdTrafo8(int GPSWeek, ColumnVector& xyz,
    2449     double& dc) {
    2450 
    2451   // Current epoch minus 2000.0 in years
    2452   // ------------------------------------
    2453   double dt = (GPSWeek - (1042.0 + 6.0 / 7.0)) / 365.2422 * 7.0 + 2000.0 - _t0;
    2454 
    2455   ColumnVector dx(3);
    2456 
    2457   dx(1) = _dx8 + dt * _dxr8;
    2458   dx(2) = _dy8 + dt * _dyr8;
    2459   dx(3) = _dz8 + dt * _dzr8;
    2460 
    2461   static const double arcSec = 180.0 * 3600.0 / M_PI;
    2462 
    2463   double ox = (_ox8 + dt * _oxr8) / arcSec;
    2464   double oy = (_oy8 + dt * _oyr8) / arcSec;
    2465   double oz = (_oz8 + dt * _ozr8) / arcSec;
    2466 
    2467   double sc = 1.0 + _sc8 * 1e-9 + dt * _scr8 * 1e-9;
    2468 
    2469   // Specify approximate center of area
    2470   // ----------------------------------
    2471   ColumnVector meanSta(3);
    2472   meanSta(1) = 0.0; // TODO
    2473   meanSta(2) = 0.0; // TODO
    2474   meanSta(3) = 0.0; // TODO
    2475 
    2476 
    2477   // Clock correction proportional to topocentric distance to satellites
    2478   // -------------------------------------------------------------------
    2479   double rho = (xyz - meanSta).norm_Frobenius();
    2480   dc = rho * (sc - 1.0) / sc / t_CST::c;
    2481 
    2482   Matrix rMat(3, 3);
    2483   rMat(1, 1) = 1.0;
    2484   rMat(1, 2) = -oz;
    2485   rMat(1, 3) = oy;
    2486   rMat(2, 1) = oz;
    2487   rMat(2, 2) = 1.0;
    2488   rMat(2, 3) = -ox;
    2489   rMat(3, 1) = -oy;
    2490   rMat(3, 2) = ox;
    2491   rMat(3, 3) = 1.0;
    2492 
    2493   xyz = sc * rMat * xyz + dx;
    2494 }
    2495 
    24962378int bncRtnetUploadCaster::determineUpdateInd(double samplingRate) {
    24972379
  • branches/BNC_2.12/src/upload/bncrtnetuploadcaster.h

    r8146 r8411  
    3939  void crdTrafo(int GPSWeek, ColumnVector& xyz, double& dc);
    4040
    41   // TODO: the following lines can be deleted if all parameters are updated regarding ITRF2014
    42   void crdTrafo8(int GPSWeek, ColumnVector& xyz, double& dc);
    43  
    4441  int determineUpdateInd(double samplingRate);
    4542
Note: See TracChangeset for help on using the changeset viewer.