Information about GNSS satellites and their constellations.
libsatellite_metadata.so / igs_satellite_metadata.h
: General information about satellites downloaded from IGS.liborbital_data.so / orbital_data_manager.h
: Library that manages downloads of almanac/ephemeris data to support computing satellite orbits. It can also generate a sky view from given place and time.
An example node using IGSSatelliteMetadata
to construct a list of all GNSS satellites that existed in a given
time instant.
satellites
(gnss_info_msgs/SatellitesList
, latched): The list of satellites.
~time
(float, defaults to ros::Time::now() ): The reference time for which satellites should be looked up.~only_active
(bool, default true): Return only satellites active at the reference time.~only_constellations
(list of string): If nonempty, limits the published satellites to only those belonging to the listed constellations.~only_signals
(list of string): If nonempty, limits the published satellites to only those transmitting at least one of the listed signals.
An example node using OrbitalDataManager
with EthzSatdbProvider
to get approximate locations of satellites.
satellites_positions
(gnss_info_msgs/SatellitesPositions
, latched): ECEF positions of all satellites fromsatellites
topic for which orbital data are available.sky_view
(gnss_info_msgs/SkyView
, latched): Sky view of all satellites fromsatellites
topic which are visible from the last position received onposition
topic.
satellites
(gnss_info_msgs/SatellitesList
): The list of satellites.position
(geographic_msgs/GeoPoint
): Reference position for the sky view.
~elevation_mask_deg
(float, default 5.0°): Minimum elevation of satellites to be considered in the sky view.~refresh_rate
(double, default 0.1 Hz): Rate at which updates of the positions should be published and recomputed.
A node turning gnss_info_msgs/SkyView
into a plot of satellites.
sky_plot
(sensor_msgs/Image
): The sky plot.
satellites
(gnss_info_msgs/SatellitesList
): The list of satellites.sky_view
(gnss_info_msgs/SkyView
): Sky view of some satellites.
~plot_color
(str, default "white"): Background color of the plot. Anything that matplotlib reads (e.g.#ABCDEF00
).~show_legend
(bool, defaultTrue
): Whether to show legend in the plot.~show_labels
(bool, defaultTrue
): Whether to show labels of the individual satellites.~show_title
(bool, defaultTrue
): Whether to show title with plot time and reference location.~show_elevation_mask
(bool, defaultTrue
): Whether to show a greyed-out area in masked parts of the plot.~width
(int, default 840): Width of the plot in px.~height
(int, default 720): Height of the plot in px.~dpi
(float, default 120.0): DPI of the plot.~only_constellations
(str or list[str], default ""): Either a comma-separated list or a list of string defining which constellations to plot. If empty, everything is plotted.
- Get GPS outages from https://www.navcen.uscg.gov/sites/default/files/gps/sof/current_sof.sof .
- Get Galileo outages from NAGUs
- Precise orbits from http://ftp.aiub.unibe.ch/CODE_MGEX/CODE/2023/ (ORB.SP3 files)
gnsstk/core/lib/GNSSEph/EphemerisRange.hpp
gnsstk/core/lib/Geomatics/PreciseRange.cpp