Changeset 9538 in ntrip


Ignore:
Timestamp:
Nov 9, 2021, 3:37:15 PM (3 years ago)
Author:
stuerze
Message:

update regarding PPP: pseudo obs tropo completely removed

Location:
trunk/BNC
Files:
30 edited

Legend:

Unmodified
Added
Removed
  • trunk/BNC/Example_Configs/01_RinexObs.bnc

    r9424 r9538  
    166166sigmaGIM=4.0
    167167sigmaL1=0.01
    168 sigmaTz0=0.10
    169168snxtroAc=
    170169snxtroIntr=1 hour
  • trunk/BNC/Example_Configs/02_RinexEph.bnc

    r9424 r9538  
    166166sigmaGIM=4.0
    167167sigmaL1=0.01
    168 sigmaTz0=0.10
    169168snxtroAc=
    170169snxtroIntr=1 hour
  • trunk/BNC/Example_Configs/03_BrdcCorr.bnc

    r9424 r9538  
    166166sigmaGIM=4.0
    167167sigmaL1=0.01
    168 sigmaTz0=0.10
    169168snxtroAc=
    170169snxtroIntr=1 hour
  • trunk/BNC/Example_Configs/04_RinexConcat.bnc

    r9424 r9538  
    166166sigmaGIM=4.0
    167167sigmaL1=0.01
    168 sigmaTz0=0.10
    169168snxtroAc=
    170169snxtroIntr=1 hour
  • trunk/BNC/Example_Configs/05_RinexQC.bnc

    r9424 r9538  
    166166sigmaGIM=4.0
    167167sigmaL1=0.01
    168 sigmaTz0=0.10
    169168snxtroAc=
    170169snxtroIntr=1 hour
  • trunk/BNC/Example_Configs/06_RTK.bnc

    r9424 r9538  
    166166sigmaGIM=4.0
    167167sigmaL1=0.01
    168 sigmaTz0=0.10
    169168snxtroAc=
    170169snxtroIntr=1 hour
  • trunk/BNC/Example_Configs/07_FeedEngine.bnc

    r9424 r9538  
    166166sigmaGIM=4.0
    167167sigmaL1=0.01
    168 sigmaTz0=0.10
    169168snxtroAc=
    170169snxtroIntr=1 hour
  • trunk/BNC/Example_Configs/08_PPP.bnc

    r9444 r9538  
    166166sigmaGIM=4.0
    167167sigmaL1=0.02
    168 sigmaTz0=0.10
    169168snxtroAc=
    170169snxtroIntr=1 hour
  • trunk/BNC/Example_Configs/09_PPPNet.bnc

    r9444 r9538  
    166166sigmaGIM=4.0
    167167sigmaL1=0.02
    168 sigmaTz0=0.10
    169168snxtroAc=
    170169snxtroIntr=1 hour
  • trunk/BNC/Example_Configs/10_PPPQuickStart.bnc

    r9444 r9538  
    166166sigmaGIM=4.0
    167167sigmaL1=0.02
    168 sigmaTz0=0.10
    169168snxtroAc=
    170169snxtroIntr=1 hour
  • trunk/BNC/Example_Configs/11_PPPPostProc.bnc

    r9444 r9538  
    166166sigmaGIM=4.0
    167167sigmaL1=0.02
    168 sigmaTz0=0.10
    169168snxtroAc=
    170169snxtroIntr=1 hour
  • trunk/BNC/Example_Configs/12_PPPOsm.bnc

    r9444 r9538  
    168168sigmaGIM=4.0
    169169sigmaL1=0.02
    170 sigmaTz0=0.10
    171170snxtroAc=
    172171snxtroIntr=1 hour
  • trunk/BNC/Example_Configs/13_SPPQuickStart.bnc

    r9444 r9538  
    166166sigmaGIM=4.0
    167167sigmaL1=0.02
    168 sigmaTz0=0.10
    169168snxtroAc=
    170169snxtroIntr=1 hour
  • trunk/BNC/Example_Configs/14_SaveSp3.bnc

    r9424 r9538  
    166166sigmaGIM=4.0
    167167sigmaL1=0.01
    168 sigmaTz0=0.10
    169168snxtroAc=
    170169snxtroIntr=1 hour
  • trunk/BNC/Example_Configs/15_Sp3ETRFPPP.bnc

    r9424 r9538  
    166166sigmaGIM=4.0
    167167sigmaL1=0.01
    168 sigmaTz0=0.10
    169168snxtroAc=
    170169snxtroIntr=1 hour
  • trunk/BNC/Example_Configs/16_Upload.bnc

    r9424 r9538  
    166166sigmaGIM=4.0
    167167sigmaL1=0.01
    168 sigmaTz0=0.10
    169168snxtroAc=
    170169snxtroIntr=1 hour
  • trunk/BNC/Example_Configs/17_Combi.bnc

    r9424 r9538  
    168168sigmaGIM=4.0
    169169sigmaL1=0.01
    170 sigmaTz0=0.10
    171170snxtroAc=
    172171snxtroIntr=1 hour
  • trunk/BNC/Example_Configs/18_CombiPPP.bnc

    r9444 r9538  
    168168sigmaGIM=4.0
    169169sigmaL1=0.02
    170 sigmaTz0=0.10
    171170snxtroAc=
    172171snxtroIntr=1 hour
  • trunk/BNC/Example_Configs/19_UploadEph.bnc

    r9424 r9538  
    165165sigmaGIM=4.0
    166166sigmaL1=0.01
    167 sigmaTz0=0.10
    168167snxtroAc=
    169168snxtroIntr=1 hour
  • trunk/BNC/Example_Configs/20_CompareSp3.bnc

    r9424 r9538  
    166166sigmaGIM=4.0
    167167sigmaL1=0.01
    168 sigmaTz0=0.10
    169168snxtroAc=
    170169snxtroIntr=1 hour
  • trunk/BNC/Example_Configs/21_Empty.bnc

    r9424 r9538  
    160160sigmaGIM=4.0
    161161sigmaL1=0.01
    162 sigmaTz0=0.10
    163162snxtroAc=
    164163snxtroIntr=1 hour
  • trunk/BNC/src/PPP/pppClient.cpp

    r9537 r9538  
    232232    }
    233233  }
    234   if (_opt->_pseudoObsTropo) {
    235     vector<t_pppSatObs*>::iterator it = obsVector.begin();
    236     while (it != obsVector.end()) {
    237       t_pppSatObs* satObs = *it;
    238       if (satObs->isReference()) {
    239         satObs->setPseudoObsTropo();
    240       }
    241       it++;
    242     }
    243   }
     234
    244235/*
    245236  vector<t_pppSatObs*>::iterator it = obsVector.begin();
  • trunk/BNC/src/PPP/pppFilter.cpp

    r9537 r9538  
    212212      usedLCs -= 1;  // GIM not used
    213213  }
    214   int hlpLCs = 0;
    215   if (OPT->_pseudoObsTropo) {
    216     hlpLCs = -1;
    217   }
    218214  // max Obs
    219   unsigned maxObs = obsVector.size() * (usedLCs + hlpLCs);
    220   if (OPT->_pseudoObsTropo && _datumTrafo->firstSystem(sys)) {
    221     maxObs += 1;
    222   }
     215  unsigned maxObs = obsVector.size() * usedLCs;
     216
    223217  if (OPT->_pseudoObsIono && pseudoObsIonoAvailable) {
    224218    maxObs -= 1; // pseudo obs iono with respect to refSat
     
    257251          if (tLC == t_lc::Tz0) {continue;}
    258252          ++iObs;
    259           usedObs.push_back(obs);
    260           usedTypes.push_back(tLC);
    261           for (unsigned iPar = 0; iPar < nPar; iPar++) {
    262             const t_pppParam* par = params[iPar];
    263             AA[iObs][iPar] = par->partial(_epoTime, obs, tLC, refPrn);
    264           }
    265           ll[iObs] = obs->obsValue(tLC) - obs->cmpValue(tLC) - DotProduct(_x0, AA.Row(iObs+1));
    266           PP[iObs] = 1.0 / (obs->sigma(tLC) * obs->sigma(tLC));
    267         }
    268       }
    269     }
    270 
    271     // pseudo Obs Tropo
    272     // ================
    273     if (OPT->_pseudoObsTropo && _datumTrafo->firstSystem(sys)) {
    274       bool _pseudoObsTropoConsidered = false;
    275       for (unsigned ii = 0; ii < obsVector.size(); ii++) {
    276         if (_pseudoObsTropoConsidered) {break;}
    277         t_pppSatObs* obs = obsVector[ii];
    278         for (unsigned jj = 0; jj < usedLCs; jj++) {
    279           const t_lc::type tLC = LCs[jj];
    280           if (tLC != t_lc::Tz0) {continue;}
    281           ++iObs;
    282           _pseudoObsTropoConsidered = true;
    283253          usedObs.push_back(obs);
    284254          usedTypes.push_back(tLC);
     
    756726        usedLCs -= 1;  // GIM not used
    757727    }
    758     int hlpLCs = 0;
    759     if (OPT->_pseudoObsTropo) {
    760       hlpLCs = -1;
    761     }
    762728    // max Obs
    763     unsigned maxObs = obsVector.size() * (usedLCs + hlpLCs);
    764 
    765     if (OPT->_pseudoObsTropo && _datumTrafo->firstSystem(sys)) {
    766       maxObs += 1;
    767     }
     729    unsigned maxObs = obsVector.size() * usedLCs;
     730
    768731    if (OPT->_pseudoObsIono && peseudoObsIono) {
    769732      maxObs -= 1; // pseudo obs iono with respect to refSat
     
    791754      }
    792755    }
    793     // pseudo Obs Tropo
    794     // ================
    795     if (OPT->_pseudoObsTropo && _datumTrafo->firstSystem(sys)) {
    796       bool pseudoObsTropoConsidered = false;
    797       for (unsigned ii = 0; ii < obsVector.size(); ii++) {
    798         if (pseudoObsTropoConsidered) {break;}
    799         t_pppSatObs* obs = obsVector[ii];
    800         for (unsigned jj = 0; jj < usedLCs; jj++) {
    801           const t_lc::type tLC = LCs[jj];
    802           if (tLC != t_lc::Tz0) {continue;}
    803           ++iObs;
    804           pseudoObsTropoConsidered = true;
    805           for (unsigned iPar = 0; iPar < nPar; iPar++) {
    806             const t_pppParam* par = params[iPar];
    807             AA[iObs][iPar] = par->partial(_epoTime, obs, tLC, refPrn);
    808           }
    809         }
    810       }
    811     }
     756
    812757    if (!iObs) {
    813758      continue;
     
    888833      realUsedLCs -= 1;
    889834    }
    890     if (OPT->_pseudoObsTropo) {
    891       realUsedLCs -= 1;
    892     }
     835
    893836    trafoObs += satNum * realUsedLCs;
    894837
    895     if (OPT->_pseudoObsTropo && _datumTrafo->firstSystem(sys)) {
    896       trafoObs += 1;
    897     }
    898838    if (OPT->_pseudoObsIono && pseudoObsIono) {
    899839      trafoObs -= 1; // pseudo obs iono with respect to refSat
  • trunk/BNC/src/bnchelp.html

    r9445 r9538  
    52285228   PPP/sigmaL1      {Sigma for phase observations in meters [floating-point number]}
    52295229   PPP/sigmaGIM     {Sigma for GIM pseudo observations in meters [floating-point number]}
    5230    PPP/sigmaTz0     {Sigma for Tz0 pseudo observations in meters [floating-point number]}
    52315230   PPP/maxResC1     {Maximal residuum for code observations in meters [floating-point number]}
    52325231   PPP/maxResL1     {Maximal residuum for phase observations in meters [floating-point number]}
  • trunk/BNC/src/bncmain.cpp

    r9494 r9538  
    231231      "   PPP/lcBDS        {Select observations from BDS code and/or phase data [character string: no|Pi|Li|Pi&Li]}\n"
    232232      "   PPP/modelObs     {select observation model [character string: Ionosphere-free PPP|Uncombined PPP|PPP-RTK|DCM with Code Biases|DCM with Phase Biases]}\n"
    233       "   PPP/pseudoOb     {select pseudo observations [character string: no|Ionosphere&Troposphere]}\n"
     233      "   PPP/pseudoOb     {select pseudo observations [character string: no|Ionosphere]}\n"
    234234      "   PPP/sigmaC1      {Sigma for code observations in meters [floating-point number]}\n"
    235235      "   PPP/sigmaL1      {Sigma for phase observations in meters [floating-point number]}\n"
    236236      "   PPP/sigmaGIM     {Sigma for GIM pseudo observations in meters [floating-point number]}\n"
    237       "   PPP/sigmaTz0     {Sigma for Tz0 pseudo observations in meters [floating-point number]}\n"
    238237      "   PPP/maxResC1     {Maximal residuum for code observations in meters [floating-point number]}\n"
    239238      "   PPP/maxResL1     {Maximal residuum for phase observations in meters [floating-point number]}\n"
  • trunk/BNC/src/bncwindow.cpp

    r9495 r9538  
    10631063  pppLayout3->addWidget(_pppWidgets._sigmaGIM,              ir, 4); _pppWidgets._sigmaGIM->setMaximumWidth(8*ww);
    10641064  pppLayout3->addItem(new QSpacerItem(8*ww, 0),             ir, 5);
    1065   pppLayout3->addWidget(new QLabel("Sigma Tz0"),            ir, 6, Qt::AlignLeft);
    1066   pppLayout3->addWidget(_pppWidgets._sigmaTz0,              ir, 7); _pppWidgets._sigmaTz0->setMaximumWidth(8*ww);
    10671065  ++ir;
    1068   pppLayout3->addWidget(new QLabel(""),                     ir, 8);
     1066  pppLayout3->addWidget(new QLabel(""),                     ir, 6);
    10691067  pppLayout3->setColumnStretch(8, 999);
    10701068  ++ir;
     
    14561454  _pppWidgets._sigmaL1->setWhatsThis(tr("<p>Enter a Sigma for GPS L1 phase observations in meters.</p><p>The higher the sigma you enter, the less the contribution of L1 phase observations to a PPP solutions from combined code and phase data. 0.01 is likely to be an appropriate choice.</p><p>Default is an empty option field, meaning<br>'Sigma L1 = 0.01' <i>[key: PPP/sigmaL1]</i></p>"));
    14571455  _pppWidgets._sigmaGIM->setWhatsThis(tr("<p>Enter a Sigma for GIM pseudo observations in meters.</p><p>The higher the sigma you enter, the less the contribution of GIM pseudo observations to a PPP solution. 3.0 is likely to be an appropriate choice.</p><p>Default is an empty option field, meaning<br>'Sigma GIM = 3.0' <i>[key: PPP/sigmaGIM]</i></p>"));
    1458   _pppWidgets._sigmaTz0->setWhatsThis(tr("<p>Enter a Sigma for a Tropospheric pseudo observation in zenith direction in meters.</p><p>The higher the sigma you enter, the less the contribution of Tz0 pseudo observations to a PPP solution. 0.10 is likely to be an appropriate choice.</p><p>Default is an empty option field, meaning<br>'Sigma Tzo = 0.10' <i>[key: PPP/sigmaTz0]</i></p>"));
    14591456  _pppWidgets._maxResC1->setWhatsThis(tr("<p>Specify a maximum for residuals from GPS C1 code observations in a PPP solution. '3.0' meters may be an appropriate choice for that.</p><p>If the maximum is exceeded, contributions from the corresponding observation will be ignored in the PPP solution.</p><p>Default is an empty option field, meaning<br>'Max Rex C1 = 3.0' <i>[key: PPP/maxResC1]</i></p>"));
    14601457  _pppWidgets._maxResL1->setWhatsThis(tr("<p>Specify a maximum for residuals from GPS L1 code observations in a PPP solution. '0.03' meters may be an appropriate choice for that.</p><p>If the maximum is exceeded, contributions from the corresponding observation will be ignored in the PPP solution.</p><p>Default is an empty option field, meaning<br>'Max Rex L1 = 0.03' <i>[key: PPP/maxResL1]</i></p>"));
  • trunk/BNC/src/pppMain.cpp

    r9494 r9538  
    182182    opt->_sigmaL1      = settings.value("PPP/sigmaL1").toDouble(); if (opt->_sigmaL1 <= 0.0)  opt->_sigmaL1  = 0.01;
    183183    opt->_sigmaGIM     = settings.value("PPP/sigmaGIM").toDouble();if (opt->_sigmaGIM <= 0.0) opt->_sigmaGIM = 3.00;
    184     opt->_sigmaTz0     = settings.value("PPP/sigmaTz0").toDouble();if (opt->_sigmaTz0 <= 0.0) opt->_sigmaTz0 = 0.10;
    185184    opt->_corrWaitTime = settings.value("PPP/corrWaitTime").toDouble();
    186185    if (!_realTime || opt->_corrMount.empty()) {
     
    189188    opt->_obsModelType   = t_pppOptions::IF;
    190189    opt->_pseudoObsIono  = false;
    191     opt->_pseudoObsTropo = false;
    192190    opt->_refSatRequired = false;
    193191#ifdef USE_PPP
     
    195193    if      (settings.value("PPP/pseudoObs").toString() == "no") {
    196194      opt->_pseudoObsIono  = false;
    197       opt->_pseudoObsTropo = false;
    198     }
    199     else if (settings.value("PPP/pseudoObs").toString() == "Troposphere") {
    200       opt->_pseudoObsIono  = false;
    201       opt->_pseudoObsTropo = true;
    202     }
    203     else if (settings.value("PPP/pseudoObs").toString() == "Ionosphere&Troposphere") {
     195    }
     196    else if (settings.value("PPP/pseudoObs").toString() == "Ionosphere") {
    204197      opt->_pseudoObsIono  = true;
    205       opt->_pseudoObsTropo = true;
    206198    }
    207199    // Observation Model
     
    209201      opt->_obsModelType = t_pppOptions::IF;
    210202      opt->_pseudoObsIono  = false;
    211       opt->_pseudoObsTropo = false;
    212203    }
    213204    else if (settings.value("PPP/modelObs").toString() == "PPP-RTK") {
    214205      opt->_obsModelType = t_pppOptions::PPPRTK;
    215206      opt->_pseudoObsIono  = false;
    216       opt->_pseudoObsTropo = false;
    217207    }
    218208    else if (settings.value("PPP/modelObs").toString() == "Uncombined PPP") {
     
    247237          opt->_LCsGPS.push_back(t_lc::GIM);
    248238        }
    249         if (opt->_pseudoObsTropo) {
    250           opt->_LCsGPS.push_back(t_lc::Tz0);
    251         }
    252239      }
    253240    }
     
    262249          opt->_LCsGPS.push_back(t_lc::GIM);
    263250        }
    264         if (opt->_pseudoObsTropo) {
    265           opt->_LCsGPS.push_back(t_lc::Tz0);
    266         }
    267251      }
    268252    }
     
    276260        if (opt->_pseudoObsIono) {
    277261          opt->_LCsGPS.push_back(t_lc::GIM);
    278         }
    279         if (opt->_pseudoObsTropo) {
    280           opt->_LCsGPS.push_back(t_lc::Tz0);
    281262        }
    282263      }
     
    296277          opt->_LCsGLONASS.push_back(t_lc::GIM);
    297278        }
    298         if (opt->_pseudoObsTropo) {
    299           opt->_LCsGLONASS.push_back(t_lc::Tz0);
    300         }
    301279      }
    302280    }
     
    311289          opt->_LCsGLONASS.push_back(t_lc::GIM);
    312290        }
    313         if (opt->_pseudoObsTropo) {
    314           opt->_LCsGLONASS.push_back(t_lc::Tz0);
    315         }
    316291      }
    317292    }
     
    325300        if (opt->_pseudoObsIono) {
    326301          opt->_LCsGLONASS.push_back(t_lc::GIM);
    327         }
    328         if (opt->_pseudoObsTropo) {
    329           opt->_LCsGLONASS.push_back(t_lc::Tz0);
    330302        }
    331303      }
     
    345317          opt->_LCsGalileo.push_back(t_lc::GIM);
    346318        }
    347         if (opt->_pseudoObsTropo) {
    348           opt->_LCsGalileo.push_back(t_lc::Tz0);
    349         }
    350319      }
    351320    }
     
    360329          opt->_LCsGalileo.push_back(t_lc::GIM);
    361330        }
    362         if (opt->_pseudoObsTropo) {
    363           opt->_LCsGalileo.push_back(t_lc::Tz0);
    364         }
    365331      }
    366332    }
     
    374340        if (opt->_pseudoObsIono) {
    375341          opt->_LCsGalileo.push_back(t_lc::GIM);
    376         }
    377         if (opt->_pseudoObsTropo) {
    378           opt->_LCsGalileo.push_back(t_lc::Tz0);
    379342        }
    380343      }
     
    394357          opt->_LCsBDS.push_back(t_lc::GIM);
    395358        }
    396         if (opt->_pseudoObsTropo) {
    397           opt->_LCsBDS.push_back(t_lc::Tz0);
    398         }
    399359      }
    400360    }
     
    409369          opt->_LCsBDS.push_back(t_lc::GIM);
    410370        }
    411         if (opt->_pseudoObsTropo) {
    412           opt->_LCsBDS.push_back(t_lc::Tz0);
    413         }
    414371      }
    415372    }
     
    423380        if (opt->_pseudoObsIono) {
    424381          opt->_LCsBDS.push_back(t_lc::GIM);
    425         }
    426         if (opt->_pseudoObsTropo) {
    427           opt->_LCsBDS.push_back(t_lc::Tz0);
    428382        }
    429383      }
  • trunk/BNC/src/pppOptions.h

    r9486 r9538  
    5252  double                  _sigmaL1;
    5353  double                  _sigmaGIM;
    54   double                  _sigmaTz0;
    5554  double                  _maxResC1;
    5655  double                  _maxResL1;
     
    8180  std::vector<t_lc::type> _LCsBDS;
    8281  bool                    _pseudoObsIono;
    83   bool                    _pseudoObsTropo;
    8482  bool                    _refSatRequired;
    8583};
  • trunk/BNC/src/pppWidgets.cpp

    r9537 r9538  
    8787  _sigmaL1      = new QLineEdit();     _sigmaL1     ->setObjectName("PPP/sigmaL1");      _widgets << _sigmaL1;
    8888  _sigmaGIM     = new QLineEdit();     _sigmaGIM    ->setObjectName("PPP/sigmaGIM");     _widgets << _sigmaGIM;
    89   _sigmaTz0     = new QLineEdit();     _sigmaTz0    ->setObjectName("PPP/sigmaTz0");     _widgets << _sigmaTz0;
    9089  _maxResC1     = new QLineEdit();     _maxResC1    ->setObjectName("PPP/maxResC1");     _widgets << _maxResC1;
    9190  _maxResL1     = new QLineEdit();     _maxResL1    ->setObjectName("PPP/maxResL1");     _widgets << _maxResL1;
     
    155154#else
    156155  _modelObs->addItems(QString("Ionosphere-free PPP,Uncombined PPP,PPP-RTK,DCM with Code Biases,DCM with Phase Biases").split(","));
    157   _pseudoObs->addItems(QString("no,Troposphere,Ionosphere,Ionosphere&Troposphere").split(","));
     156  _pseudoObs->addItems(QString("no,Ionosphere").split(","));
    158157#endif
    159158
     
    257256  delete _sigmaL1;
    258257  delete _sigmaGIM;
    259   delete _sigmaTz0;
    260258  delete _maxResC1;
    261259  delete _maxResL1;
     
    354352  else {
    355353    _sigmaGIM->setText("4.0");
    356   }
    357 
    358   if (!settings.value(_sigmaTz0->objectName()).toString().isEmpty()) {
    359     _sigmaTz0->setText(settings.value(_sigmaTz0->objectName()).toString());
    360   }
    361   else {
    362     _sigmaTz0->setText("0.10");
    363354  }
    364355
     
    465456  settings.setValue(_sigmaL1     ->objectName(), _sigmaL1     ->text());
    466457  settings.setValue(_sigmaGIM    ->objectName(), _sigmaGIM    ->text());
    467   settings.setValue(_sigmaTz0    ->objectName(), _sigmaTz0    ->text());
    468458  settings.setValue(_corrWaitTime->objectName(), _corrWaitTime->value());
    469459  settings.setValue(_maxResC1    ->objectName(), _maxResC1    ->text());
     
    547537    _pseudoObs->setEnabled(true);
    548538    _sigmaGIM->setEnabled(true);
    549     _sigmaTz0->setEnabled(true);
    550539  } else {
    551540    _pseudoObs->setEnabled(false);
    552541    _sigmaGIM->setEnabled(false);
    553     _sigmaTz0->setEnabled(false);
    554542  }
    555543
  • trunk/BNC/src/pppWidgets.h

    r9302 r9538  
    7171  QLineEdit*     _sigmaL1;
    7272  QLineEdit*     _sigmaGIM;
    73   QLineEdit*     _sigmaTz0;
    7473  QSpinBox*      _minObs;
    7574  QSpinBox*      _minEle;
Note: See TracChangeset for help on using the changeset viewer.