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).
Implementations
Section titled “Implementations”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 theallocfeature).
Required Methods
Section titled “Required Methods”to_geodetic()
Section titled “to_geodetic()”fn to_geodetic(pos: &Vec3<Self>, utc: &[Epoch<Utc>](../../structs/epoch/), eop: &
::EopStorage) -> Geodetic
Convert an ECI position to geodetic coordinates.
fixed_to_inertial()
Section titled “fixed_to_inertial()”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.
Provided Methods
Section titled “Provided Methods”inertial_to_fixed_transform()
Section titled “inertial_to_fixed_transform()”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.
fixed_to_inertial_transform()
Section titled “fixed_to_inertial_transform()”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)).