Skip to content

Class astrea::trace::GroundStation

ClassList > astrea > trace > GroundStation

Ground station class for managing ground-based access. This class inherits from GroundPoint ,AccessObject , and SensorPlatform. It represents a ground station with a specific latitude, longitude, altitude, and a collection of sensors. It also provides methods to manage access and sensor functionalities.

  • #include <GroundStation.hpp>

Inherits the following classes: astrea::trace::GroundPoint, SensorPlatform

Public Functions

Type Name
GroundStation (const astro::CelestialBody * parent, const Angle & latitude, const Angle & longitude, const Distance & altitude=0.0 *mp_units:🇸🇮:unit_symbols::km, const std::string name="Unnammed", const std::vector< SensorParameters > & sensors={})
Constructs a GroundStation object with specified latitude, longitude, altitude, sensors, and name.
virtual std::size_t get_id () const
Get the ID of the payload.
astro::CartesianVector< Distance, astro::frames::earth::icrf > get_inertial_position (const astro::Date & date) const
Get the inertial position of the ground station in the ECI frame.
astro::CartesianVector< Velocity, astro::frames::earth::icrf > get_inertial_velocity (const astro::Date & date) const
Get the inertial velocity of the ground station in the ECI frame.
std::string get_name () const
Get the name of the ground station.
~GroundStation () = default
Default destructor for the GroundStation class.

Public Functions inherited from astrea::trace::GroundPoint

See astrea::trace::GroundPoint

Type Name
GroundPoint (const astro::CelestialBody * parent=nullptr, const Angle & latitutde=0.0 *mp_units::angular::unit_symbols::deg, const Angle & longitude=0.0 *mp_units::angular::unit_symbols::deg, const Distance & altitude=0.0 *mp_units:🇸🇮:unit_symbols::km)
Constructs a GroundPoint with specified latitude, longitude, and altitude.
const Distance & get_altitude () const
Gets the altitude of the ground point above sea level.
virtual std::size_t get_id () const
Get the unique identifier for the ground station.
astro::CartesianVector< Distance, astro::frames::earth::icrf > get_inertial_position (const astro::Date & date) const
Get the position of the frame in Earth-Centered Inertial coordinates.
astro::CartesianVector< Velocity, astro::frames::earth::icrf > get_inertial_velocity (const astro::Date & date) const
Get the velocity of the frame in Earth-Centered Inertial coordinates.
const Angle & get_latitude () const
Gets the latitude of the ground point.
const astro::Geodetic & get_lla () const
Gets the geodetic coordinates of the ground point.
const Angle & get_longitude () const
Gets the longitude of the ground point.
std::string get_name () const
const astro::CelestialBody * get_parent () const
Gets the parent celestial body of the ground point.
astro::CartesianVector< Distance, astro::frames::earth::earth_fixed > get_position () const
Get the position of the frame in Earth-Centered-Earth-Fixed (ECEF) coordinates.
bool operator== (const GroundPoint & other) const
Equality operator for comparing two GroundPoint objects.
virtual ~GroundPoint () = default
Destructor for the GroundPoint class.

Public Functions inherited from astrea::trace::AccessObject

See astrea::trace::AccessObject

Type Name
void add_access (const std::size_t & receiverId, const RiseSetArray & access)
Adds access times for a specific receiver.
void drop_access (const std::size_t & receiverId, const RiseSetArray & access)
Drops access times for a specific receiver.
AccessArray & get_accesses ()
Gets the access times for this object.
const AccessArray & get_accesses () const
Gets the access times for this object (const version).
virtual std::size_t get_id () const = 0
Pure virtual function to get the ID of the object.

Protected Attributes inherited from astrea::trace::GroundPoint

See astrea::trace::GroundPoint

Type Name
std::size_t _id
Unique identifier for the ground station, generated from its properties.
astro::Geodetic _lla
Geodetic coordinates of the ground point.
const astro::CelestialBody * _parent
Pointer to the parent celestial body.

Protected Functions inherited from astrea::trace::GroundPoint

See astrea::trace::GroundPoint

Type Name
std::size_t generate_id ()
Generates a unique identifier for the ground station based on its properties. This method is called in the constructor to ensure that each ground station has a unique ID.

Protected Functions inherited from astrea::trace::AccessObject

See astrea::trace::AccessObject

Type Name
AccessObject () = default
Default constructor.
virtual ~AccessObject () = default
Default destructor.

Public Functions Documentation

function GroundStation

Constructs a GroundStation object with specified latitude, longitude, altitude, sensors, and name.

astrea::trace::GroundStation::GroundStation (
    const astro::CelestialBody * parent,
    const Angle & latitude,
    const Angle & longitude,
    const Distance & altitude=0.0 *mp_units::si::unit_symbols::km,
    const std::string name="Unnammed",
    const std::vector< SensorParameters > & sensors={}
) 

Parameters:

  • latitude The latitude of the ground station.
  • longitude The longitude of the ground station.
  • altitude The altitude of the ground station.
  • sensors The sensors associated with the ground station.
  • name The name of the ground station.

function get_id

Get the ID of the payload.

virtual std::size_t astrea::trace::GroundStation::get_id () const

Returns:

std::size_t ID of the payload.

Implements astrea::trace::GroundPoint::get_id


function get_inertial_position

Get the inertial position of the ground station in the ECI frame.

astro::CartesianVector< Distance, astro::frames::earth::icrf > astrea::trace::GroundStation::get_inertial_position (
    const astro::Date & date
) const

Parameters:

  • date The date for which to compute the position.

Returns:

RadiusVector<frames::earth::icrf> The inertial position of the ground station.


function get_inertial_velocity

Get the inertial velocity of the ground station in the ECI frame.

astro::CartesianVector< Velocity, astro::frames::earth::icrf > astrea::trace::GroundStation::get_inertial_velocity (
    const astro::Date & date
) const

Parameters:

  • date The date for which to compute the velocity.

Returns:

VelocityVector<frames::earth::icrf> The inertial velocity of the ground station.


function get_name

Get the name of the ground station.

std::string astrea::trace::GroundStation::get_name () const

Returns:

std::string The name of the ground station.


function ~GroundStation

Default destructor for the GroundStation class.

astrea::trace::GroundStation::~GroundStation () = default



The documentation for this class was generated from the following file astrea/trace/trace/platforms/ground/GroundStation.hpp