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: 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: 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:
latitudeThe latitude of the ground station.longitudeThe longitude of the ground station.altitudeThe altitude of the ground station.sensorsThe sensors associated with the ground station.nameThe name of the ground station.
function get_id¶
Get the ID of the payload.
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:
dateThe 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:
dateThe 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.
Returns:
std::string The name of the ground station.
function ~GroundStation¶
Default destructor for the GroundStation class.
The documentation for this class was generated from the following file astrea/trace/trace/platforms/ground/GroundStation.hpp