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
ReferenceFrame- Enumeration of supported coordinate systemsTransformationRepository- Manages transformation parameters and pathfindingCoordinate- Position with reference frame, epoch, and optional velocityTimeDependentHelmertParams- 15-parameter transformation model
§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§
- Reference
Frame Iter - An iterator over the variants of ReferenceFrame
- Time
Dependent Helmert Params - 15-parameter Helmert transformation parameters
- Transformation
- A transformation from one reference frame to another.
- Transformation
NotFound - Error indicating that no transformation was found between two reference frames
- Transformation
Repository - A repository for managing reference frame transformations
Enums§
- Reference
Frame - Geodetic reference frame identifiers