Skip to content

EarthFixedTransform

Defined in: transform.rs:152

pub trait EarthFixedTransform: [EarthRotationPole](../earthrotationpole/)

ECI frame with a transform to its paired Earth-fixed (ECEF) frame.

The type-level dispatch point for code that needs geodetic coordinates (atmosphere, magnetic field) or an ECEF↔ECI rotation (atmosphere wind velocity, magnetic field vector transformation).

  • SimpleEci: ERA-only Z rotation (Rotation<SimpleEci, SimpleEcef>), no EOP needed (EopStorage = ()).
  • Gcrs: full IAU 2006 CIO chain (Rotation<Gcrs, Itrs>), requires an EOP provider (EopStorage = GcrsEopStorage, available with the alloc feature).

fn to_geodetic(pos: &Vec3<Self>, utc: &[Epoch<Utc>](../../structs/epoch/), eop: &::EopStorage) -> Geodetic

Convert an ECI position to geodetic coordinates.


fn fixed_to_inertial(utc: &[Epoch<Utc>](../../structs/epoch/), eop: &::EopStorage) -> Rotation<::Fixed, Self>

Rotation from the paired ECEF frame to this ECI frame.

Used to transform ECEF-frame vectors (e.g., magnetic field, atmosphere co-rotation velocity) back into the propagation frame.


fn inertial_to_fixed_transform(utc: &[Epoch<Utc>](../../structs/epoch/), eop: &::EopStorage) -> FrameTransform<Self, ::Fixed>

ECI → ECEF state transform: the orientation plus Earth’s spin angular velocity, so it transforms velocities (and full position+velocity states), not just positions.

The angular velocity is OMEGA · earth_pole — Earth’s nominal rotation rate (earth::OMEGA(crate::earth::OMEGA)) about the spin axis from EarthRotationPole. This models Earth spin transport only: it is not the full time-derivative of the IAU 2006 W·R·Q chain (the precession/nutation/polar-motion rates Q̇/Ẇ, ~sub-µrad/s, are omitted), and it uses the nominal rate with no LOD correction.


fn fixed_to_inertial_transform(utc: &[Epoch<Utc>](../../structs/epoch/), eop: &::EopStorage) -> FrameTransform<::Fixed, Self>

ECEF → ECI state transform (inverse of inertial_to_fixed_transform(Self::inertial_to_fixed_transform)).