32 #define TEST_NAME "base/gps"
40 std::vector<Eigen::Vector3d> ell;
41 ell.emplace_back(48 + 8. / 60 + 51.70361 / 3600,
42 11 + 34. / 60 + 10.51777 / 3600, 561.1851);
43 ell.emplace_back(48 + 8. / 60 + 52.40575 / 3600,
44 11 + 34. / 60 + 11.77179 / 3600, 561.1509);
45 std::vector<Eigen::Vector3d> ref_xyz;
46 ref_xyz.emplace_back(4.1772397090808507e6, 0.85515377993121441e6,
47 4.7282674046563692e6);
48 ref_xyz.emplace_back(4.1772186604902023e6, 0.8551759313518483e6,
49 4.7282818502697079e6);
53 const auto xyz = gps_tform.
EllToXYZ(ell);
55 for (
size_t i = 0; i < ell.size(); ++i) {
56 BOOST_CHECK(std::abs(xyz[i](0) - ref_xyz[i](0)) < 1
e-8);
57 BOOST_CHECK(std::abs(xyz[i](1) - ref_xyz[i](1)) < 1
e-8);
58 BOOST_CHECK(std::abs(xyz[i](2) - ref_xyz[i](2)) < 1
e-8);
63 std::vector<Eigen::Vector3d> ell;
64 ell.emplace_back(48 + 8. / 60 + 51.70361 / 3600,
65 11 + 34. / 60 + 10.51777 / 3600, 561.1851);
66 ell.emplace_back(48 + 8. / 60 + 52.40575 / 3600,
67 11 + 34. / 60 + 11.77179 / 3600, 561.1509);
68 std::vector<Eigen::Vector3d> ref_xyz;
69 ref_xyz.emplace_back(4.1772397090808507e6, 0.85515377993121441e6,
70 4.7282674046563692e6);
71 ref_xyz.emplace_back(4.1772186604902023e6, 0.8551759313518483e6,
72 4.7282818502697079e6);
76 const auto xyz = gps_tform.
EllToXYZ(ell);
78 for (
size_t i = 0; i < ell.size(); ++i) {
79 BOOST_CHECK(std::abs(xyz[i](0) - ref_xyz[i](0)) < 1
e-8);
80 BOOST_CHECK(std::abs(xyz[i](1) - ref_xyz[i](1)) < 1
e-8);
81 BOOST_CHECK(std::abs(xyz[i](2) - ref_xyz[i](2)) < 1
e-8);
86 std::vector<Eigen::Vector3d> xyz;
87 xyz.emplace_back(4.1772397090808507e6, 0.85515377993121441e6,
88 4.7282674046563692e6);
89 xyz.emplace_back(4.1772186604902023e6, 0.8551759313518483e6,
90 4.7282818502697079e6);
91 std::vector<Eigen::Vector3d> ref_ell;
92 ref_ell.emplace_back(48 + 8. / 60 + 51.70361 / 3600,
93 11 + 34. / 60 + 10.51777 / 3600, 561.1851);
94 ref_ell.emplace_back(48 + 8. / 60 + 52.40575 / 3600,
95 11 + 34. / 60 + 11.77179 / 3600, 561.1509);
99 const auto ell = gps_tform.
XYZToEll(xyz);
101 for (
size_t i = 0; i < xyz.size(); ++i) {
102 BOOST_CHECK(std::abs(ell[i](0) - ref_ell[i](0)) < 1
e-5);
103 BOOST_CHECK(std::abs(ell[i](1) - ref_ell[i](1)) < 1
e-5);
104 BOOST_CHECK(std::abs(ell[i](2) - ref_ell[i](2)) < 1
e-5);
109 std::vector<Eigen::Vector3d> xyz;
110 xyz.emplace_back(4.1772397090808507e6, 0.85515377993121441e6,
111 4.7282674046563692e6);
112 xyz.emplace_back(4.1772186604902023e6, 0.8551759313518483e6,
113 4.7282818502697079e6);
114 std::vector<Eigen::Vector3d> ref_ell;
115 ref_ell.emplace_back(48 + 8. / 60 + 51.70361 / 3600,
116 11 + 34. / 60 + 10.51777 / 3600, 561.1851);
117 ref_ell.emplace_back(48 + 8. / 60 + 52.40575 / 3600,
118 11 + 34. / 60 + 11.77179 / 3600, 561.1509);
122 const auto ell = gps_tform.
XYZToEll(xyz);
124 for (
size_t i = 0; i < xyz.size(); ++i) {
125 BOOST_CHECK(std::abs(ell[i](0) - ref_ell[i](0)) < 1
e-5);
126 BOOST_CHECK(std::abs(ell[i](1) - ref_ell[i](1)) < 1
e-5);
127 BOOST_CHECK(std::abs(ell[i](2) - ref_ell[i](2)) < 1
e-5);
132 std::vector<Eigen::Vector3d> xyz;
133 xyz.emplace_back(4.177239709080851e6, 0.855153779931214e6,
134 4.728267404656370e6);
135 xyz.emplace_back(4.177218660490202e6, 0.855175931351848e6,
136 4.728281850269709e6);
140 const auto ell = gps_tform.
XYZToEll(xyz);
141 const auto xyz2 = gps_tform.
EllToXYZ(ell);
143 for (
size_t i = 0; i < xyz.size(); ++i) {
144 BOOST_CHECK(std::abs(xyz[i](0) - xyz2[i](0)) < 1
e-5);
145 BOOST_CHECK(std::abs(xyz[i](1) - xyz2[i](1)) < 1
e-5);
146 BOOST_CHECK(std::abs(xyz[i](2) - xyz2[i](2)) < 1
e-5);
151 std::vector<Eigen::Vector3d> xyz;
152 xyz.emplace_back(4.177239709080851e6, 0.855153779931214e6,
153 4.728267404656370e6);
154 xyz.emplace_back(4.177218660490202e6, 0.855175931351848e6,
155 4.728281850269709e6);
159 const auto ell = gps_tform.
XYZToEll(xyz);
160 const auto xyz2 = gps_tform.
EllToXYZ(ell);
162 for (
size_t i = 0; i < xyz.size(); ++i) {
163 BOOST_CHECK(std::abs(xyz[i](0) - xyz2[i](0)) < 1
e-5);
164 BOOST_CHECK(std::abs(xyz[i](1) - xyz2[i](1)) < 1
e-5);
165 BOOST_CHECK(std::abs(xyz[i](2) - xyz2[i](2)) < 1
e-5);
BOOST_AUTO_TEST_CASE(TestEllToXYZGRS80)