Changeset 6218 in ntrip


Ignore:
Timestamp:
Oct 9, 2014, 4:01:25 PM (10 years ago)
Author:
mervart
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/BNC/src/rinex/rnxobsfile.cpp

    r6217 r6218  
    782782      _header._obsTypes = header._obsTypes;
    783783    }
    784     else if (int(_header._version) == 2) {
    785       char sys0 = t_rnxObsHeader::defaultSystems[0].toAscii();
    786       for (int iObs = 0; iObs < header._obsTypes[sys0].size(); iObs++) {
     784    else {
     785      for (int iSys = 0; iSys < header.numSys(); iSys++) {
     786        char sys = header.system(iSys);
     787        for (int iObs = 0; iObs < header.nTypes(sys); iObs++) {
     788          _header._obsTypes[sys].push_back(header.obsType(sys, iObs, _header._version));
     789        }
     790      }
     791    }
     792  }
     793  else {
     794    for (int iObs = 0; iObs < useObsTypes.size(); iObs++) {
     795      if (useObsTypes[iObs].indexOf(":") != -1) {
     796        QStringList hlp = useObsTypes[iObs].split(":", QString::SkipEmptyParts);
     797        if (hlp.size() == 2 && hlp[0].length() == 1) {
     798          char    sys  = hlp[0][0].toAscii();
     799          QString type = hlp[1];
     800          _header._obsTypes[sys].push_back(type);
     801        }
     802      }
     803      else {
    787804        for (int iSys = 0; iSys < t_rnxObsHeader::defaultSystems.length(); iSys++) {
    788           char sysI = t_rnxObsHeader::defaultSystems[iSys].toAscii();
    789           _header._obsTypes[sysI].push_back(header.obsType(sys0, iObs, _header._version));
    790         }
    791       }
    792     }
    793     else if (int(_header._version) == 3) {
    794       char sys0 = t_rnxObsHeader::defaultSystems[0].toAscii();
    795       for (int iSys = 0; iSys < t_rnxObsHeader::defaultSystems.length(); iSys++) {
    796         char sysI = t_rnxObsHeader::defaultSystems[iSys].toAscii();
    797         for (int iObs = 0; iObs < header._obsTypes[sys0].size(); iObs++) {
    798           _header._obsTypes[sysI].push_back(header.obsType(sysI, iObs, _header._version));
    799         }
    800       }
    801     }
    802   }
    803   else {
    804     if (_header._version < 3.0) {
    805       char sys0 = t_rnxObsHeader::defaultSystems[0].toAscii();
    806       for (int iObs = 0; iObs < useObsTypes.size(); iObs++) {
    807         _header._obsTypes[sys0].push_back(useObsTypes[iObs]);
    808       }
    809       for (int iSys = 1; iSys < t_rnxObsHeader::defaultSystems.length(); iSys++) {
    810         char sysI = t_rnxObsHeader::defaultSystems[iSys].toAscii();
    811         _header._obsTypes[sysI] = _header._obsTypes[sys0];
    812       }
    813     }
    814     else {
    815       for (int iObs = 0; iObs < useObsTypes.size(); iObs++) {
    816         if (useObsTypes[iObs].indexOf(":") != -1) {
    817           QStringList hlp = useObsTypes[iObs].split(":", QString::SkipEmptyParts);
    818           if (hlp.size() == 2 && hlp[0].length() == 1) {
    819             char    sys  = hlp[0][0].toAscii();
    820             QString type = hlp[1];
    821             _header._obsTypes[sys].push_back(type);
    822           }
    823         }
    824         else {
    825           QString type = useObsTypes[iObs];
    826           for (int iSys = 0; iSys < t_rnxObsHeader::defaultSystems.length(); iSys++) {
    827             char sys = t_rnxObsHeader::defaultSystems[iSys].toAscii();
    828             _header._obsTypes[sys].push_back(type);
    829           }
     805          char sys = t_rnxObsHeader::defaultSystems[iSys].toAscii();
     806          _header._obsTypes[sys].push_back(useObsTypes[iObs]);
    830807        }
    831808      }
Note: See TracChangeset for help on using the changeset viewer.