Expand description
Coordinate transformation pipeline.
TEME -> GCRS replicates Skyfield’s exact computation path including AU/day unit scaling for bit-exact (0 ULP) parity.
Also provides GCRS -> ITRS, ITRS -> geodetic (WGS84), and topocentric (az/el/range) transformations.
The pure compute functions live here in the core crate; the Rustler
decode/encode shims that used to wrap them stay in orbis_nif as glue, so
no domain formula lives in the NIF layer. The numerics, summation order,
transcendental sequence, and the single sanctioned mul_add site
(mat3_vec3_mul_fma) are preserved exactly so the existing Skyfield 0-ULP
parity holds.
Structs§
- Geodetic
Station Km - Geodetic ground-station position (WGS84) for topocentric look angles.
- Polar
Motion - Polar-motion coordinates of the Celestial Intermediate Pole.
- Teme
State Km - TEME-frame position and velocity (km, km/s): the input to
teme_to_gcrs_compute.
Enums§
- Frame
Transform Error - Error returned when public frame-transform inputs are outside the valid domain.
Functions§
- gcrs_
to_ itrs_ compute - Core GCRS->ITRS transform. Returns (x, y, z) in km.
- gcrs_
to_ itrs_ compute_ with_ polar_ motion - Core GCRS->ITRS transform with explicit polar motion.
- gcrs_
to_ itrs_ matrix - Build the historical GCRS->ITRS rotation matrix for a given time.
- gcrs_
to_ itrs_ matrix_ with_ polar_ motion - Build the GCRS->ITRS rotation matrix with explicit polar motion.
- gcrs_
to_ topocentric_ compute - Compute topocentric az/el/range from a ground station to a satellite.
- geodetic_
from_ ecef_ proj - Convert ECEF meters to
(longitude_degrees, latitude_degrees, altitude_m). - geodetic_
to_ itrs - Convert geodetic (lat_deg, lon_deg, alt_km) to ECEF/ITRS (km).
- greenwich_
apparent_ sidereal_ time_ radians - Greenwich Apparent Sidereal Time for an instant, radians in
[0, 2pi). - greenwich_
mean_ sidereal_ time_ radians - Greenwich Mean Sidereal Time for an instant, radians in
[0, 2pi). - itrs_
to_ gcrs_ compute - Core ITRS->GCRS transform. Returns (x, y, z) in km.
- itrs_
to_ gcrs_ compute_ with_ polar_ motion - Core ITRS->GCRS transform with explicit polar motion.
- itrs_
to_ gcrs_ matrix - Build the ITRS->GCRS rotation matrix for a given time.
- itrs_
to_ gcrs_ matrix_ with_ polar_ motion - Build the ITRS->GCRS rotation matrix with explicit polar motion.
- itrs_
to_ geodetic_ compute - Convert ECEF/ITRS (km) to geodetic coordinates. Returns (latitude_deg, longitude_deg, altitude_km).
- mat3_
vec3_ mul - Standard (non-FMA) matrix-vector multiply.
- mean_
of_ date_ to_ itrs_ matrix - Rotation from the mean equator and equinox of date to ITRS, i.e.
R_z(-GAST) * N(nutation + Earth rotation, without precession or frame bias). - mean_
of_ date_ to_ itrs_ matrix_ with_ polar_ motion - Mean-of-date to ITRS rotation with explicit polar motion.
- polar_
motion_ matrix - IERS polar-motion matrix, omitting the tiny TIO locator term
s'. - teme_
to_ gcrs_ compute - Core TEME->GCRS transform. Returns ((px,py,pz), (vx,vy,vz)).
Type Aliases§
- Vec3
- A bare Cartesian triple (km or km/s depending on context).