ethz_satdb_datasource.h
Go to the documentation of this file.
1 // SPDX-License-Identifier: BSD-3-Clause
2 // SPDX-FileCopyrightText: Czech Technical University in Prague
3 
4 #pragma once
5 
6 #include <memory>
7 #include <string>
8 #include <unordered_map>
9 #include <unordered_set>
10 #include <utility>
11 
13 #include <gnss_info_msgs/SatelliteInfo.h>
14 
15 #include <ros/time.h>
16 
17 namespace gnss_info
18 {
19 
20 struct EthzSatdbDataSourcePrivate;
21 
26 {
27 public:
28  explicit EthzSatdbDataSource(const std::unordered_map<uint32_t, gnss_info_msgs::SatelliteInfo>& satelliteInfo);
29  ~EthzSatdbDataSource() override;
30 
31  std::string getName() const override;
32  bool isPrecise() const override;
33  bool isApproximate() const override;
34 
35  std::pair<ros::Time, ros::Time> getTimeRange() const override;
36  std::unordered_set<std::string> getConstellations() const override;
37 
38  bool load(const ros::Time& time, const DataSourceLoadCb& cb) override;
39  bool load(const ros::Time& startTime, const ros::Time& endTime, const DataSourceLoadCb& cb) override;
40 
41 private:
42  std::unique_ptr<EthzSatdbDataSourcePrivate> data;
43 };
44 
45 }
gnss_info::EthzSatdbDataSource::isApproximate
bool isApproximate() const override
Return whether this datasource works with approximate orbit data.
Definition: ethz_satdb_datasource.cpp:485
gnss_info::EthzSatdbDataSource::getName
std::string getName() const override
Get human-readable name of the data source.
Definition: ethz_satdb_datasource.cpp:490
gnss_info::EthzSatdbDataSource::isPrecise
bool isPrecise() const override
Return whether this datasource works with precise orbit data.
Definition: ethz_satdb_datasource.cpp:480
gnss_info::EthzSatdbDataSource::getConstellations
std::unordered_set< std::string > getConstellations() const override
Get the constellations handled by this data source.
Definition: ethz_satdb_datasource.cpp:389
gnss_info::EthzSatdbDataSource::data
std::unique_ptr< EthzSatdbDataSourcePrivate > data
Private implementation data (PIMPL).
Definition: ethz_satdb_datasource.h:42
gnss_info::NavLibraryDataSource
Generic interface for various data sources for gnsstk::NavLibrary.
Definition: nav_library_data_source.h:20
gnss_info::EthzSatdbDataSource
GNSSTk NavLibrary data source downloading TLE data from ETHZ Satellite Database.
Definition: ethz_satdb_datasource.h:25
gnss_info::EthzSatdbDataSource::EthzSatdbDataSource
EthzSatdbDataSource(const std::unordered_map< uint32_t, gnss_info_msgs::SatelliteInfo > &satelliteInfo)
Definition: ethz_satdb_datasource.cpp:356
time
time
nav_library_data_source.h
gnss_info::EthzSatdbDataSource::~EthzSatdbDataSource
~EthzSatdbDataSource() override
gnss_info::EthzSatdbDataSource::getTimeRange
std::pair< ros::Time, ros::Time > getTimeRange() const override
Get the time range in which this datasource can provide information.
Definition: ethz_satdb_datasource.cpp:384
gnss_info
Definition: cache.h:15
gnss_info::NavLibraryDataSource::DataSourceLoadCb
std::function< bool(const std::string &file)> DataSourceLoadCb
Callback to be called when a new source file is introduced.
Definition: nav_library_data_source.h:28
ros::Time
gnss_info::EthzSatdbDataSource::load
bool load(const ros::Time &time, const DataSourceLoadCb &cb) override
Load data for the given time instant.
Definition: ethz_satdb_datasource.cpp:394


gnss_info
Author(s): Martin Pecka
autogenerated on Fri Nov 24 2023 03:50:35