Public Member Functions | List of all members
gnss_info::OrbitalDataProvider Class Referenceabstract

Generic interface for various providers of GNSS satellite orbital data. More...

#include <orbital_data_provider.h>

Inheritance diagram for gnss_info::OrbitalDataProvider:
Inheritance graph
[legend]

Public Member Functions

virtual std::unordered_set< std::string > getConstellations () const =0
 Get the constellations handled by this provider. More...
 
virtual 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)=0
 Compute ECEF positions of the satellites at the given time. More...
 
virtual std::string getName () const =0
 Get human-readable name of the provider. More...
 
virtual 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)=0
 Compute sky view (azimuths, elevations and distances) of satellites from the given receiver position. More...
 
virtual std::pair< ros::Time, ros::TimegetTimeRange () const =0
 Get the time range in which this provider can provide information. More...
 
virtual bool isApproximate () const =0
 Return whether this provider works with approximate orbit data. More...
 
virtual bool isPrecise () const =0
 Return whether this provider works with precise orbit data. More...
 
virtual bool load (const ros::Time &startTime, const ros::Time &endTime, const cras::optional< bool > &precise)=0
 Load data for the given time instant. More...
 
virtual bool load (const ros::Time &time, const cras::optional< bool > &precise)=0
 Load data for the given time instant. More...
 
 OrbitalDataProvider ()=default
 Constructing the provider should be a cheap and fast operation, ideally without internet access. More...
 
virtual ~OrbitalDataProvider ()=default
 

Detailed Description

Generic interface for various providers of GNSS satellite orbital data.

Definition at line 25 of file orbital_data_provider.h.

Constructor & Destructor Documentation

◆ OrbitalDataProvider()

gnss_info::OrbitalDataProvider::OrbitalDataProvider ( )
default

Constructing the provider should be a cheap and fast operation, ideally without internet access.

◆ ~OrbitalDataProvider()

virtual gnss_info::OrbitalDataProvider::~OrbitalDataProvider ( )
virtualdefault

Member Function Documentation

◆ getConstellations()

virtual std::unordered_set<std::string> gnss_info::OrbitalDataProvider::getConstellations ( ) const
pure virtual

Get the constellations handled by this provider.

Returns
The constellations.

Implemented in gnss_info::NavLibraryOrbitalDataProvider.

◆ getECEFPositions()

virtual cras::expected<std::unordered_map<uint32_t, gnss_info_msgs::SatellitePosition>, std::string> gnss_info::OrbitalDataProvider::getECEFPositions ( const ros::Time time,
const std::unordered_map< uint32_t, gnss_info_msgs::SatelliteInfo > &  satellites 
)
pure virtual

Compute ECEF positions of the satellites at the given time.

Parameters
[in]timeThe time to get positions for.
[in]satellitesThe satellites to get positions for.
Returns
ECEF positions of the satellites, or an error string.

Implemented in gnss_info::NavLibraryOrbitalDataProvider.

◆ getName()

virtual std::string gnss_info::OrbitalDataProvider::getName ( ) const
pure virtual

Get human-readable name of the provider.

Returns
The name.

Implemented in gnss_info::NavLibraryOrbitalDataProvider.

◆ getSkyView()

virtual cras::expected<std::unordered_map<uint32_t, gnss_info_msgs::SatelliteSkyPosition>, std::string> gnss_info::OrbitalDataProvider::getSkyView ( const geographic_msgs::GeoPoint &  position,
const std::unordered_map< uint32_t, gnss_info_msgs::SatellitePosition > &  positions,
double  elevationMaskDeg 
)
pure virtual

Compute sky view (azimuths, elevations and distances) of satellites from the given receiver position.

Parameters
[in]positionGeographic position of the receiver.
[in]positionsECEF positions of the satellites.
[in]elevationMaskDegMinimum elevation of satellites to return (in degrees).
Returns
Sky view corresponding to the given configuration, or an error string.

Implemented in gnss_info::NavLibraryOrbitalDataProvider.

◆ getTimeRange()

virtual std::pair<ros::Time, ros::Time> gnss_info::OrbitalDataProvider::getTimeRange ( ) const
pure virtual

Get the time range in which this provider can provide information.

Returns
The time range (first, latest).

Implemented in gnss_info::NavLibraryOrbitalDataProvider.

◆ isApproximate()

virtual bool gnss_info::OrbitalDataProvider::isApproximate ( ) const
pure virtual

Return whether this provider works with approximate orbit data.

Returns
Whether this provider works with approximate orbit data.

Implemented in gnss_info::NavLibraryOrbitalDataProvider.

◆ isPrecise()

virtual bool gnss_info::OrbitalDataProvider::isPrecise ( ) const
pure virtual

Return whether this provider works with precise orbit data.

Returns
Whether this provider works with precise orbit data.

Implemented in gnss_info::NavLibraryOrbitalDataProvider.

◆ load() [1/2]

virtual bool gnss_info::OrbitalDataProvider::load ( const ros::Time startTime,
const ros::Time endTime,
const cras::optional< bool > &  precise 
)
pure virtual

Load data for the given time instant.

Parameters
[in]startTimeEarliest time to load.
[in]endTimeLatest time to load.
[in]preciseIf set, selects whether precise or approximate data should be loaded.
Returns
Whether loading succeeded.

Implemented in gnss_info::NavLibraryOrbitalDataProvider.

◆ load() [2/2]

virtual bool gnss_info::OrbitalDataProvider::load ( const ros::Time time,
const cras::optional< bool > &  precise 
)
pure virtual

Load data for the given time instant.

Parameters
[in]timeThe time to load at.
[in]preciseIf set, selects whether precise or approximate data should be loaded.
Returns
Whether loading succeeded.

Implemented in gnss_info::NavLibraryOrbitalDataProvider.


The documentation for this class was generated from the following file:


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