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 or GroundStation model and adds additional metadata and subsystem models.
-
field asset_id:
Annotated
[UUID
] [Optional] (alias 'id')¶ Asset UUID4
- Constraints:
uuid_version = 4
-
field comms:
list
[CommunicationSystem
] = []¶ List of communication systems
-
field constellation_id:
Optional
[Annotated
[UUID
]] = None (alias 'constellationId')¶ ID of the constellation this asset belongs to (if any)
-
field model:
Spacecraft
|GroundStation
[Required]¶ Underlying model of the asset
-
field name:
str
= 'Asset'¶ The name of the asset
-
field pointing_error:
float
= 0.1 (alias 'pointingError')¶ Pointing error in degrees when tracking
- Constraints:
ge = 0.0
-
field tracked_constellation_ids:
list
[Annotated
[UUID
]] = [] (alias 'trackedConstellationIds')¶ List of constellation IDs that this asset shall track
-
field tracked_object_ids:
list
[Annotated
[UUID
]] = [] (alias 'trackedObjectIds')¶ List of asset IDs that this asset’s antennas shall track
- comms_by_channel_id(channel_id)¶
Return the comms system associated to a given channel.
- Return type:
CommunicationSystem
|None
- is_tracking(asset_id)¶
Check if this asset is tracking the given asset ID directly.
- Return type:
bool
- track(asset_ids=None, constellation_ids=None)¶
Track one or more assets and/or constellations.
- Parameters:
asset_ids (UUID4 or list of UUID4, optional) – Asset IDs to track
constellation_ids (UUID4 or list of UUID4, optional) – Constellation IDs to track
-
field asset_id:
- pydantic model ephemerista.assets.GroundLocation¶
The
GroundLocation
model.- Fields:
-
field altitude:
float
= 0¶ Altitude in meters
-
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]
-
field polygon_ids:
list
[int
] = [] (alias 'polygonIds')¶ IDs of the polygon this point belongs to. Can be multiple in case of a grid
- classmethod from_lla(longitude, latitude, **data)¶
Construct a GroundLocation 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_batch(targets)¶
Return the modelled observables for multiple spacecraft states.
- Parameters:
targets (list[Cartesian]) – List of spacecraft states
- Returns:
List of observables for each target state
- Return type:
list[Observables]
- propagate(time)¶
Propagate the ground station state.
- rotation_to_topocentric()¶
Return the rotation matrix to the SEZ frame.
- Return type:
ndarray
- pydantic model ephemerista.assets.GroundStation¶
The
GroundStation
model.-
field asset_type:
Literal
['groundstation'
] = 'groundstation' (alias 'type')¶ Ground station asset type
-
field asset_type:
- pydantic model ephemerista.assets.Observables¶
The
Observables
model.This class models a single observation of a spacecraft from a ground station.
- Fields:
-
field rng:
float
[Required]¶ Range in km
-
field rng_rate:
float
[Required] (alias 'rngRate')¶ Range rate in km/s
- pydantic model ephemerista.assets.Spacecraft¶
The
Spacecraft
model.-
field asset_type:
Literal
['spacecraft'
] = 'spacecraft' (alias 'type')¶ Spacecraft asset type
-
field propagator:
TypeAliasType
[Required]¶ The orbit propagator
-
field asset_type: