Rinex3ObsData.hpp
Go to the documentation of this file.
1 //==============================================================================
2 //
3 // This file is part of GNSSTk, the ARL:UT GNSS Toolkit.
4 //
5 // The GNSSTk is free software; you can redistribute it and/or modify
6 // it under the terms of the GNU Lesser General Public License as published
7 // by the Free Software Foundation; either version 3.0 of the License, or
8 // any later version.
9 //
10 // The GNSSTk is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 // GNU Lesser General Public License for more details.
14 //
15 // You should have received a copy of the GNU Lesser General Public
16 // License along with GNSSTk; if not, write to the Free Software Foundation,
17 // Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
18 //
19 // This software was developed by Applied Research Laboratories at the
20 // University of Texas at Austin.
21 // Copyright 2004-2022, The Board of Regents of The University of Texas System
22 //
23 //==============================================================================
24 
25 //==============================================================================
26 //
27 // This software was developed by Applied Research Laboratories at the
28 // University of Texas at Austin, under contract to an agency or agencies
29 // within the U.S. Department of Defense. The U.S. Government retains all
30 // rights to use, duplicate, distribute, disclose, or release this software.
31 //
32 // Pursuant to DoD Directive 523024
33 //
34 // DISTRIBUTION STATEMENT A: This software has been approved for public
35 // release, distribution is unlimited.
36 //
37 //==============================================================================
38 
44 #ifndef RINEX3OBSDATA_HPP
45 #define RINEX3OBSDATA_HPP
46 
47 #include <vector>
48 #include <list>
49 #include <map>
50 
51 #include "CommonTime.hpp"
52 #include "FFStream.hpp"
53 #include "Rinex3ObsBase.hpp"
54 #include "Rinex3ObsHeader.hpp"
55 #include "RinexDatum.hpp"
56 #include "XmitAnt.hpp"
57 
58 namespace gnsstk
59 {
60 
62 
63 
76  {
77  public:
78 
80  Rinex3ObsData();
81 
83  virtual ~Rinex3ObsData() {}
84 
85 
88  typedef std::map<RinexSatID, std::vector<RinexDatum> > DataMap;
89 
92 
93 
104  short epochFlag;
105 
106 
109  short numSVs;
110 
111 
112  double clockOffset;
113 
115 
117 
119 
128  virtual RinexDatum getObs( const RinexSatID& svID, size_t index ) const;
129 
130 
138  virtual RinexDatum getObs( const RinexSatID& svID,
139  const std::string& obsID,
140  const Rinex3ObsHeader& hdr ) const;
141 
149  virtual RinexDatum getObs( const RinexSatID& svID,
150  const RinexObsID& obsID,
151  const Rinex3ObsHeader& hdr ) const;
152 
161  virtual void setObs( const RinexDatum& data,
162  const RinexSatID& svID,
163  const RinexObsID& obsID,
164  const Rinex3ObsHeader& hdr );
165 
169  virtual void dump(std::ostream& s) const;
170 
171 
173  void dump(std::ostream& s, Rinex3ObsHeader& head) const;
174 
178  std::string timeString() const;
179 
180  protected:
181 
182 
194  virtual void reallyPutRecord(FFStream& s) const;
195 
196 
211  virtual void reallyGetRecord(FFStream& s);
212 
213 
214  private:
215 
216 
221  std::string writeTime(const CommonTime& dt) const;
222 
223 
232  CommonTime parseTime( const std::string& line,
233  const Rinex3ObsHeader& hdr,
234  const TimeSystem& ts) const;
235 
236 
237  }; // End of class 'Rinex3ObsData'
238 
240 
241 } // End of namespace gnsstk
242 
243 #endif // GNSSTK_RINEX3OBSDATA_HPP
gnsstk::Rinex3ObsData::~Rinex3ObsData
virtual ~Rinex3ObsData()
Destructor.
Definition: Rinex3ObsData.hpp:83
gnsstk::Rinex3ObsData::reallyPutRecord
virtual void reallyPutRecord(FFStream &s) const
Definition: Rinex3ObsData.cpp:309
gnsstk::Rinex3ObsData::dump
virtual void dump(std::ostream &s) const
Definition: Rinex3ObsData.cpp:828
gnsstk::Rinex3ObsData::DataMap
std::map< RinexSatID, std::vector< RinexDatum > > DataMap
Definition: Rinex3ObsData.hpp:88
gnsstk::RinexDatum
Storage for single RINEX OBS data measurements.
Definition: RinexDatum.hpp:55
gnsstk::FFStream
Definition: FFStream.hpp:119
XmitAnt.hpp
gnsstk::Rinex3ObsData::timeString
std::string timeString() const
Definition: Rinex3ObsData.cpp:823
gnsstk::Rinex3ObsHeader
Definition: Rinex3ObsHeader.hpp:155
gnsstk::Rinex3ObsData::obs
DataMap obs
the map of observations
Definition: Rinex3ObsData.hpp:114
gnsstk::Rinex3ObsData::numSVs
short numSVs
Definition: Rinex3ObsData.hpp:109
gnsstk::Rinex3ObsData::getObs
virtual RinexDatum getObs(const RinexSatID &svID, size_t index) const
Definition: Rinex3ObsData.cpp:224
gnsstk
For Sinex::InputHistory.
Definition: BasicFramework.cpp:50
RinexDatum.hpp
gnsstk::Rinex3ObsData::epochFlag
short epochFlag
Definition: Rinex3ObsData.hpp:104
gnsstk::Rinex3ObsData::setObs
virtual void setObs(const RinexDatum &data, const RinexSatID &svID, const RinexObsID &obsID, const Rinex3ObsHeader &hdr)
Definition: Rinex3ObsData.cpp:266
gnsstk::Rinex3ObsData::time
CommonTime time
Time corresponding to the observations.
Definition: Rinex3ObsData.hpp:91
gnsstk::Rinex3ObsData::reallyGetRecord
virtual void reallyGetRecord(FFStream &s)
Definition: Rinex3ObsData.cpp:604
gnsstk::CommonTime
Definition: CommonTime.hpp:84
gnsstk::Rinex3ObsData
Definition: Rinex3ObsData.hpp:75
Rinex3ObsHeader.hpp
gnsstk::TimeSystem
TimeSystem
Definition of various time systems.
Definition: TimeSystem.hpp:51
gnsstk::Rinex3ObsData::xmitAnt
XmitAnt xmitAnt
Non-standard, transmitter ID.
Definition: Rinex3ObsData.hpp:118
gnsstk::RinexObsID
Definition: RinexObsID.hpp:102
gnsstk::XmitAnt
XmitAnt
Definition: XmitAnt.hpp:53
gnsstk::Rinex3ObsData::parseTime
CommonTime parseTime(const std::string &line, const Rinex3ObsHeader &hdr, const TimeSystem &ts) const
Definition: Rinex3ObsData.cpp:742
example3.data
data
Definition: example3.py:22
gnsstk::Rinex3ObsData::clockOffset
double clockOffset
optional clock offset in seconds
Definition: Rinex3ObsData.hpp:112
gnsstk::RinexSatID
Definition: RinexSatID.hpp:63
CommonTime.hpp
Rinex3ObsBase.hpp
gnsstk::Rinex3ObsBase
Definition: Rinex3ObsBase.hpp:59
FFStream.hpp
gnsstk::Rinex3ObsData::Rinex3ObsData
Rinex3ObsData()
Constructor.
Definition: Rinex3ObsData.cpp:215
gnsstk::Rinex3ObsData::writeTime
std::string writeTime(const CommonTime &dt) const
Definition: Rinex3ObsData.cpp:800
gnsstk::Rinex3ObsData::auxHeader
Rinex3ObsHeader auxHeader
auxiliary header records (epochFlag 2-5)
Definition: Rinex3ObsData.hpp:116


gnsstk
Author(s):
autogenerated on Wed Oct 25 2023 02:40:41