Go to the documentation of this file.
8 #include <unordered_map>
9 #include <unordered_set>
21 struct NavLibraryOrbitalDataProviderPrivate;
36 virtual void addDataSource(
const std::shared_ptr<NavLibraryDataSource>& source);
38 std::string
getName()
const override;
42 std::pair<ros::Time, ros::Time>
getTimeRange()
const override;
46 bool load(
const ros::Time& startTime,
const ros::Time& endTime,
const cras::optional<bool>& precise)
override;
48 cras::expected<std::unordered_map<uint32_t, gnss_info_msgs::SatellitePosition>, std::string>
getECEFPositions(
49 const ros::Time&
time,
const std::unordered_map<uint32_t, gnss_info_msgs::SatelliteInfo>& satellites)
override;
51 cras::expected<std::unordered_map<uint32_t, gnss_info_msgs::SatelliteSkyPosition>, std::string>
getSkyView(
52 const geographic_msgs::GeoPoint& position,
53 const std::unordered_map<uint32_t, gnss_info_msgs::SatellitePosition>& positions,
54 double elevationMaskDeg)
override;
57 std::unique_ptr<NavLibraryOrbitalDataProviderPrivate>
data;
std::string getName() const override
Get human-readable name of the provider.
cras::expected< std::unordered_map< uint32_t, gnss_info_msgs::SatellitePosition >, std::string > getECEFPositions(const ros::Time &time, const std::unordered_map< uint32_t, gnss_info_msgs::SatelliteInfo > &satellites) override
Compute ECEF positions of the satellites at the given time.
bool load(const ros::Time &time, const cras::optional< bool > &precise) override
Load data for the given time instant.
GNSS satellite orbits provider based on gnsstk::NavLibrary with multi-format data source.
~NavLibraryOrbitalDataProvider() override
virtual void addDataSource(const std::shared_ptr< NavLibraryDataSource > &source)
Add data source.
cras::expected< std::unordered_map< uint32_t, gnss_info_msgs::SatelliteSkyPosition >, std::string > getSkyView(const geographic_msgs::GeoPoint &position, const std::unordered_map< uint32_t, gnss_info_msgs::SatellitePosition > &positions, double elevationMaskDeg) override
Compute sky view (azimuths, elevations and distances) of satellites from the given receiver position.
std::unordered_set< std::string > getConstellations() const override
Get the constellations handled by this provider.
std::pair< ros::Time, ros::Time > getTimeRange() const override
Get the time range in which this provider can provide information.
Generic interface for various providers of GNSS satellite orbital data.
bool isApproximate() const override
Return whether this provider works with approximate orbit data.
std::unique_ptr< NavLibraryOrbitalDataProviderPrivate > data
Private implementation data (PIMPL).
NavLibraryOrbitalDataProvider()
bool isPrecise() const override
Return whether this provider works with precise orbit data.
gnss_info
Author(s): Martin Pecka
autogenerated on Fri Nov 24 2023 03:50:35