Changeset 2709 in ntrip for trunk/BNC/bncrinex.cpp
- Timestamp:
- Nov 18, 2010, 12:28:40 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/BNC/bncrinex.cpp
r2703 r2709 520 520 void bncRinex::deepCopy(const p_obs obs) { 521 521 p_obs newObs = new t_obs(); 522 memcpy( &newObs->_o, &obs->_o, sizeof(t_obsInternal));522 memcpy(newObs, obs, sizeof(t_obs)); 523 523 _obs.push_back(newObs); 524 524 } … … 534 534 while (mIt.hasNext()) { 535 535 p_obs obs = mIt.next(); 536 if (obs-> _o.GPSWeek * 7*24*3600 + obs->_o.GPSWeeks < maxTime - 0.05) {536 if (obs->GPSWeek * 7*24*3600 + obs->GPSWeeks < maxTime - 0.05) { 537 537 dumpList.push_back(obs); 538 538 mIt.remove(); … … 549 549 // ------------- 550 550 p_obs fObs = *dumpList.begin(); 551 QDateTime datTim = dateAndTimeFromGPSweek(fObs-> _o.GPSWeek, fObs->_o.GPSWeeks);552 QDateTime datTimNom = dateAndTimeFromGPSweek(fObs-> _o.GPSWeek,553 floor(fObs-> _o.GPSWeeks+0.5));551 QDateTime datTim = dateAndTimeFromGPSweek(fObs->GPSWeek, fObs->GPSWeeks); 552 QDateTime datTimNom = dateAndTimeFromGPSweek(fObs->GPSWeek, 553 floor(fObs->GPSWeeks+0.5)); 554 554 555 555 // Close the file … … 566 566 } 567 567 568 double sec = double(datTim.time().second()) + fmod(fObs-> _o.GPSWeeks,1.0);568 double sec = double(datTim.time().second()) + fmod(fObs->GPSWeeks,1.0); 569 569 570 570 // Epoch header line: RINEX Version 3 … … 586 586 iSat++; 587 587 p_obs obs = it.next(); 588 _out << obs-> _o.satSys << setw(2) << obs->_o.satNum;588 _out << obs->satSys << setw(2) << obs->satNum; 589 589 if (iSat == 12 && it.hasNext()) { 590 590 _out << endl << " "; … … 601 601 // Cycle slips detection 602 602 // --------------------- 603 QString prn = QString("%1%2").arg(obs-> _o.satSys)604 .arg(obs-> _o.satNum, 2, 10, QChar('0'));603 QString prn = QString("%1%2").arg(obs->satSys) 604 .arg(obs->satNum, 2, 10, QChar('0')); 605 605 606 606 char lli1 = ' '; 607 607 char lli2 = ' '; 608 608 char lli5 = ' '; 609 if ( obs-> _o.slip_cnt_L1 >= 0 ) {609 if ( obs->slip_cnt_L1 >= 0 ) { 610 610 if ( _slip_cnt_L1.find(prn) != _slip_cnt_L1.end() && 611 _slip_cnt_L1.find(prn).value() != obs-> _o.slip_cnt_L1 ) {611 _slip_cnt_L1.find(prn).value() != obs->slip_cnt_L1 ) { 612 612 lli1 = '1'; 613 613 } 614 614 } 615 615 616 if ( obs-> _o.slip_cnt_L2 >= 0 ) {616 if ( obs->slip_cnt_L2 >= 0 ) { 617 617 if ( _slip_cnt_L2.find(prn) != _slip_cnt_L2.end() && 618 _slip_cnt_L2.find(prn).value() != obs-> _o.slip_cnt_L2 ) {618 _slip_cnt_L2.find(prn).value() != obs->slip_cnt_L2 ) { 619 619 lli2 = '1'; 620 620 } 621 621 } 622 622 623 if ( obs-> _o.slip_cnt_L5 >= 0 ) {623 if ( obs->slip_cnt_L5 >= 0 ) { 624 624 if ( _slip_cnt_L5.find(prn) != _slip_cnt_L5.end() && 625 _slip_cnt_L5.find(prn).value() != obs-> _o.slip_cnt_L5 ) {625 _slip_cnt_L5.find(prn).value() != obs->slip_cnt_L5 ) { 626 626 lli5 = '1'; 627 627 } 628 628 } 629 629 630 _slip_cnt_L1[prn] = obs-> _o.slip_cnt_L1;631 _slip_cnt_L2[prn] = obs-> _o.slip_cnt_L2;632 _slip_cnt_L5[prn] = obs-> _o.slip_cnt_L5;630 _slip_cnt_L1[prn] = obs->slip_cnt_L1; 631 _slip_cnt_L2[prn] = obs->slip_cnt_L2; 632 _slip_cnt_L5[prn] = obs->slip_cnt_L5; 633 633 634 634 // RINEX Version 3 635 635 // --------------- 636 636 if (_rinexVers == 3) { 637 _out << rinexSatLine(obs ->_o, lli1, lli2, lli5);637 _out << rinexSatLine(obs, lli1, lli2, lli5); 638 638 _out << endl; 639 639 } … … 642 642 // --------------- 643 643 else { 644 _out << setw(14) << setprecision(3) << obs-> _o.C1 << ' ' << ' '645 << setw(14) << setprecision(3) << obs-> _o.P1 << ' ' << ' '644 _out << setw(14) << setprecision(3) << obs->C1 << ' ' << ' ' 645 << setw(14) << setprecision(3) << obs->P1 << ' ' << ' ' 646 646 << setw(14) << setprecision(3) << obs->L1() << lli1 << ' ' 647 647 << setw(14) << setprecision(3) << obs->S1() << ' ' << ' ' 648 << setw(14) << setprecision(3) << obs-> _o.C2 << ' ' << ' ' << endl649 << setw(14) << setprecision(3) << obs-> _o.P2 << ' ' << ' '648 << setw(14) << setprecision(3) << obs->C2 << ' ' << ' ' << endl 649 << setw(14) << setprecision(3) << obs->P2 << ' ' << ' ' 650 650 << setw(14) << setprecision(3) << obs->L2() << lli2 << ' ' 651 651 << setw(16) << setprecision(3) << obs->S2() << endl; … … 679 679 // One Line in RINEX v3 (static) 680 680 //////////////////////////////////////////////////////////////////////////// 681 string bncRinex::rinexSatLine(const t_obs Internal&obs,681 string bncRinex::rinexSatLine(const t_obs* obs, 682 682 char lli1, char lli2, char lli5) { 683 683 ostringstream str; 684 684 str.setf(ios::showpoint | ios::fixed); 685 685 686 if (obs .satSys == 'G') { // GPS687 str << obs .satSys688 << setw(2) << setfill('0') << obs .satNum << setfill(' ')689 << setw(14) << setprecision(3) << obs .C1 << ' ' << ' '690 << setw(14) << setprecision(3) << obs .L1C << lli1 << ' '691 << setw(14) << setprecision(3) << obs .D1C << ' ' << ' '692 << setw(14) << setprecision(3) << obs .S1C << ' ' << ' '693 << setw(14) << setprecision(3) << obs .P1 << ' ' << ' '694 << setw(14) << setprecision(3) << obs .L1P << lli1 << ' '695 << setw(14) << setprecision(3) << obs .D1P << ' ' << ' '696 << setw(14) << setprecision(3) << obs .S1P << ' ' << ' '697 << setw(14) << setprecision(3) << obs .P2 << ' ' << ' '698 << setw(14) << setprecision(3) << obs .L2P << lli2 << ' '699 << setw(14) << setprecision(3) << obs .D2P << ' ' << ' '700 << setw(14) << setprecision(3) << obs .S2P << ' ' << ' '701 << setw(14) << setprecision(3) << obs .C2 << ' ' << ' '702 << setw(14) << setprecision(3) << obs .L2C << lli2 << ' '703 << setw(14) << setprecision(3) << obs .D2C << ' ' << ' '704 << setw(14) << setprecision(3) << obs .S2C << ' ' << ' '705 << setw(14) << setprecision(3) << obs .C5 << ' ' << ' '706 << setw(14) << setprecision(3) << obs .L5 << lli5 << ' '707 << setw(14) << setprecision(3) << obs .D5 << ' ' << ' '708 << setw(14) << setprecision(3) << obs .S5;709 } 710 else if (obs .satSys == 'R') { // Glonass711 str << obs .satSys712 << setw(2) << setfill('0') << obs .satNum << setfill(' ')713 << setw(14) << setprecision(3) << obs .C1 << ' ' << ' '714 << setw(14) << setprecision(3) << obs .L1C << lli1 << ' '715 << setw(14) << setprecision(3) << obs .D1C << ' ' << ' '716 << setw(14) << setprecision(3) << obs .S1C << ' ' << ' '717 << setw(14) << setprecision(3) << obs .P1 << ' ' << ' '718 << setw(14) << setprecision(3) << obs .L1P << lli1 << ' '719 << setw(14) << setprecision(3) << obs .D1P << ' ' << ' '720 << setw(14) << setprecision(3) << obs .S1P << ' ' << ' '721 << setw(14) << setprecision(3) << obs .P2 << ' ' << ' '722 << setw(14) << setprecision(3) << obs .L2P << lli2 << ' '723 << setw(14) << setprecision(3) << obs .D2P << ' ' << ' '724 << setw(14) << setprecision(3) << obs .S2P << ' ' << ' '725 << setw(14) << setprecision(3) << obs .C2 << ' ' << ' '726 << setw(14) << setprecision(3) << obs .L2C << lli2 << ' '727 << setw(14) << setprecision(3) << obs .D2C << ' ' << ' '728 << setw(14) << setprecision(3) << obs .S2C;729 } 730 else if (obs .satSys == 'S') { // SBAS731 str << obs .satSys732 << setw(2) << setfill('0') << obs .satNum << setfill(' ')733 << setw(14) << setprecision(3) << obs .C1 << ' ' << ' '734 << setw(14) << setprecision(3) << obs .L1C << lli1 << ' '735 << setw(14) << setprecision(3) << obs .D1C << ' ' << ' '736 << setw(14) << setprecision(3) << obs .S1C << ' ' << ' '737 << setw(14) << setprecision(3) << obs .P1 << ' ' << ' '738 << setw(14) << setprecision(3) << obs .L1P << lli1 << ' '739 << setw(14) << setprecision(3) << obs .D1P << ' ' << ' '740 << setw(14) << setprecision(3) << obs .S1P;741 } 742 else if (obs .satSys == 'E') { // Galileo743 str << obs .satSys744 << setw(2) << setfill('0') << obs .satNum << setfill(' ')745 << setw(14) << setprecision(3) << obs .C1 << ' ' << ' '746 << setw(14) << setprecision(3) << obs .L1C << lli1 << ' '747 << setw(14) << setprecision(3) << obs .D1C << ' ' << ' '748 << setw(14) << setprecision(3) << obs .S1C << ' ' << ' '749 << setw(14) << setprecision(3) << obs .C5 << ' ' << ' '750 << setw(14) << setprecision(3) << obs .L5 << lli5 << ' '751 << setw(14) << setprecision(3) << obs .D5 << ' ' << ' '752 << setw(14) << setprecision(3) << obs .S5;686 if (obs->satSys == 'G') { // GPS 687 str << obs->satSys 688 << setw(2) << setfill('0') << obs->satNum << setfill(' ') 689 << setw(14) << setprecision(3) << obs->C1 << ' ' << ' ' 690 << setw(14) << setprecision(3) << obs->L1C << lli1 << ' ' 691 << setw(14) << setprecision(3) << obs->D1C << ' ' << ' ' 692 << setw(14) << setprecision(3) << obs->S1C << ' ' << ' ' 693 << setw(14) << setprecision(3) << obs->P1 << ' ' << ' ' 694 << setw(14) << setprecision(3) << obs->L1P << lli1 << ' ' 695 << setw(14) << setprecision(3) << obs->D1P << ' ' << ' ' 696 << setw(14) << setprecision(3) << obs->S1P << ' ' << ' ' 697 << setw(14) << setprecision(3) << obs->P2 << ' ' << ' ' 698 << setw(14) << setprecision(3) << obs->L2P << lli2 << ' ' 699 << setw(14) << setprecision(3) << obs->D2P << ' ' << ' ' 700 << setw(14) << setprecision(3) << obs->S2P << ' ' << ' ' 701 << setw(14) << setprecision(3) << obs->C2 << ' ' << ' ' 702 << setw(14) << setprecision(3) << obs->L2C << lli2 << ' ' 703 << setw(14) << setprecision(3) << obs->D2C << ' ' << ' ' 704 << setw(14) << setprecision(3) << obs->S2C << ' ' << ' ' 705 << setw(14) << setprecision(3) << obs->C5 << ' ' << ' ' 706 << setw(14) << setprecision(3) << obs->L5 << lli5 << ' ' 707 << setw(14) << setprecision(3) << obs->D5 << ' ' << ' ' 708 << setw(14) << setprecision(3) << obs->S5; 709 } 710 else if (obs->satSys == 'R') { // Glonass 711 str << obs->satSys 712 << setw(2) << setfill('0') << obs->satNum << setfill(' ') 713 << setw(14) << setprecision(3) << obs->C1 << ' ' << ' ' 714 << setw(14) << setprecision(3) << obs->L1C << lli1 << ' ' 715 << setw(14) << setprecision(3) << obs->D1C << ' ' << ' ' 716 << setw(14) << setprecision(3) << obs->S1C << ' ' << ' ' 717 << setw(14) << setprecision(3) << obs->P1 << ' ' << ' ' 718 << setw(14) << setprecision(3) << obs->L1P << lli1 << ' ' 719 << setw(14) << setprecision(3) << obs->D1P << ' ' << ' ' 720 << setw(14) << setprecision(3) << obs->S1P << ' ' << ' ' 721 << setw(14) << setprecision(3) << obs->P2 << ' ' << ' ' 722 << setw(14) << setprecision(3) << obs->L2P << lli2 << ' ' 723 << setw(14) << setprecision(3) << obs->D2P << ' ' << ' ' 724 << setw(14) << setprecision(3) << obs->S2P << ' ' << ' ' 725 << setw(14) << setprecision(3) << obs->C2 << ' ' << ' ' 726 << setw(14) << setprecision(3) << obs->L2C << lli2 << ' ' 727 << setw(14) << setprecision(3) << obs->D2C << ' ' << ' ' 728 << setw(14) << setprecision(3) << obs->S2C; 729 } 730 else if (obs->satSys == 'S') { // SBAS 731 str << obs->satSys 732 << setw(2) << setfill('0') << obs->satNum << setfill(' ') 733 << setw(14) << setprecision(3) << obs->C1 << ' ' << ' ' 734 << setw(14) << setprecision(3) << obs->L1C << lli1 << ' ' 735 << setw(14) << setprecision(3) << obs->D1C << ' ' << ' ' 736 << setw(14) << setprecision(3) << obs->S1C << ' ' << ' ' 737 << setw(14) << setprecision(3) << obs->P1 << ' ' << ' ' 738 << setw(14) << setprecision(3) << obs->L1P << lli1 << ' ' 739 << setw(14) << setprecision(3) << obs->D1P << ' ' << ' ' 740 << setw(14) << setprecision(3) << obs->S1P; 741 } 742 else if (obs->satSys == 'E') { // Galileo 743 str << obs->satSys 744 << setw(2) << setfill('0') << obs->satNum << setfill(' ') 745 << setw(14) << setprecision(3) << obs->C1 << ' ' << ' ' 746 << setw(14) << setprecision(3) << obs->L1C << lli1 << ' ' 747 << setw(14) << setprecision(3) << obs->D1C << ' ' << ' ' 748 << setw(14) << setprecision(3) << obs->S1C << ' ' << ' ' 749 << setw(14) << setprecision(3) << obs->C5 << ' ' << ' ' 750 << setw(14) << setprecision(3) << obs->L5 << lli5 << ' ' 751 << setw(14) << setprecision(3) << obs->D5 << ' ' << ' ' 752 << setw(14) << setprecision(3) << obs->S5; 753 753 } 754 754 return str.str();
Note:
See TracChangeset
for help on using the changeset viewer.