⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rinexobsheader.hpp

📁 一个gps小工具包
💻 HPP
📖 第 1 页 / 共 2 页
字号:
#pragma ident "$Id: RinexObsHeader.hpp 698 2007-07-23 17:08:30Z btolman $"//============================================================================////  This file is part of GPSTk, the GPS Toolkit.////  The GPSTk is free software; you can redistribute it and/or modify//  it under the terms of the GNU Lesser General Public License as published//  by the Free Software Foundation; either version 2.1 of the License, or//  any later version.////  The GPSTk is distributed in the hope that it will be useful,//  but WITHOUT ANY WARRANTY; without even the implied warranty of//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the//  GNU Lesser General Public License for more details.////  You should have received a copy of the GNU Lesser General Public//  License along with GPSTk; if not, write to the Free Software Foundation,//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA//  //  Copyright 2004, The University of Texas at Austin////============================================================================//============================================================================////This software developed by Applied Research Laboratories at the University of//Texas at Austin, under contract to an agency or agencies within the U.S. //Department of Defense. The U.S. Government retains all rights to use,//duplicate, distribute, disclose, or release this software. ////Pursuant to DoD Directive 523024 //// DISTRIBUTION STATEMENT A: This software has been approved for public //                           release, distribution is unlimited.////=============================================================================/** * @file RinexObsHeader.hpp * Encapsulate header of Rinex observation file, including I/O */#ifndef GPSTK_RINEXOBSHEADER_HPP#define GPSTK_RINEXOBSHEADER_HPP#include <vector>#include <list>#include <map>#include <iostream>#include <iomanip>#include "DayTime.hpp"#include "FFStream.hpp"#include "RinexObsBase.hpp"#include "Triple.hpp"#include "RinexSatID.hpp"namespace gpstk{   /** @addtogroup RinexObs */   //@{      /**       * This class models the header for a RINEX Observation File.       * @sa gpstk::RinexObsData and gpstk::RinexObsStream.       * @sa rinex_obs_test.cpp and rinex_obs_read_write.cpp for examples.       */   class RinexObsHeader : public RinexObsBase   {   public:         /// A Simple Constructor.      RinexObsHeader() : version(2.1), valid()         {}         /// Clear (empty out) header      inline void clear()      {         version = 2.11;         valid = 0;         commentList.clear();         wavelengthFactor[0] = wavelengthFactor[1] = 1;         extraWaveFactList.clear();         obsTypeList.clear();         numObsForSat.clear();         numObs = 0;         lastPRN.id = -1;      }         /**          * @name RinexObsHeaderFormatStrings          * RINEX Observation Header Formatting Strings          */         //@{      static const std::string versionString;         ///< "RINEX VERSION / TYPE"      static const std::string runByString;           ///< "PGM / RUN BY / DATE"      static const std::string commentString;         ///< "COMMENT"      static const std::string markerNameString;      ///< "MARKER NAME"      static const std::string markerNumberString;    ///< "MARKER NUMBER"      static const std::string observerString;        ///< "OBSERVER / AGENCY"      static const std::string receiverString;        ///< "REC # / TYPE / VERS"      static const std::string antennaTypeString;     ///< "ANT # / TYPE"      static const std::string antennaPositionString; ///< "APPROX POSITION XYZ"      static const std::string antennaOffsetString;   ///< "ANTENNA: DELTA H/E/N"      static const std::string waveFactString;        ///< "WAVELENGTH FACT L1/2"      static const std::string numObsString;          ///< "# / TYPES OF OBSERV"      static const std::string intervalString;        ///< "INTERVAL"      static const std::string firstTimeString;       ///< "TIME OF FIRST OBS"      static const std::string lastTimeString;        ///< "TIME OF LAST OBS"      static const std::string receiverOffsetString;  ///< "RCV CLOCK OFFS APPL"      static const std::string leapSecondsString;     ///< "LEAP SECONDS"      static const std::string numSatsString;         ///< "# OF SATELLITES"      static const std::string prnObsString;          ///< "PRN / # OF OBS"      static const std::string endOfHeader;           ///< "END OF HEADER"         //@}         /// Validity bits for the RINEX Observation Header      enum validBits      {         versionValid = 0x01,           ///< "RINEX VERSION / TYPE"         runByValid = 0x02,             ///< "PGM / RUN BY / DATE"         commentValid = 0x04,           ///< "COMMENT"         markerNameValid = 0x08,        ///< "MARKER NAME"         markerNumberValid = 0x010,     ///< "MARKER NUMBER"         observerValid = 0x020,         ///< "OBSERVER / AGENCY"         receiverValid = 0x040,         ///< "REC # / TYPE / VERS"         antennaTypeValid = 0x080,      ///< "ANT # / TYPE"         antennaPositionValid = 0x0100, ///< "APPROX POSITION XYZ"         antennaOffsetValid = 0x0200,   ///< "ANTENNA: DELTA H/E/N"         waveFactValid = 0x0400,        ///< "WAVELENGTH FACT L1/2"         obsTypeValid = 0x0800,         ///< "# / TYPES OF OBSERV"         intervalValid = 0x01000,       ///< "INTERVAL"         firstTimeValid = 0x02000,      ///< "TIME OF FIRST OBS"         lastTimeValid = 0x04000,       ///< "TIME OF LAST OBS"         receiverOffsetValid = 0x08000, ///< "RCV CLOCK OFFS APPL"         leapSecondsValid = 0x0100000,  ///< "LEAP SECONDS"         numSatsValid = 0x0200000,      ///< "# OF SATELLITES"         prnObsValid = 0x0400000,       ///< "PRN / # OF OBS"         endValid = 0x080000000,        ///< "END OF HEADER"            /// This mask is for all required valid fields for RINEX 2.0         allValid20 = 0x080002FEB,            /// This mask is for all required valid fields for RINEX 2.1         allValid21 = 0x080002FEB,            /// This mask is for all required valid fields for RINEX 2.11         allValid211 = 0x080002FEB      };         /// RINEX Observation Types      struct RinexObsType      {         std::string type;          ///< 2- char type e.g. L1, P2         std::string description;   ///< 20- char description (optional) e.g. "L1 pseudorange"         std::string units;         ///< 10- char units (optional) e.g. "meters"         unsigned int depend;         RinexObsType() : type(std::string("UN")),description(std::string("Unknown or Invalid")),            units(std::string("")),depend(0) {}         RinexObsType(std::string t, std::string d, std::string u, unsigned int dep=0) :            type(t),description(d),units(u),depend(dep) {}         static const unsigned int C1depend;         static const unsigned int L1depend;         static const unsigned int L2depend;         static const unsigned int P1depend;         static const unsigned int P2depend;         static const unsigned int EPdepend;         static const unsigned int PSdepend;      };         /** @name Standard RINEX observation types          */         //@{      static const RinexObsType UN;      static const RinexObsType L1;      static const RinexObsType L2;      static const RinexObsType C1;      static const RinexObsType C2;      static const RinexObsType P1;      static const RinexObsType P2;      static const RinexObsType D1;      static const RinexObsType D2;      static const RinexObsType S1;      static const RinexObsType S2;      static const RinexObsType T1;      static const RinexObsType T2;      static const RinexObsType C5;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -