Changeset 11200 in ntrip for trunk/BNC/src/rinex/rnxobsfile.cpp


Ignore:
Timestamp:
Nov 11, 2026, 11:17:08 AM (less than one hour ago)
Author:
stuerze
Message:

RINEX concatenation checked and improved

File:
1 edited

Legend:

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

    r11192 r11200  
    701701}
    702702
     703// Station records of the header (marker, observer, receiver, antenna,
     704// position), also used for the header changes between concatenated files
     705////////////////////////////////////////////////////////////////////////////
     706QStringList t_rnxObsHeader::stationRecords(double version) const {
     707  if (version == 0.0) {
     708    version = _version;
     709  }
     710  QStringList records;
     711  // RINEX 3/4: MARKER NAME A60, RINEX 2: 4-character station ID
     712  QString markerName = _markerName;
     713  if (version < 3.0) {
     714    markerName = _markerName.left(4);
     715  }
     716  records << QString("%1")
     717    .arg(markerName, -60)
     718    .leftJustified(60)
     719           + "MARKER NAME";
     720
     721
     722  if (!_markerNumber.isEmpty()) {
     723    records << QString("%1")
     724      .arg(_markerNumber, -20)
     725      .leftJustified(60)
     726             + "MARKER NUMBER";
     727  }
     728
     729  if (version >= 3.0) {
     730    records << QString("%1")
     731      .arg(_markerType, -60)
     732      .leftJustified(60)
     733             + "MARKER TYPE";
     734  }
     735
     736  records << QString("%1%2")
     737    .arg(_observer, -20)
     738    .arg(_agency,   -40)
     739    .leftJustified(60)
     740           + "OBSERVER / AGENCY";
     741
     742  records << QString("%1%2%3")
     743    .arg(_receiverNumber,  -20)
     744    .arg(_receiverType,    -20)
     745    .arg(_receiverVersion, -20)
     746    .leftJustified(60)
     747           + "REC # / TYPE / VERS";
     748
     749  records << QString("%1%2")
     750    .arg(_antennaNumber, -20)
     751    .arg(_antennaName,   -20)
     752    .leftJustified(60)
     753           + "ANT # / TYPE";
     754
     755  records << QString("%1%2%3")
     756    .arg(_xyz(1), 14, 'f', 4)
     757    .arg(_xyz(2), 14, 'f', 4)
     758    .arg(_xyz(3), 14, 'f', 4)
     759    .leftJustified(60)
     760           + "APPROX POSITION XYZ";
     761
     762  records << QString("%1%2%3")
     763    .arg(_antNEU(3), 14, 'f', 4)
     764    .arg(_antNEU(2), 14, 'f', 4)
     765    .arg(_antNEU(1), 14, 'f', 4)
     766    .leftJustified(60)
     767           + "ANTENNA: DELTA H/E/N";
     768
     769  if (_rcvClkOffsAppl >= 0) {
     770    records << QString("%1")
     771      .arg(_rcvClkOffsAppl, 6)
     772      .leftJustified(60)
     773             + "RCV CLOCK OFFS APPL";
     774  }
     775  return records;
     776}
     777
    703778// Write Header
    704779////////////////////////////////////////////////////////////////////////////
    … …  
    764839    *stream << itCmnt.next().trimmed().left(60).leftJustified(60) << "COMMENT\n";
    765840  }
    766   QString markerName = _markerName.left(9);
    767   if (_version < 3.0) {
    768     markerName = _markerName.left(4);
    769   }
    770   *stream << QString("%1")
    771     .arg(markerName, -60)
    772     .leftJustified(60)
    773            << "MARKER NAME\n";
    774 
    775 
    776   if (!_markerNumber.isEmpty()) {
    777     *stream << QString("%1")
    778       .arg(_markerNumber, -20)
    779       .leftJustified(60)
    780              << "MARKER NUMBER\n";
    781   }
    782 
    783   if (_version >= 3.0) {
    784     *stream << QString("%1")
    785       .arg(_markerType, -60)
    786       .leftJustified(60)
    787              << "MARKER TYPE\n";
    788   }
    789 
    790   *stream << QString("%1%2")
    791     .arg(_observer, -20)
    792     .arg(_agency,   -40)
    793     .leftJustified(60)
    794            << "OBSERVER / AGENCY\n";
    795 
    796   *stream << QString("%1%2%3")
    797     .arg(_receiverNumber,  -20)
    798     .arg(_receiverType,    -20)
    799     .arg(_receiverVersion, -20)
    800     .leftJustified(60)
    801            << "REC # / TYPE / VERS\n";
    802 
    803   *stream << QString("%1%2")
    804     .arg(_antennaNumber, -20)
    805     .arg(_antennaName,   -20)
    806     .leftJustified(60)
    807            << "ANT # / TYPE\n";
    808 
    809   *stream << QString("%1%2%3")
    810     .arg(_xyz(1), 14, 'f', 4)
    811     .arg(_xyz(2), 14, 'f', 4)
    812     .arg(_xyz(3), 14, 'f', 4)
    813     .leftJustified(60)
    814            << "APPROX POSITION XYZ\n";
    815 
    816   *stream << QString("%1%2%3")
    817     .arg(_antNEU(3), 14, 'f', 4)
    818     .arg(_antNEU(2), 14, 'f', 4)
    819     .arg(_antNEU(1), 14, 'f', 4)
    820     .leftJustified(60)
    821            << "ANTENNA: DELTA H/E/N\n";
    822 
    823   if (_rcvClkOffsAppl >= 0) {
    824     *stream << QString("%1")
    825       .arg(_rcvClkOffsAppl, 6)
    826       .leftJustified(60)
    827              << "RCV CLOCK OFFS APPL\n";
    828   }
     841  *stream << stationRecords().join("\n") << "\n";
    829842
    830843  if (_version < 3.0) {
Note: See TracChangeset for help on using the changeset viewer.