Skip to content

Commit e3e6983

Browse files
authored
Add the last few realizations of WGS84 (#114)
Add a few WGS84 realizations to the list of supported reference frames. These realizations are simple enough to add since they are aligned to specific ITRF realizations at specific epochs, so the transformation parameters between WGS84 and ITRF are all zero.
1 parent 12bf54b commit e3e6983

File tree

2 files changed

+76
-1
lines changed

2 files changed

+76
-1
lines changed

swiftnav/src/reference_frame/mod.rs

+9
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,15 @@ pub enum ReferenceFrame {
125125
#[allow(non_camel_case_types)]
126126
#[strum(to_string = "DREF91(R2016)", serialize = "DREF91_R2016")]
127127
DREF91_R2016,
128+
#[allow(non_camel_case_types)]
129+
#[strum(to_string = "WGS84(G1762)", serialize = "WGS84_G1762")]
130+
WGS84_G1762,
131+
#[allow(non_camel_case_types)]
132+
#[strum(to_string = "WGS84(G2139)", serialize = "WGS84_G2139")]
133+
WGS84_G2139,
134+
#[allow(non_camel_case_types)]
135+
#[strum(to_string = "WGS84(G2296)", serialize = "WGS84_G2296")]
136+
WGS84_G2296,
128137
}
129138

130139
/// 15-parameter Helmert transformation parameters

swiftnav/src/reference_frame/params.rs

+67-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use super::{ReferenceFrame, TimeDependentHelmertParams, Transformation};
22

3-
pub const TRANSFORMATIONS: [Transformation; 31] = [
3+
pub const TRANSFORMATIONS: [Transformation; 34] = [
44
Transformation {
55
from: ReferenceFrame::ITRF2020,
66
to: ReferenceFrame::ITRF2014,
@@ -652,4 +652,70 @@ pub const TRANSFORMATIONS: [Transformation; 31] = [
652652
epoch: 2021.0,
653653
},
654654
},
655+
// WGS84(G2296) is defined to be the same as ITRF2020 at epoch 2024.0
656+
Transformation {
657+
from: ReferenceFrame::ITRF2020,
658+
to: ReferenceFrame::WGS84_G2296,
659+
params: TimeDependentHelmertParams {
660+
tx: 0.0,
661+
tx_dot: 0.0,
662+
ty: 0.0,
663+
ty_dot: 0.0,
664+
tz: 0.0,
665+
tz_dot: 0.0,
666+
s: 0.0,
667+
s_dot: 0.0,
668+
rx: 0.0,
669+
rx_dot: 0.0,
670+
ry: 0.0,
671+
ry_dot: 0.0,
672+
rz: 0.0,
673+
rz_dot: 0.0,
674+
epoch: 2024.0,
675+
},
676+
},
677+
// WGS84(G2139) is defined to be the same as ITRF2014 at epoch 2016.0
678+
Transformation {
679+
from: ReferenceFrame::ITRF2014,
680+
to: ReferenceFrame::WGS84_G2139,
681+
params: TimeDependentHelmertParams {
682+
tx: 0.0,
683+
tx_dot: 0.0,
684+
ty: 0.0,
685+
ty_dot: 0.0,
686+
tz: 0.0,
687+
tz_dot: 0.0,
688+
s: 0.0,
689+
s_dot: 0.0,
690+
rx: 0.0,
691+
rx_dot: 0.0,
692+
ry: 0.0,
693+
ry_dot: 0.0,
694+
rz: 0.0,
695+
rz_dot: 0.0,
696+
epoch: 2016.0,
697+
},
698+
},
699+
// WGS84(G1762) is defined to be the same as ITRF2008 at epoch 2005.0
700+
Transformation {
701+
from: ReferenceFrame::ITRF2008,
702+
to: ReferenceFrame::WGS84_G1762,
703+
params: TimeDependentHelmertParams {
704+
tx: 0.0,
705+
tx_dot: 0.0,
706+
ty: 0.0,
707+
ty_dot: 0.0,
708+
tz: 0.0,
709+
tz_dot: 0.0,
710+
s: 0.0,
711+
s_dot: 0.0,
712+
rx: 0.0,
713+
rx_dot: 0.0,
714+
ry: 0.0,
715+
ry_dot: 0.0,
716+
rz: 0.0,
717+
rz_dot: 0.0,
718+
epoch: 2005.0,
719+
},
720+
},
655721
];

0 commit comments

Comments
 (0)