Changeset 1772 in ntrip for trunk/BNS/bns.cpp
- Timestamp:
- Mar 25, 2009, 8:56:14 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/BNS/bns.cpp
r1767 r1772 435 435 // 436 436 //////////////////////////////////////////////////////////////////////////// 437 void t_bns::processSatellite(int oldEph, int iCaster, booltrafo,437 void t_bns::processSatellite(int oldEph, int iCaster, const QString trafo, 438 438 bool beClocks, t_eph* ep, int GPSweek, 439 439 double GPSweeks, const QString& prn, … … 448 448 449 449 ColumnVector xyz = xx.Rows(1,3); 450 if (trafo ) {451 crdTrafo(GPSweek, xyz );450 if (trafo != "IGS05") { 451 crdTrafo(GPSweek, xyz, trafo); 452 452 } 453 453 … … 498 498 } 499 499 500 // Transform Coordinates IGS -> ETRF 501 //////////////////////////////////////////////////////////////////////////// 502 void t_bns::crdTrafo(int GPSWeek, ColumnVector& xyz) { 500 // Transform Coordinates 501 //////////////////////////////////////////////////////////////////////////// 502 void 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 } 503 540 504 541 // Current epoch minus 2000.0 in years 505 542 // ------------------------------------ 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; 507 545 508 546 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; 512 554 513 555 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; 519 566 520 567 Matrix rMat(3,3);
Note:
See TracChangeset
for help on using the changeset viewer.