Skip to content

Class astrea::trace::GroundPoint

ClassList > astrea > trace > GroundPoint

Represents a point on the ground with latitude, longitude, and altitude. More...

  • #include <GroundPoint.hpp>

Inherits the following classes: astrea::trace::AccessObject, astro::FrameReference

Inherited by the following classes: astrea::trace::GroundStation

Public Functions

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

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

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.

Detailed Description

This class is used to define a ground point in terms of its geographic coordinates and altitude above sea level. It can be extended to include additional properties or methods as needed for specific applications.

Public Functions Documentation

function GroundPoint

Constructs a GroundPoint with specified latitude, longitude, and altitude.

astrea::trace::GroundPoint::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::si::unit_symbols::km
) 

Parameters:

  • latitutde The latitude of the ground point (default is 0 degrees).
  • longitude The longitude of the ground point (default is 0 degrees).
  • altitude The altitude of the ground point above sea level (default is 0 kilometers).

function get_altitude

Gets the altitude of the ground point above sea level.

const Distance & astrea::trace::GroundPoint::get_altitude () const

Returns:

Distance The altitude of the ground point.


function get_id

Get the unique identifier for the ground station.

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

Returns:

std::size_t The unique identifier for the ground station.

Implements astrea::trace::AccessObject::get_id


function get_inertial_position

Get the position of the frame in Earth-Centered Inertial coordinates.

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

Parameters:

  • date The date for which to get the position.

Returns:

CartesianVector<Distance, frames::earth::icrf>


function get_inertial_velocity

Get the velocity of the frame in Earth-Centered Inertial coordinates.

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

Parameters:

  • date The date for which to get the velocity.

Returns:

CartesianVector<Velocity, frames::earth::icrf>


function get_latitude

Gets the latitude of the ground point.

const Angle & astrea::trace::GroundPoint::get_latitude () const

Returns:

Angle The latitude of the ground point.


function get_lla

Gets the geodetic coordinates of the ground point.

const astro::Geodetic & astrea::trace::GroundPoint::get_lla () const

Returns:

const Geodetic& The geodetic coordinates (latitude, longitude, altitude) of the ground point.


function get_longitude

Gets the longitude of the ground point.

const Angle & astrea::trace::GroundPoint::get_longitude () const

Returns:

Angle The longitude of the ground point.


function get_name

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

function get_parent

Gets the parent celestial body of the ground point.

const astro::CelestialBody * astrea::trace::GroundPoint::get_parent () const

Returns:

const CelestialBody* Pointer to the parent celestial body.


function get_position

Get the position of the frame in Earth-Centered-Earth-Fixed (ECEF) coordinates.

astro::CartesianVector< Distance, astro::frames::earth::earth_fixed > astrea::trace::GroundPoint::get_position () const

Parameters:

  • date The date for which to get the position.

Returns:

CartesianVector<Distance, frames::earth::earth_fixed>


function operator==

Equality operator for comparing two GroundPoint objects.

bool astrea::trace::GroundPoint::operator== (
    const GroundPoint & other
) const

Parameters:

Returns:

true if the two GroundPoint objects are equal, false otherwise.


function ~GroundPoint

Destructor for the GroundPoint class.

virtual astrea::trace::GroundPoint::~GroundPoint () = default


Protected Attributes Documentation

variable _id

Unique identifier for the ground station, generated from its properties.

std::size_t astrea::trace::GroundPoint::_id;


variable _lla

Geodetic coordinates of the ground point.

astro::Geodetic astrea::trace::GroundPoint::_lla;


variable _parent

Pointer to the parent celestial body.

const astro::CelestialBody* astrea::trace::GroundPoint::_parent;


Protected Functions Documentation

function 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.

std::size_t astrea::trace::GroundPoint::generate_id () 



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