SatDataReader.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 GNSSTK_SATDATAREADER_HPP
45 #define GNSSTK_SATDATAREADER_HPP
46 
47 #include <string>
48 #include <map>
49 #include "FFTextStream.hpp"
50 #include "StringUtils.hpp"
51 #include "CommonTime.hpp"
52 #include "SatID.hpp"
53 
54 
55 namespace gnsstk
56 {
58 
59 
95  class SatDataReader : public FFTextStream
96  {
97  public:
98 
101 
108  SatDataReader(const char* fn) : FFTextStream(fn, std::ios::in)
109  { loadData(); }
110 
111 
118  SatDataReader(const std::string& fn) : FFTextStream(fn.c_str(), std::ios::in)
119  { loadData(); }
120 #pragma clang diagnostic push
121 #pragma clang diagnostic ignored "-Woverloaded-virtual"
122 
124  virtual void open(const char* fn);
125 
126 
128  virtual void open(const std::string& fn);
129 #pragma clang diagnostic pop
130 
133  { SatelliteData.clear(); return (*this); };
134 
135 
145  virtual std::string getBlock(const SatID& sat,
146  const CommonTime& epoch) const;
147 
148 
158  virtual int getGPSNumber(const SatID& sat,
159  const CommonTime& epoch) const;
160 
161 
172  virtual CommonTime getLaunchDate(const SatID& sat,
173  const CommonTime& epoch) const;
174 
175 
186  virtual CommonTime getDeactivationDate(const SatID& sat,
187  const CommonTime& epoch) const;
188 
189 
191  virtual ~SatDataReader() {}
192 
193 
194  private:
195 
196 
198  struct svData
199  {
200  // Default constructor initializing the data in the structure
203  gpsNumber(0),
204  block("") {}
205 
208  int gpsNumber;
209  std::string block;
210  };
211 
212 
214  typedef std::multimap<SatID, svData>::const_iterator satDataIt;
215 
216 
218  std::multimap<SatID, svData> SatelliteData;
219 
220 
225  void setData(const SatID& sat,
226  const svData& data)
227  { SatelliteData.insert(std::pair<const SatID, svData>(sat, data)); }
228 
229 
234  virtual void loadData(void);
235 
236 
237  }; // End of class 'SatDataReader'
238 
239 
241 
242 } // End of namespace gnsstk
243 
244 #endif // GNSSTK_SATDATAREADER_HPP
gnsstk::SatDataReader::svData::gpsNumber
int gpsNumber
GPS number.
Definition: SatDataReader.hpp:208
gnsstk::SatDataReader::clearData
virtual SatDataReader & clearData()
Method to clear all previously loaded satellite data.
Definition: SatDataReader.hpp:132
gnsstk::SatDataReader::SatDataReader
SatDataReader(const std::string &fn)
Definition: SatDataReader.hpp:118
gnsstk::SatDataReader::getBlock
virtual std::string getBlock(const SatID &sat, const CommonTime &epoch) const
Definition: SatDataReader.cpp:223
gnsstk::BEGINNING_OF_TIME
const Epoch BEGINNING_OF_TIME(CommonTime::BEGINNING_OF_TIME)
Earliest representable Epoch.
StringUtils.hpp
gnsstk::SatDataReader::svData::svData
svData()
Definition: SatDataReader.hpp:201
gnsstk::SatDataReader::svData::launchDate
CommonTime launchDate
SV launch date.
Definition: SatDataReader.hpp:206
gnsstk::SatDataReader::SatDataReader
SatDataReader(const char *fn)
Definition: SatDataReader.hpp:108
gnsstk::SatID
Definition: SatID.hpp:89
SatID.hpp
gnsstk
For Sinex::InputHistory.
Definition: BasicFramework.cpp:50
gnsstk::SatDataReader::open
virtual void open(const char *fn)
Method to open AND load satellite data file.
Definition: SatDataReader.cpp:178
gnsstk::SatDataReader::~SatDataReader
virtual ~SatDataReader()
Destructor.
Definition: SatDataReader.hpp:191
gnsstk::SatDataReader::svData::block
std::string block
Block the SV belongs to.
Definition: SatDataReader.hpp:209
gnsstk::SatDataReader::getGPSNumber
virtual int getGPSNumber(const SatID &sat, const CommonTime &epoch) const
Definition: SatDataReader.cpp:273
gnsstk::CommonTime
Definition: CommonTime.hpp:84
example5.epoch
epoch
Definition: example5.py:24
FFTextStream.hpp
gnsstk::END_OF_TIME
const Epoch END_OF_TIME(CommonTime::END_OF_TIME)
Latest Representable Epoch.
gnsstk::SatDataReader::satDataIt
std::multimap< SatID, svData >::const_iterator satDataIt
Handy iterator type.
Definition: SatDataReader.hpp:214
gnsstk::SatDataReader::SatelliteData
std::multimap< SatID, svData > SatelliteData
Map holding the information regarding every satellite.
Definition: SatDataReader.hpp:218
example3.data
data
Definition: example3.py:22
gnsstk::SatDataReader::loadData
virtual void loadData(void)
Definition: SatDataReader.cpp:53
gnsstk::SatDataReader::svData::deactivationDate
CommonTime deactivationDate
SV deactivation date.
Definition: SatDataReader.hpp:207
CommonTime.hpp
std
Definition: Angle.hpp:142
gnsstk::SatDataReader::getLaunchDate
virtual CommonTime getLaunchDate(const SatID &sat, const CommonTime &epoch) const
Definition: SatDataReader.cpp:323
gnsstk::SatDataReader::SatDataReader
SatDataReader()
Default constructor.
Definition: SatDataReader.hpp:100
gnsstk::SatDataReader::svData
A structure used to store satellite data.
Definition: SatDataReader.hpp:198
example5.fn
string fn
Definition: example5.py:10
gnsstk::SatDataReader
Definition: SatDataReader.hpp:95
gnsstk::FFTextStream
Definition: FFTextStream.hpp:63
gnsstk::SatDataReader::getDeactivationDate
virtual CommonTime getDeactivationDate(const SatID &sat, const CommonTime &epoch) const
Definition: SatDataReader.cpp:373
gnsstk::SatDataReader::setData
void setData(const SatID &sat, const svData &data)
Definition: SatDataReader.hpp:225


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