Assets – ephemerista.assets

The assets.py module.

This module provides models for space and ground assets.

pydantic model ephemerista.assets.Asset

The Asset model.

This class is composed of a Spacecraft, GroundStation, or GroundPoint model and adds additional metadata and subsystem models.

Fields:
field asset_id: Annotated[UUID] [Optional] (alias 'id')

Asset UUID4

Constraints:
  • uuid_version = 4

field comms: list[CommunicationSystem] = []

List of communication systems

field model: Spacecraft | GroundStation | GroundPoint [Required]

Underlying model of the asset

field name: str = 'Asset'

The name of the asset

field tracked_object_id: Optional[Annotated[UUID]] = None (alias 'trackedObjectId')

Optional UUID4 of another asset that this asset’s antenna shall track

comms_by_channel_id(channel_id)

Return the comms system associated to a given channel.

Return type:

CommunicationSystem | None

track(other_asset_id)

Track an asset with a given id.

events
pydantic model ephemerista.assets.GroundPoint

The GroundPoint model.

Fields:
field asset_type: Literal['groundpoint'] = 'groundpoint' (alias 'type')

Ground point asset type

field polygon_ids: list[int] [Required] (alias 'polygonIds')

IDs of the polygon this point belongs to. Can be multiple in case of a grid

pydantic model ephemerista.assets.GroundStation

The GroundStation model.

Fields:
field altitude: float = 0

Altitude in meters

field asset_type: Literal['groundstation'] = 'groundstation' (alias 'type')

Ground station asset type

field body: Origin = Origin(name='Earth')

Central body of the ground station

field latitude: Latitude [Required]

Latitude

field longitude: Longitude [Required]

Longitude

field minimum_elevation: Angle | tuple[list[Angle], list[Angle]] = Angle(degrees=0.0) (alias 'minimumElevation')

Minimum elevation in radians or an elevation mask in SEZ frame with azimuth in the range [-pi,pi]

classmethod from_lla(longitude, latitude, **data)

Construct a GroundStation from geodetic coordinates.

Return type:

Self

get_minimum_elevation(azimuth)

Return the minimum elevation for a given azimuth.

Return type:

float

observables(target)

Return the modelled observables for a given spacecraft state.

Return type:

Observables

propagate(time)

Propagate the ground station state.

Parameters:

time (Time | list[Time]) – Either a single Time or a list of `Time`s.

Returns:

Either a single Cartesian state for a discrete input or a Trajectory for a list.

Return type:

Cartesian | Trajectory

rotation_to_topocentric()

Return the rotation matrix to the SEZ frame.

Return type:

ndarray

events
pydantic model ephemerista.assets.Observables

The Observables model.

This class models a single observation of a spacecraft from a ground station.

Fields:
field azimuth: Angle [Required]

Azimuth angle in degrees

field elevation: Angle [Required]

Elevation angle in degrees

field rng: float [Required]

Range in km

field rng_rate: float [Required] (alias 'rngRate')

Range rate in km/s

events
pydantic model ephemerista.assets.Spacecraft

The Spacecraft model.

Fields:
field asset_type: Literal['spacecraft'] = 'spacecraft' (alias 'type')

Spacecraft asset type

field propagator: TypeAliasType [Required]

The orbit propagator

propagate(time)

Propagate the spacecraft state.

Parameters:

time (Time | list[Time]) – Either a single Time or a list of `Time`s.

Returns:

Either a single Cartesian state for a discrete input or a Trajectory for a list.

Return type:

Cartesian | Trajectory

events