Changeset 10533 in ntrip


Ignore:
Timestamp:
Sep 17, 2024, 4:55:28 PM (4 weeks ago)
Author:
stuerze
Message:

Service and RTCM CRS encoding and decoding as well as Helmert parameter decoding added + some re-organisation

Location:
trunk/BNC/src
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/BNC/src/GPSDecoder.h

    r8235 r10533  
    2727
    2828#include <iostream>
     29#include <iomanip>
    2930#include <vector>
    3031#include <string>
     
    3536#include "bnctime.h"
    3637#include "satObs.h"
     38#include "crs.h"
    3739
    3840class bncRinex;
     41using namespace std;
    3942
    4043class GPSDecoder {
     
    9295
    9396  /** List of observations */
    94   QList<t_satObs>      _obsList;
    95   QList<int>           _typeList;  // RTCM message types
    96   QList<t_antInfo>     _antType;   // RTCM antenna descriptor
    97   QList<t_recInfo>     _recType;   // RTCM receiver descriptor
    98   QList<t_antRefPoint> _antList;   // RTCM antenna XYZ
    99   QString              _gloFrq;    // GLONASS slot
    100   bncRinex*            _rnx;       // RINEX writer
     97  QList<t_satObs>         _obsList;
     98  QList<int>              _typeList;           // RTCM message types
     99  QList<t_antInfo>        _antType;            // RTCM antenna descriptor
     100  QList<t_recInfo>        _recType;            // RTCM receiver descriptor
     101  QList<t_antRefPoint>    _antList;            // RTCM antenna XYZ
     102  QList<t_helmertPar>     _helmertPar;     // List of Helmert parameter sets
     103  QList<t_serviceCrs>     _serviceCrs;         // Service CRS
     104  QList<t_rtcmCrs>        _rtcmCrs;            // RTCM CRS
     105  QString                 _gloFrq;             // GLONASS slot
     106  bncRinex*               _rnx;                // RINEX writer
    101107};
    102108
  • trunk/BNC/src/RTCM3/clock_and_orbit/clock_orbit.h

    r10529 r10533  
    1717#include "t_prn.h"
    1818#include "bncutils.h"
     19#include "bits.h"
    1920
    2021enum IGS_NUMBERS {
     
    406407  virtual CodeType    rnxTypeToCodeType(char system, std::string type) = 0;
    407408
    408 //#ifndef NOENCODE
    409409#define STOREBITS \
    410410  while(numbits >= 8) { \
     
    447447
    448448#define SCALEADDBITS(a, b, c) ADDBITS(a, (int64_t)(c > 0 ? b*c+0.5 : b*c-0.5))
     449
    449450#define MPI         3.141592653589793
    450451
     
    665666#define G_VTEC_QUALITY_INDICATOR(a)      GETSSRFLOAT     (a, 9, 1/20.0)          /* DF478, IDF041 */
    666667
    667 //#endif /* NODECODE */
    668 
    669668};
    670669
  • trunk/BNC/src/bncgetthread.cpp

    r10517 r10533  
    578578          } else if ((rtcmType >= 1057 && rtcmType <= 1068) ||
    579579                     (rtcmType >= 1240 && rtcmType <= 1270) ||
    580                                          (rtcmType == 4076)) {
     580                                                   (rtcmType == 4076)) {
    581581            switch (rtcmType) {
    582582              case 1057: case 1063: case 1240: case 1246: case 1252: case 1258:
     
    941941        }
    942942      }
    943 
    944 /*
    945       for (int ii = 0; ii < decoder()->_helmertParList.size(); ii++) {
    946         decoder()->_helmertParList[ii].print();
    947       }
    948 */
     943      // Service CRS
     944      // -----------
     945      for (int ii = 0; ii < decoder()->_serviceCrs.size(); ii++) {
     946        QString servicecrsname = QString(": Servive CRS Name: %1 ").arg(decoder()->_serviceCrs[ii]._name);
     947        QString coordinateEpoch = QString(": Coordinate Epoch: %1 ").arg(decoder()->_serviceCrs[ii]._coordinateEpoch);
     948        QString ce = QString(": CE: %1 ").arg(decoder()->_serviceCrs[ii]._CE);
     949        emit(newMessage(_staID + servicecrsname.toLatin1(), true));
     950        emit(newMessage(_staID + coordinateEpoch.toLatin1(), true));
     951        emit(newMessage(_staID + ce.toLatin1(), true));
     952      }
     953
     954      // RTCM CRS
     955      // -----------
     956      for (int ii = 0; ii < decoder()->_rtcmCrs.size(); ii++) {
     957        QString rtcmcrsname = QString(": RTCM CRS Name: %1 ").arg(decoder()->_rtcmCrs[ii]._name);
     958        QString anchor = QString(": Anchor: %1 ").arg(decoder()->_rtcmCrs[ii]._anchor);
     959        QString platenumber = QString(": Plate Number: %1 ").arg(decoder()->_rtcmCrs[ii]._plateNumber);
     960        emit(newMessage(_staID + rtcmcrsname.toLatin1(), true));
     961        emit(newMessage(_staID + anchor.toLatin1(), true));
     962        emit(newMessage(_staID + platenumber.toLatin1(), true));
     963        for (int i = 0; i<decoder()->_rtcmCrs[ii]._databaseLinks.size(); i++) {
     964          QString dblink = QString(": Database Link: %1 ").arg(decoder()->_rtcmCrs[ii]._databaseLinks[i]);
     965          emit(newMessage(_staID + dblink.toLatin1(), true));
     966        }
     967      }
     968
     969      // Helmert Parameters
     970      //-------------------
     971      for (int ii = 0; ii < decoder()->_helmertPar.size(); ii++) {
     972        t_helmertPar& helmertPar = decoder()->_helmertPar[ii];
     973        bncTime t; t.setmjd(0, helmertPar._t0); QString dateStr = QString::fromStdString(t.datestr());
     974        QString sourcename = QString(": MT1301 Source Name: %1 ").arg(helmertPar._sourceName);
     975        QString targetname = QString(": MT1301 Target Name: %1 ").arg(helmertPar._targetName);
     976        QString sysidentnum = QString(": MT1301 Sys Ident Num: %1 ").arg(helmertPar._sysIdentNum);
     977        QString trafomessageind = QString(": MT1301 Trafo Ident Num: %1 ").arg(helmertPar.IndtoString());
     978        QString epoch = QString(": MT1301 t0: MJD %1 (%2) ").arg(helmertPar._t0).arg(dateStr);
     979        QString partrans = QString(": MT1301 Helmert Par Trans: dx = %1, dy = %2, dz = %3, dxr = %4, dyr = %5, dzr = %6")
     980            .arg(helmertPar._dx).arg(helmertPar._dy).arg(helmertPar._dz)
     981            .arg(helmertPar._dxr).arg(helmertPar._dyr).arg(helmertPar._dzr);
     982        QString parrot = QString(": MT1301 Helmert Par Rot: ox = %1, oy = %2, oz = %3, oxr = %4, oyr = %5, ozr = %6")
     983            .arg(helmertPar._ox).arg(helmertPar._oy).arg(helmertPar._oz)
     984            .arg(helmertPar._oxr).arg(helmertPar._oyr).arg(helmertPar._ozr);
     985        QString parscale = QString(": MT1301 Helmert Par Scale: sc = %1, scr = %2").arg(helmertPar._sc).arg(helmertPar._scr);
     986        emit(newMessage(_staID + sourcename.toLatin1(), true));
     987        emit(newMessage(_staID + targetname.toLatin1(), true));
     988        emit(newMessage(_staID + sysidentnum.toLatin1(), true));
     989        emit(newMessage(_staID + trafomessageind.toLatin1(), true));
     990        emit(newMessage(_staID + epoch.toLatin1(), true));
     991        emit(newMessage(_staID + partrans.toLatin1(), true));
     992        emit(newMessage(_staID + parrot.toLatin1(), true));
     993        emit(newMessage(_staID + parscale.toLatin1(), true));
     994      }
    949995    }
    950996  }
  • trunk/BNC/src/bncutils.cpp

    r10330 r10533  
    9595#define GPSLEAPSTART    19 /* 19 leap seconds existed at 6.1.1980 */
    9696
    97 static int longyear(int year, int month)
    98 {
     97static int longyear(int year, int month) {
    9998  if(!(year % 4) && (!(year % 400) || (year % 100)))
    10099  {
     
    105104}
    106105
    107 int gnumleap(int year, int month, int day)
    108 {
     106int gnumleap(int year, int month, int day) {
    109107  int ls = 0;
    110108  const struct leapseconds *l;
     
    119117
    120118/* Convert Moscow time into UTC (fixnumleap == 1) or GPS (fixnumleap == 0) */
    121 void updatetime(int *week, int *secOfWeek, int mSecOfWeek, bool fixnumleap)
    122 {
     119void updatetime(int *week, int *secOfWeek, int mSecOfWeek, bool fixnumleap) {
    123120  int y,m,d,k,l, nul;
    124121  unsigned int j = *week*(7*24*60*60) + *secOfWeek + 5*24*60*60+3*60*60;
  • trunk/BNC/src/bncutils.h

    r10330 r10533  
    171171int bitExtracted(int number, int k, int p);
    172172
    173 // RTCM3 GPS EPH encoding
    174 //////////////////////////////////////////////////////////
    175 #define GPSTOINT(type, value) static_cast<type>(round(value))
    176 
    177 #define GPSADDBITS(a, b) {bitbuffer = (bitbuffer<<(a)) \
    178                        |(GPSTOINT(long long,b)&((1ULL<<a)-1)); \
    179                        numbits += (a); \
    180                        while(numbits >= 8) { \
    181                        buffer[size++] = bitbuffer>>(numbits-8);numbits -= 8;}}
    182 
    183 #define GPSADDBITSFLOAT(a,b,c) {long long i = GPSTOINT(long long,(b)/(c)); \
    184                              GPSADDBITS(a,i)};
    185 
    186 // RTCM3 GLONASS EPH encoding
    187 //////////////////////////////////////////////////////////
    188 #define GLONASSTOINT(type, value) static_cast<type>(round(value))
    189 #define GLONASSADDBITS(a, b) {bitbuffer = (bitbuffer<<(a)) \
    190                        |(GLONASSTOINT(long long,b)&((1ULL<<(a))-1)); \
    191                        numbits += (a); \
    192                        while(numbits >= 8) { \
    193                        buffer[size++] = bitbuffer>>(numbits-8);numbits -= 8;}}
    194 #define GLONASSADDBITSFLOATM(a,b,c) {int s; long long i; \
    195                        if(b < 0.0) \
    196                        { \
    197                          s = 1; \
    198                          i = GLONASSTOINT(long long,(-b)/(c)); \
    199                          if(!i) s = 0; \
    200                        } \
    201                        else \
    202                        { \
    203                          s = 0; \
    204                          i = GLONASSTOINT(long long,(b)/(c)); \
    205                        } \
    206                        GLONASSADDBITS(1,s) \
    207                        GLONASSADDBITS(a-1,i)}
    208 
    209 // RTCM3 Galileo EPH encoding
    210 //////////////////////////////////////////////////////////
    211 #define GALILEOTOINT(type, value) static_cast<type>(round(value))
    212 #define GALILEOADDBITS(a, b) {bitbuffer = (bitbuffer<<(a)) \
    213                        |(GALILEOTOINT(long long,b)&((1LL<<a)-1)); \
    214                        numbits += (a); \
    215                        while(numbits >= 8) { \
    216                        buffer[size++] = bitbuffer>>(numbits-8);numbits -= 8;}}
    217 #define GALILEOADDBITSFLOAT(a,b,c) {long long i = GALILEOTOINT(long long,(b)/(c)); \
    218                              GALILEOADDBITS(a,i)};
    219 
    220 // RTCM3 SBAS EPH encoding
    221 //////////////////////////////////////////////////////////
    222 #define SBASTOINT(type, value) static_cast<type>(round(value))
    223 #define SBASADDBITS(a, b) {bitbuffer = (bitbuffer<<(a)) \
    224                        |(SBASTOINT(long long,b)&((1ULL<<a)-1)); \
    225                        numbits += (a); \
    226                        while(numbits >= 8) { \
    227                        buffer[size++] = bitbuffer>>(numbits-8);numbits -= 8;}}
    228 #define SBASADDBITSFLOAT(a,b,c) {long long i = SBASTOINT(long long,(b)/(c)); \
    229                              SBASADDBITS(a,i)};
    230 
    231 // RTCM3 BDS EPH encoding
    232 //////////////////////////////////////////////////////////
    233 #define BDSTOINT(type, value) static_cast<type>(round(value))
    234 #define BDSADDBITS(a, b) {bitbuffer = (bitbuffer<<(a)) \
    235                        |(BDSTOINT(long long,b)&((1ULL<<a)-1)); \
    236                        numbits += (a); \
    237                        while(numbits >= 8) { \
    238                        buffer[size++] = bitbuffer>>(numbits-8);numbits -= 8;}}
    239 #define BDSADDBITSFLOAT(a,b,c) {long long i = BDSTOINT(long long,(b)/(c)); \
    240                              BDSADDBITS(a,i)};
    241173
    242174#endif
  • trunk/BNC/src/ephemeris.cpp

    r10317 r10533  
    1414#include "pppInclude.h"
    1515#include "pppModel.h"
     16#include "RTCM3/bits.h"
    1617
    1718using namespace std;
  • trunk/BNC/src/ephemeris.h

    r10315 r10533  
    1010#include "t_prn.h"
    1111#include "gnss.h"
    12 
    1312
    1413class t_orbCorr;
     
    569568
    570569};
     570
    571571#endif
  • trunk/BNC/src/upload/bncrtnetuploadcaster.cpp

    r10416 r10533  
    6060  }
    6161
    62   _crdTrafo = crdTrafo;
     62  _crdTrafoStr = crdTrafo;
    6363
    6464  _ssrFormat = ssrFormat;
     
    135135  // Transformation Parameters from ITRF2014 to ETRF2000
    136136  // http://etrs89.ign.fr/pub/EUREF-TN-1-Mar-04-2024.pdf
    137   if (_crdTrafo == "ETRF2000") {
     137  if (_crdTrafoStr == "ETRF2000") {
    138138    _dx  =  0.0552;
    139139    _dy  =  0.0527;
     
    158158  }
    159159  // Transformation Parameters from ITRF2014 to GDA2020 (Ryan Ruddick, GA)
    160   else if (_crdTrafo == "GDA2020") {
     160  else if (_crdTrafoStr == "GDA2020") {
    161161    _dx  = 0.0;
    162162    _dy  = 0.0;
     
    182182  // Transformation Parameters from IGb14 to SIRGAS2000 (Thanks to Sonia Costa, BRA)
    183183  // June 29 2020: TX:-0.0027 m  TY:-0.0025 m  TZ:-0.0042 m  SCL:1.20 (ppb) no rotations and no rates.*/
    184   else if (_crdTrafo == "SIRGAS2000") {
     184  else if (_crdTrafoStr == "SIRGAS2000") {
    185185    _dx  = -0.0027;
    186186    _dy  = -0.0025;
     
    204204  }
    205205  // Transformation Parameters from ITRF2014 to DREF91
    206   else if (_crdTrafo == "DREF91") {
     206  else if (_crdTrafoStr == "DREF91") {
    207207    _dx  =  0.0547;
    208208    _dy  =  0.0522;
     
    226226    _t0  =  2010.0;
    227227  }
    228   else if (_crdTrafo == "Custom") {
     228  else if (_crdTrafoStr == "Custom") {
    229229    _dx = settings.value("trafo_dx").toDouble();
    230230    _dy = settings.value("trafo_dy").toDouble();
     
    244244  }
    245245    // TODO: the following lines can be deleted if all parameters are updated regarding ITRF2020
    246   if (_crdTrafo == "ETRF2000" ||
    247       _crdTrafo == "GDA2020"  ||
    248       _crdTrafo == "DREF91"   ||
    249       _crdTrafo == "SIRGAS2000") {
     246  if (_crdTrafoStr == "ETRF2000" ||
     247      _crdTrafoStr == "GDA2020"  ||
     248      _crdTrafoStr == "DREF91"   ||
     249      _crdTrafoStr == "SIRGAS2000") {
    250250       // Transformation Parameters from ITRF2020 to ITRF2014
    251251       // from ITRF web site: https://itrf.ign.fr/en/solutions/transformations
     
    329329    if      (nextEpoch != -1 && nextEpoch < iEpoEnd) {
    330330      rtnetStreamBuffer = rtnetStreamBuffer.mid(nextEpoch, nextEpochEnd);
    331       lines = rtnetStreamBuffer.split('\n', QString::SkipEmptyParts);
     331      lines = rtnetStreamBuffer.split('\n', Qt::SkipEmptyParts);
    332332      if (lines.size() > 2) {
    333333        decodeRtnetEpoch(lines);
     
    341341  }
    342342
    343   lines = _rtnetStreamBuffer.left(iEpoEnd).split('\n', QString::SkipEmptyParts);
     343  lines = _rtnetStreamBuffer.left(iEpoEnd).split('\n', Qt::SkipEmptyParts);
    344344
    345345  _rtnetStreamBuffer = _rtnetStreamBuffer.mid(iEpoEnd + 3);
     
    374374  memset(&co, 0, sizeof(co));
    375375  co.EpochTime[CLOCKORBIT_SATGPS] = static_cast<int>(epoTime.gpssec());
     376  double gt = epoTime.gpssec() - gnumleap(year, month, day);
    376377  if      (_ssrFormat == "RTCM-SSR") {
    377     double gt = epoTime.gpssec() + 3 * 3600 - gnumleap(year, month, day);
    378     co.EpochTime[CLOCKORBIT_SATGLONASS] = static_cast<int>(fmod(gt, 86400.0));
    379   }
    380   else if (_ssrFormat == "IGS-SSR") {
    381     co.EpochTime[CLOCKORBIT_SATGLONASS] = static_cast<int>(epoTime.gpssec());
    382   }
     378    gt += 3 * 3600;
     379  }
     380  co.EpochTime[CLOCKORBIT_SATGLONASS] = static_cast<int>(fmod(gt, 86400.0));
    383381  co.EpochTime[CLOCKORBIT_SATGALILEO] = static_cast<int>(epoTime.gpssec());
    384382  co.EpochTime[CLOCKORBIT_SATQZSS]    = static_cast<int>(epoTime.gpssec());
    385383  co.EpochTime[CLOCKORBIT_SATSBAS]    = static_cast<int>(epoTime.gpssec());
    386   if      (_ssrFormat == "RTCM-SSR") {
    387     co.EpochTime[CLOCKORBIT_SATBDS] = static_cast<int>(epoTime.bdssec());
    388   }
    389   else if (_ssrFormat == "IGS-SSR") {
    390     co.EpochTime[CLOCKORBIT_SATBDS] = static_cast<int>(epoTime.gpssec());
    391   }
     384  co.EpochTime[CLOCKORBIT_SATBDS]     = static_cast<int>(epoTime.bdssec());
    392385  co.Supplied[_ssrCorr->COBOFS_CLOCK] = 1;
    393386  co.Supplied[_ssrCorr->COBOFS_ORBIT] = 1;
    394   co.SatRefDatum = _ssrCorr->DATUM_ITRF; // ToDo: to decode from RTNET format
     387  (_crdTrafoStr == "IGS20") ?
     388      co.SatRefDatum = _ssrCorr->DATUM_ITRF :
     389      co.SatRefDatum = _ssrCorr->DATUM_LOCAL;
    395390  co.SSRIOD        = _IOD;
    396391  co.SSRProviderID = _PID; // 256 .. BKG,  257 ... EUREF
    397392  co.SSRSolutionID = _SID;
     393  if      (_ssrFormat == "RTCM-SSR") {
     394    co.EpochTime[CLOCKORBIT_SATBDS] = static_cast<int>(epoTime.bdssec());
     395  }
     396  else if (_ssrFormat == "IGS-SSR") {
     397    co.EpochTime[CLOCKORBIT_SATBDS] = static_cast<int>(epoTime.gpssec());
     398  }
     399  co.Supplied[_ssrCorr->COBOFS_CLOCK] = 1;
     400  co.Supplied[_ssrCorr->COBOFS_ORBIT] = 1;
     401
     402
     403  t_serviceCrs serviceCrs;
     404  t_rtcmCrs    rtcmCrs;
     405  if (_crdTrafoStr == "IGS20") {
     406    serviceCrs._CE = serviceCrs._coordinateEpoch  = 0;
     407    int nc = _crdTrafoStr.length();
     408    if (nc > 31) {nc = 31;}
     409    for (int i = 0; i < nc; i++) {
     410      serviceCrs._name[i] =
     411         rtcmCrs._name[i] = _crdTrafoStr.toStdString()[i];
     412    }
     413    serviceCrs._name[nc] = 0;
     414    rtcmCrs._name[nc] = 0;
     415    rtcmCrs._anchor      = 0; // global CRS
     416    rtcmCrs._plateNumber = 0; // unknown
     417    rtcmCrs._databaseLinks << "ISO.DATUM.979" << "ISO.CRS:980";
     418  }
     419  else {
     420    if (_crdTrafoStr != "Custom") {
     421      serviceCrs._coordinateEpoch = _t0;
     422      serviceCrs.setCEFromCoordinateEpoch();
     423      int nc = _crdTrafoStr.length();
     424      if (nc > 31) {nc = 31;}
     425      for (int i = 0; i < nc; i++) {
     426        serviceCrs._name[i] = _crdTrafoStr.toStdString()[i];
     427      }
     428      serviceCrs._name[nc] = 0;
     429      QString rtcmcrsname = _crdTrafoStr + QString("(%1)").arg(_t0,4,'d',0);
     430      nc = rtcmcrsname.length();
     431      if (nc > 31) {nc = 31;}
     432      for (int i = 0; i < nc; i++) {
     433        rtcmCrs._name[i] = rtcmcrsname.toStdString()[i];
     434      }
     435      rtcmCrs._name[nc] = 0;
     436      if (_crdTrafoStr == "ETRF2000") {
     437        rtcmCrs._anchor      = 1; // plate-fixed CRS
     438        rtcmCrs._plateNumber = 7; // Eurasia
     439        rtcmCrs._databaseLinks << "ISO.DATUM.187"    << "ISO.CRS:260"   << "ISO.CRS:457"
     440                               << "EPSG.DATUM:1186"  << "EPSG.CRS:7930" << "EPSG.CRS:7931";
     441      }
     442      else if (_crdTrafoStr == "DREF91") {
     443        rtcmCrs._anchor      = 1; // plate-fixed CRS
     444        rtcmCrs._plateNumber = 7; // Eurasia
     445      }
     446      else if (_crdTrafoStr == "GDA2020") {
     447        rtcmCrs._anchor      = 1; // plate-fixed CRS
     448        rtcmCrs._plateNumber = 4; // Australia
     449        rtcmCrs._databaseLinks << "ISO.DATUM.186"   << "ISO.CRS:404"   << "ISO.CRS:329"
     450                               << "EPSG.DATUM:1168" << "EPSG.CRS:7842" << "EPSG.CRS:7843";
     451      }
     452      else if (_crdTrafoStr == "SIRGAS2000") {
     453        rtcmCrs._anchor      =  1; // plate-fixed CRS
     454        rtcmCrs._plateNumber = 12; // S.America
     455        rtcmCrs._databaseLinks << "ISO.DATUM:169"   << "ISO.CRS:384"   << "ISO.CRS:313"
     456                               << "EPSG.DATUM:6674" << "EPSG.CRS:4988" << "EPSG.CRS:4989";
     457      }
     458    }
     459  }
     460
    398461
    399462  struct SsrCorr::CodeBias bias;
     
    10261089
    10271090  double dc = 0.0;
    1028   if (_crdTrafo != "IGS20") {
     1091  if (_crdTrafoStr != "IGS20") {
    10291092    crdTrafo14(GPSweek, xP, dc); // ITRF2020 => ITRF2014
    10301093    crdTrafo(GPSweek, xP, dc);   // ITRF2014 to other reference frames
     
    11421205  ColumnVector meanSta(3);
    11431206
    1144   if (_crdTrafo == "ETRF2000") {
     1207  if (_crdTrafoStr == "ETRF2000") {
    11451208    meanSta(1) = 3661090.0;
    11461209    meanSta(2) = 845230.0;
    11471210    meanSta(3) = 5136850.0;
    11481211  }
    1149   else if (_crdTrafo == "GDA2020") {
     1212  else if (_crdTrafoStr == "GDA2020") {
    11501213    meanSta(1) = -4052050.0;
    11511214    meanSta(2) = 4212840.0;
    11521215    meanSta(3) = -2545110.0;
    11531216  }
    1154   else if (_crdTrafo == "SIRGAS2000") {
     1217  else if (_crdTrafoStr == "SIRGAS2000") {
    11551218    meanSta(1) = 3740860.0;
    11561219    meanSta(2) = -4964290.0;
    11571220    meanSta(3) = -1425420.0;
    11581221  }
    1159   else if (_crdTrafo == "DREF91") {
     1222  else if (_crdTrafoStr == "DREF91") {
    11601223    meanSta(1) = 3959579.0;
    11611224    meanSta(2) = 721719.0;
    11621225    meanSta(3) = 4931539.0;
    11631226  }
    1164   else if (_crdTrafo == "Custom") {
     1227  else if (_crdTrafoStr == "Custom") {
    11651228    meanSta(1) = 0.0;
    11661229    meanSta(2) = 0.0;
  • trunk/BNC/src/upload/bncrtnetuploadcaster.h

    r9911 r10533  
    99#include "../RTCM3/clock_and_orbit/clock_orbit_rtcm.h"
    1010#include "../RTCM3/clock_and_orbit/clock_orbit_igs.h"
     11#include "../RTCM3/crs.h"
    1112
    1213class bncEphUser;
     
    5556  bncEphUser*    _ephUser;
    5657  QString        _rtnetStreamBuffer;
    57   QString        _crdTrafo;
     58  QString        _crdTrafoStr;
    5859  SsrCorr*       _ssrCorr;
    5960  QString        _ssrFormat;
     
    6566  int            _samplRtcmClkCorr;
    6667  double         _samplRtcmEphCorr;
     68
    6769  double         _dx;
    6870  double         _dy;
     
    8082  double         _scr;
    8183  double         _t0;
    82   // TODO: the following lines can be deleted if all parameters are updated regarding ITRF2020
     84  /* TODO: the following lines can be deleted if all parameters are updated regarding ITRF2020*/
    8385  double         _dx14;
    8486  double         _dy14;
Note: See TracChangeset for help on using the changeset viewer.