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

📄 sp3data.hpp

📁 一个gps小工具包
💻 HPP
字号:
#pragma ident "$Id: SP3Data.hpp 1073 2008-01-24 20:16:04Z pben $"/** * @file SP3Data.hpp * Encapsulate SP3 file data, including I/O */#ifndef GPSTK_SP3DATA_HPP#define GPSTK_SP3DATA_HPP//============================================================================////  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.////=============================================================================#include "SatID.hpp"#include "SP3Base.hpp"namespace gpstk{   /** @addtogroup SP3ephem */   //@{      /**       * This class models Satellite Position in Three Dimensions.       * When using this class it's version member needs to be set correctly.       * This is best done using the header. For example:        *       * @code       * SP3Stream ss("igr14080.sp3");       * SP3Header sh;       * SP3Data sd;       *       * ss >> sh;       * sd.version = sh.version;       *       * while (ss >> sd)       * {       *    // Interesting stuff...       * }           * @endcode       *       * @sa gpstk::SP3Header and gpstk::SP3Stream for more information.       * @sa petest.cpp for an example.       */   class SP3Data : public SP3Base   {   public:         /// Constructor.      SP3Data() : version('a'),flag('\000'), time(gpstk::DayTime::BEGINNING_OF_TIME),                  clockEventFlag(false),clockPredFlag(false),orbitManeuverFlag(false),                  orbitPredFlag(false),correlationFlag(false)         {}              /// Destructor      virtual ~SP3Data() {}              // The next four lines is our common interface         /// SP3Data is "data" so this function always returns true.      virtual bool isData() const {return true;}         /// Debug output function.      virtual void dump(std::ostream& s) const;         ///@name data members         //@{      char version; ///< Version of SP3, 'a' or 'c' ONLY      char flag;    ///< Data type indicator. P for position or V for velocity ONLY      SatID sat;    ///< Satellite ID      DayTime time; ///< Time of epoch for this record      double x[3];  ///< The three-vector for position | velocity (m | dm/s).      double clk;   ///< The clock bias or drift for P|V (microsec|1).      int sig[4];   ///< (c) Four-vector of integer exponents for estimated sigma of                    ///< position,clock | velocity,clock rate; sigma = base**n                    ///< (mm,psec | 10^-4 mm/sec,psec/sec); base in header      bool clockEventFlag; ///< clock event flag, 'E' in file, version c only      bool clockPredFlag;  ///< clock prediction flag, 'P' in file, version c only      bool orbitManeuverFlag; ///< orbit maneuver flag, 'M' in file, version c only      bool orbitPredFlag;  ///< orbit prediction flag, 'P' in file, version c only      /// data for optional P|V Correlation record, version c only      bool correlationFlag; ///< If true, on input: a correlation record was read;                            ///< on output: stream should output correlation.      unsigned sdev[4];  ///< std dev of 3 positions (XYZ,mm) and clock (psec)                         ///< or velocities(10^-4 mm/sec) and clock rate (10^-4 ps/s)      int correlation[6];///< elements of correlation matrix: xy,xz,xc,yz,yc,zc         //@}         protected:         /// Writes the formatted record to the FFStream \a s.         /// @warning This function is currently unimplemented      virtual void reallyPutRecord(FFStream& s) const          throw(std::exception, FFStreamError,               gpstk::StringUtils::StringException);         /**          * This function reads a record from the given FFStream.          * If an error is encountered in retrieving the record, the           * stream is reset to its original position and its fail-bit is set.          * @throws StringException when a StringUtils function fails          * @throws FFStreamError when exceptions(failbit) is set and          *  a read or formatting error occurs.  This also resets the          *  stream to its pre-read position.          */      virtual void reallyGetRecord(FFStream& s)          throw(std::exception, FFStreamError,               gpstk::StringUtils::StringException);   };   //@}}  // namespace#endif

⌨️ 快捷键说明

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