Skip to main content

Crate spacedatalab

Crate spacedatalab 

Source
Expand description

SpaceDataLab in one dependency.

SpaceDataLab builds space-data software and gives each product its own name. This crate is the organisation’s Rust entry point, as spacedatalab on PyPI is its Python one. It re-exports spacelab, the core: time scales, Earth orientation, reference frames and SGP4. Every other spacelab crate is behind a feature named after the module it adds, so feature gnss adds the module gnss, which is the crate spacelab-gnss:

[dependencies]
spacedatalab = { version = "0.2", features = ["gnss", "estimation"] }

The features are astro, astrometry, autodiff, constellation, control, coverage, earthvision, elements, ephemeris, estimation, geomagnetism, geometry, gnss, grid, ionosphere, ndm, propagation, sensors, signal, slr and vision; full turns on all of them, and onnx adds ONNX inference to earthvision. A module compiles exactly the code its crate does: depending on spacelab-gnss directly is the same build, with one more version to keep in step.

let iss = spacedatalab::sgp4::Satellite::from_tle(
    "1 25544U 98067A   08264.51782528 -.00002182  00000-0 -11606-4 0  2927",
    "2 25544  51.6416 247.4627 0006703 130.5360 325.0288 15.72125391563537",
)?;
let state = iss.propagate_minutes(0.0)?;
let radius = state.position.vector.norm(); // metres, TEME
assert!((6.6e6..7.0e6).contains(&radius));

Re-exports§

pub use spacelab_astro as astro;
pub use spacelab_astrometry as astrometry;
pub use spacelab_autodiff as autodiff;
pub use spacelab_constellation as constellation;
pub use spacelab_control as control;
pub use spacelab_coverage as coverage;
pub use spacelab_earthvision as earthvision;
pub use spacelab_elements as elements;
pub use spacelab_ephemeris as ephemeris;
pub use spacelab_estimation as estimation;
pub use spacelab_geomagnetism as geomagnetism;
pub use spacelab_geometry as geometry;
pub use spacelab_gnss as gnss;
pub use spacelab_grid as grid;
pub use spacelab_ionosphere as ionosphere;
pub use spacelab_ndm as ndm;
pub use spacelab_propagation as propagation;
pub use spacelab_sensors as sensors;
pub use spacelab_signal as signal;
pub use spacelab_slr as slr;
pub use spacelab_vision as vision;

Modules§

core_types
Typed epochs, angles and units.
earth
The WGS-84 ellipsoid.
eop
Earth-orientation parameters, as published by the IERS.
fa
Fundamental astronomy.
frames
Reference frames, in the type system.
sgp4
SGP4 propagation, typed and shaped for many satellites at once.

Structs§

EarthOrientation
Everything the frame chain needs at one instant, drawn from measurement.

Enums§

EarthOrientationError
Why the Earth’s orientation at an instant could not be established.
EarthOrientationQuality
Where the orientation in an EarthOrientation came from.
EopSource
Where earth_orientation_at should get the Earth’s orientation.

Functions§

earth_orientation_at
Establish the Earth’s orientation at a UTC instant, from the source the caller names.
teme_to_itrf_at
The TEME-to-ITRF transform at a UTC instant, built from the Earth orientation source names.
tt_minus_tai_ns
TT − TAI, in nanoseconds. Exposed so a caller can check the chain by hand.