Module reference_frame

Module reference_frame 

Source
Expand description

Geodetic reference frame transformations

Transform coordinates between geodetic reference frames using time-dependent Helmert transformations. Supports both global frames (ITRF series) and regional frames (ETRF, NAD83, etc.) with runtime parameter loading.

§Key Concepts

  • Reference frames define coordinate systems for Earth positioning
  • Crustal motion causes positions to change over time, requiring velocity tracking
  • Transformations use 15-parameter Helmert models with time dependencies
  • Path finding automatically chains transformations between frames

§Core Types

§Basic Usage

use swiftnav::{
    coords::{Coordinate, ECEF},
    reference_frame::{TransformationRepository, ReferenceFrame},
    time::UtcTime
};

let repo = TransformationRepository::from_builtin();
let epoch = UtcTime::from_parts(2020, 3, 15, 0, 0, 0.).to_gps_hardcoded();

// Create coordinate with position and velocity
let itrf_coord = Coordinate::with_velocity(
    ReferenceFrame::ITRF2014,
    ECEF::new(-2703764.0, -4261273.0, 3887158.0),
    ECEF::new(-0.221, 0.254, 0.122),
    epoch
);

// Transform to different reference frame
let nad83_coord = repo.transform(&itrf_coord, &ReferenceFrame::NAD83_2011)?;

§Custom Transformations

let mut repo = TransformationRepository::new();

let custom_transform = Transformation {
    from: ReferenceFrame::ITRF2020,
    to: ReferenceFrame::Other("LOCAL_FRAME".to_string()),
    params: TimeDependentHelmertParams::default(),
};

repo.add_transformation(custom_transform);

Structs§

ReferenceFrameIter
An iterator over the variants of ReferenceFrame
TimeDependentHelmertParams
15-parameter Helmert transformation parameters
Transformation
A transformation from one reference frame to another.
TransformationNotFound
Error indicating that no transformation was found between two reference frames
TransformationRepository
A repository for managing reference frame transformations

Enums§

ReferenceFrame
Geodetic reference frame identifiers