Stellarium 0.15.2
Classes | Typedefs | Enumerations | Functions
Satellites Plug-in


class  gTimeSpan
class  gSatWrapper
 Wrapper allowing compatibility between gsat and Stellarium/Qt. More...
class  SatellitesDialog
 Main configuration window of the Satellites plugin. More...
class  SatellitesImportDialog
struct  CommLink
 Radio communication channel properties. More...
struct  TleData
 Data structure containing unvalidated TLE set as read from a TLE list file. More...
struct  TleSource
 TLE update source, used only internally for now. More...
class  SatellitesListFilterModel
 Custom proxy model allowing filtering by satellite group and flag. More...
class  SatellitesListModel
 A model encapsulating a satellite list. More...
class  gSatTEME
 Sat position and velocity predictions over TEME reference system. More...
class  gVector
 This class implement the needed code to make vector calculations. More...
class  Satellite
 A representation of a satellite in Earth orbit. More...
class  Satellites
 Main class of the Satellites plugin. More...


typedef QSet< QString > GroupSet
 Type for sets of satellite group IDs. More...
typedef QList< TleDataTleDataList
typedef QHash< QString, TleDataTleDataHash
typedef QList< TleSourceTleSourceList


enum  SatelliteDataRole {
  SatIdRole = Qt::UserRole, SatDescriptionRole, SatFlagsRole, SatGroupsRole,
  FirstLineRole, SecondLineRole
 Description of the data roles used in SatellitesListModel. More...
enum  SatFlag {
  SatNoFlags = 0x0, SatDisplayed = 0x1, SatNotDisplayed = 0x2, SatUser = 0x4,
  SatOrbit = 0x8, SatNew = 0x10, SatError = 0x20
 Flag type reflecting internal flags of Satellite. More...


double AcTan (double sinx, double cosx)
 Four-quadrant arctan function. More...
double Sqr (double arg)
 Returns square of a double. More...

Detailed Description

The Satellites plugin displays the positions of artifical satellites in Earth orbit based on a catalog of orbital data.

The Satellites class is the main class of the plug-in. It manages a collection of Satellite objects and takes care of loading, saving and updating the satellite catalog. It allows automatic updates from online sources and manages a list of update file URLs.

To calculate satellite positions, the plugin uses an implementation of the SGP4/SDP4 algorithms (J.L. Canales' gsat library).

Satellite Properties

Name and identifiers

Each satellite has a name. It's displayed as a label of the satellite hint and in the list of satellites. Names are not unique though, so they are used only for presentation purposes.

In the Satellite Catalog satellites are uniquely identified by their NORAD number, which is encoded in TLEs.


A satellite can belong to one or more groups such as "amateur", "geostationary" or "navigation". They have no other function but to help the user organize the satellite collection.

Group names are arbitrary strings defined in the Satellite Catalog for each satellite and are more similar to the concept of "tags" than a hierarchical grouping. A satellite may not belong to any group at all.

By convention, group names are in lowercase. The GUI translates some of the groups used in the default catalog.

Satellite Catalog

The satellite catalog is stored on the disk in JSON format, in a file named "satellites.json". A default copy is embedded in the plug-in at compile time. A working copy is kept in the user data directory.


The plug-ins' configuration data is stored in Stellarium's main configuration file.

Typedef Documentation

typedef QSet<QString> GroupSet

Type for sets of satellite group IDs.

Definition at line 62 of file Satellite.hpp.

Enumeration Type Documentation

Description of the data roles used in SatellitesListModel.

Definition at line 51 of file Satellite.hpp.

enum SatFlag

Flag type reflecting internal flags of Satellite.

Definition at line 66 of file Satellite.hpp.

Function Documentation

double AcTan ( double  sinx,
double  cosx 

Four-quadrant arctan function.

double Sqr ( double  arg)

Returns square of a double.