Ignore:
Timestamp:
Oct 11, 2013, 5:51:06 PM (11 years ago)
Author:
mervart
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/BNC/src/upload/bncrtnetuploadcaster.cpp

    r5348 r5503  
    380380    if (eph) {
    381381
     382      QMap<QString, double> codeBiases;
     383
    382384      while (true) {
    383385        QString key;
     
    402404          in >> rtnCoM[0] >> rtnCoM[1] >> rtnCoM[2];
    403405        }
     406        else if (key == "CodeBias") {
     407          for (int ii = 0; ii < numVal; ii++) {
     408            QString type;
     409            double  value;
     410            in >> type >> value;
     411            codeBiases[type] = value;
     412          }
     413        }
    404414        else {
    405415          for (int ii = 0; ii < numVal; ii++) {
     
    434444      }
    435445 
    436       // Coefficient of Ionosphere-Free LC
    437       // ---------------------------------
    438       // const static double a_L1_GPS =  2.54572778;
    439       // const static double a_L2_GPS = -1.54572778;
    440       // const static double a_L1_Glo =  2.53125000;
    441       // const static double a_L2_Glo = -1.53125000;
    442  
     446      // Code Biases
     447      // -----------
    443448      if (biasSat) {
    444449        biasSat->ID = prn.mid(1).toInt();
    445         biasSat->NumberOfCodeBiases = 3;
     450        biasSat->NumberOfCodeBiases = 0;
    446451        if      (prn[0] == 'G') {
    447           biasSat->Biases[0].Type = CODETYPEGPS_L1_Z;
    448           // biasSat->Biases[0].Bias = - a_L2_GPS * xx(10);
    449           biasSat->Biases[0].Bias = 0.0;
    450           biasSat->Biases[1].Type = CODETYPEGPS_L1_CA;
    451           // biasSat->Biases[1].Bias = - a_L2_GPS * xx(10) + xx(9);
    452           biasSat->Biases[1].Bias = 0.0;
    453           biasSat->Biases[2].Type = CODETYPEGPS_L2_Z;
    454           // biasSat->Biases[2].Bias = a_L1_GPS * xx(10);
    455           biasSat->Biases[2].Bias = 0.0;
     452          QMapIterator<QString, double> it(codeBiases);
     453          while (it.hasNext()) {
     454            it.next();
     455            if (it.key() == "1C") {
     456              int ii = biasSat->NumberOfCodeBiases; if (ii >= CLOCKORBIT_NUMBIAS) break;
     457              biasSat->NumberOfCodeBiases += 1;
     458              biasSat->Biases[ii].Type = CODETYPEGPS_L1_CA;
     459              biasSat->Biases[ii].Bias = it.value();
     460            }
     461            if (it.key() == "1C") {
     462              int ii = biasSat->NumberOfCodeBiases; if (ii >= CLOCKORBIT_NUMBIAS) break;
     463              biasSat->NumberOfCodeBiases += 1;
     464              biasSat->Biases[ii].Type = CODETYPEGPS_L1_CA;
     465              biasSat->Biases[ii].Bias = it.value();
     466            }
     467            if (it.key() == "1P") {
     468              int ii = biasSat->NumberOfCodeBiases; if (ii >= CLOCKORBIT_NUMBIAS) break;
     469              biasSat->NumberOfCodeBiases += 1;
     470              biasSat->Biases[ii].Type = CODETYPEGPS_L1_P;
     471              biasSat->Biases[ii].Bias = it.value();
     472            }
     473            if (it.key() == "1W") {
     474              int ii = biasSat->NumberOfCodeBiases; if (ii >= CLOCKORBIT_NUMBIAS) break;
     475              biasSat->NumberOfCodeBiases += 1;
     476              biasSat->Biases[ii].Type = CODETYPEGPS_L1_Z;
     477              biasSat->Biases[ii].Bias = it.value();
     478            }
     479            if (it.key() == "2C") {
     480              int ii = biasSat->NumberOfCodeBiases; if (ii >= CLOCKORBIT_NUMBIAS) break;
     481              biasSat->NumberOfCodeBiases += 1;
     482              biasSat->Biases[ii].Type = CODETYPEGPS_L2_CA;
     483              biasSat->Biases[ii].Bias = it.value();
     484            }
     485            if (it.key() == "2D") {
     486              int ii = biasSat->NumberOfCodeBiases; if (ii >= CLOCKORBIT_NUMBIAS) break;
     487              biasSat->NumberOfCodeBiases += 1;
     488              biasSat->Biases[ii].Type = CODETYPEGPS_SEMI_CODELESS;
     489              biasSat->Biases[ii].Bias = it.value();
     490            }
     491            if (it.key() == "2S") {
     492              int ii = biasSat->NumberOfCodeBiases; if (ii >= CLOCKORBIT_NUMBIAS) break;
     493              biasSat->NumberOfCodeBiases += 1;
     494              biasSat->Biases[ii].Type = CODETYPEGPS_L2_CM;
     495              biasSat->Biases[ii].Bias = it.value();
     496            }
     497            if (it.key() == "2L") {
     498              int ii = biasSat->NumberOfCodeBiases; if (ii >= CLOCKORBIT_NUMBIAS) break;
     499              biasSat->NumberOfCodeBiases += 1;
     500              biasSat->Biases[ii].Type = CODETYPEGPS_L2_CL;
     501              biasSat->Biases[ii].Bias = it.value();
     502            }
     503            if (it.key() == "2X") {
     504              int ii = biasSat->NumberOfCodeBiases; if (ii >= CLOCKORBIT_NUMBIAS) break;
     505              biasSat->NumberOfCodeBiases += 1;
     506              biasSat->Biases[ii].Type = CODETYPEGPS_L2_CML;
     507              biasSat->Biases[ii].Bias = it.value();
     508            }
     509            if (it.key() == "2P") {
     510              int ii = biasSat->NumberOfCodeBiases; if (ii >= CLOCKORBIT_NUMBIAS) break;
     511              biasSat->NumberOfCodeBiases += 1;
     512              biasSat->Biases[ii].Type = CODETYPEGPS_L2_P;
     513              biasSat->Biases[ii].Bias = it.value();
     514            }
     515            if (it.key() == "2Z") {
     516              int ii = biasSat->NumberOfCodeBiases; if (ii >= CLOCKORBIT_NUMBIAS) break;
     517              biasSat->NumberOfCodeBiases += 1;
     518              biasSat->Biases[ii].Type = CODETYPEGPS_L2_Z;
     519              biasSat->Biases[ii].Bias = it.value();
     520            }
     521            if (it.key() == "5I") {
     522              int ii = biasSat->NumberOfCodeBiases; if (ii >= CLOCKORBIT_NUMBIAS) break;
     523              biasSat->NumberOfCodeBiases += 1;
     524              biasSat->Biases[ii].Type = CODETYPEGPS_L5_I;
     525              biasSat->Biases[ii].Bias = it.value();
     526            }
     527            if (it.key() == "5Q") {
     528              int ii = biasSat->NumberOfCodeBiases; if (ii >= CLOCKORBIT_NUMBIAS) break;
     529              biasSat->NumberOfCodeBiases += 1;
     530              biasSat->Biases[ii].Type = CODETYPEGPS_L5_Q;
     531              biasSat->Biases[ii].Bias = it.value();
     532            }
     533          }
    456534        }
    457535        else if (prn[0] == 'R') {
    458           biasSat->Biases[0].Type = CODETYPEGLONASS_L1_P;
    459           // biasSat->Biases[0].Bias = - a_L2_Glo * xx(10);
    460           biasSat->Biases[0].Bias = 0.0;
    461           biasSat->Biases[1].Type = CODETYPEGLONASS_L1_CA;
    462           // biasSat->Biases[1].Bias = - a_L2_Glo * xx(10) + xx(9);
    463           biasSat->Biases[1].Bias = 0.0;
    464           biasSat->Biases[2].Type = CODETYPEGLONASS_L2_P;
    465           // biasSat->Biases[2].Bias = a_L1_Glo * xx(10);
    466           biasSat->Biases[2].Bias = 0.0;
     536          QMapIterator<QString, double> it(codeBiases);
     537          while (it.hasNext()) {
     538            it.next();
     539            if (it.key() == "1C") {
     540              int ii = biasSat->NumberOfCodeBiases; if (ii >= CLOCKORBIT_NUMBIAS) break;
     541              biasSat->NumberOfCodeBiases += 1;
     542              biasSat->Biases[ii].Type = CODETYPEGLONASS_L1_CA;
     543              biasSat->Biases[ii].Bias = it.value();
     544            }
     545            if (it.key() == "1P") {
     546              int ii = biasSat->NumberOfCodeBiases; if (ii >= CLOCKORBIT_NUMBIAS) break;
     547              biasSat->NumberOfCodeBiases += 1;
     548              biasSat->Biases[ii].Type = CODETYPEGLONASS_L1_P;
     549              biasSat->Biases[ii].Bias = it.value();
     550            }
     551            if (it.key() == "2C") {
     552              int ii = biasSat->NumberOfCodeBiases; if (ii >= CLOCKORBIT_NUMBIAS) break;
     553              biasSat->NumberOfCodeBiases += 1;
     554              biasSat->Biases[ii].Type = CODETYPEGLONASS_L2_CA;
     555              biasSat->Biases[ii].Bias = it.value();
     556            }
     557            if (it.key() == "2P") {
     558              int ii = biasSat->NumberOfCodeBiases; if (ii >= CLOCKORBIT_NUMBIAS) break;
     559              biasSat->NumberOfCodeBiases += 1;
     560              biasSat->Biases[ii].Type = CODETYPEGLONASS_L2_P;
     561              biasSat->Biases[ii].Bias = it.value();
     562            }
     563          }
    467564        }
    468565      }
Note: See TracChangeset for help on using the changeset viewer.