Skip to main content

Module transforms

Module transforms 

Source
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§

GeodeticStationKm
Geodetic ground-station position (WGS84) for topocentric look angles.
PolarMotion
Polar-motion coordinates of the Celestial Intermediate Pole.
TemeStateKm
TEME-frame position and velocity (km, km/s): the input to teme_to_gcrs_compute.

Enums§

FrameTransformError
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_teme_compute
Core GCRS->TEME transform. Returns ((px,py,pz), (vx,vy,vz)).
gcrs_to_topocentric_compute
Compute topocentric az/el/range from a ground station to a satellite.
gcrs_to_true_of_date_matrix
GCRS to true equator and equinox of date rotation.
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).
greenwich_mean_sidereal_time_radians_from_j2000_seconds
IAU-1982 GMST in radians from continuous seconds past J2000.
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).
itrs_to_topocentric
Topocentric az/el/range from a station to an Earth-fixed (ITRS/ECEF) target.
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).