8 #include <gtest/gtest.h>
12 TEST(fields2cover_utils_transformer, convert_to_F2C_and_return) {
14 F2CPoint(6.062131843297665, 51.51238564279176, 0),
15 F2CPoint(6.062215149507296, 51.51204470468504, 0),
16 F2CPoint(6.062232423018175, 51.51197104647852, 0),
17 F2CPoint(6.062259746209906, 51.51187606814959, 0),
18 F2CPoint(6.062131843297665, 51.51238564279176, 0),
20 auto poly_to_transform = poly;
21 EXPECT_TRUE(poly == poly_to_transform);
23 field.setEPSGCoordSystem(4326);
25 EXPECT_EQ(
field.getField().getCellBorder(0).startPoint(),
F2CPoint(0, 0, 0));
26 EXPECT_EQ(
field.getCRS(),
"EPSG:28992");
29 EXPECT_NEAR(ref_gps_point.getX(), 6.062131843297665, 1e-3);
30 EXPECT_NEAR(ref_gps_point.getY(), 51.51238564279176, 1e-3);
31 EXPECT_NEAR(ref_gps_point.getZ(), 0, 1e-3);
34 auto final_field = (
field.getField() +
field.getRefPoint()).getCellBorder(0);
35 for (
int i = 0; i < final_field.size(); ++i) {
36 EXPECT_NEAR(final_field.getGeometry(i).getX(),
38 EXPECT_NEAR(final_field.getGeometry(i).getY(),
40 EXPECT_NEAR(final_field.getGeometry(i).getZ(),
50 TEST(fields2cover_utils_transformer, convert_to_UTM_and_return) {
52 F2CPoint(6.062131843297665, 51.51238564279176, 0),
53 F2CPoint(6.062215149507296, 51.51204470468504, 0),
54 F2CPoint(6.062232423018175, 51.51197104647852, 0),
55 F2CPoint(6.062259746209906, 51.51187606814959, 0),
56 F2CPoint(6.062131843297665, 51.51238564279176, 0),
58 auto poly_to_transform = poly;
59 EXPECT_TRUE(poly == poly_to_transform);
61 field.setEPSGCoordSystem(4326);
63 EXPECT_EQ(
field.getField().getCellBorder(0).startPoint(),
F2CPoint(0, 0, 0));
64 EXPECT_EQ(
field.getCRS(),
"UTM:32N datum:WGS84");
65 EXPECT_EQ(
field.getPrevCRS(),
"EPSG:4326");
68 auto final_field = (
field.getField() +
field.getRefPoint()).getCellBorder(0);
69 for (
int i = 0; i < final_field.size(); ++i) {
70 EXPECT_NEAR(final_field.getGeometry(i).getX(),
72 EXPECT_NEAR(final_field.getGeometry(i).getY(),
74 EXPECT_NEAR(final_field.getGeometry(i).getZ(),
79 EXPECT_LT(
field.area(), 1e-5);
80 EXPECT_GT(
field.area(), 0);
82 EXPECT_EQ(
field.getCRS(),
"UTM:32N datum:WGS84");
83 EXPECT_NEAR(
field.area(), 5.9, 0.005);
85 EXPECT_LT(
field.area(), 1e-5);
86 EXPECT_GT(
field.area(), 0);
90 EXPECT_EQ(
field.getCRS(),
"UTM:32N datum:ETRS89");
91 EXPECT_NEAR(
field.area(), 5.9, 0.005);
93 EXPECT_LT(
field.area(), 1e-5);
94 EXPECT_GT(
field.area(), 0);
97 field.setCRS(
"EPSG:4258");
99 EXPECT_EQ(
field.getCRS(),
"UTM:32N datum:ETRS89");
100 EXPECT_NEAR(
field.area(), 5.9, 0.005);
102 EXPECT_LT(
field.area(), 1e-5);
103 EXPECT_GT(
field.area(), 0);
105 field.setCRS(
"ERROR");
111 TEST(fields2cover_utils_transformer, convert_types) {
113 F2CPoint(6.062131843297665, 51.51238564279176, 0),
114 F2CPoint(6.062215149507296, 51.51204470468504, 0)});
124 strips.emplace_back(strip);
127 auto cells = moved_swaths.at(0).areaCovered();
129 field.setEPSGCoordSystem(28992);
130 field.setPrevCRS(
"EPSG:4326");
131 EXPECT_NE(
field.getRefPoint().getX(), 6.062131843297665);
132 EXPECT_NE(
field.getRefPoint().getY(), 51.51238564279176);
133 EXPECT_GT(
field.getRefPoint().getX(), 1e4);
134 EXPECT_GT(
field.getRefPoint().getY(), 1e4);
135 EXPECT_NEAR(
field.area(), 1150, 10);
140 EXPECT_NEAR(moved_strips[0].getCell().area(), moved_cells.area(), 1e-7);
143 path.appendSwath(moved_swaths.at(0), 10);
150 EXPECT_NEAR(returned_path[0].point.getX(), 6.062131843297665, 1e-3);
151 EXPECT_NEAR(returned_path[0].point.getY(), 51.51238564279176, 1e-3);
153 EXPECT_NEAR(returned_path2[0].point.getX(), 6.062131843297665, 1e-3);
154 EXPECT_NEAR(returned_path2[0].point.getY(), 51.51238564279176, 1e-3);
156 EXPECT_NEAR(returned_path3[0].point.getX(), 6.062131843297665, 1e-3);
157 EXPECT_NEAR(returned_path3[0].point.getY(), 51.51238564279176, 1e-3);
159 auto returned_swaths =
161 EXPECT_NEAR(returned_path2[0].point.getX(), 6.062131843297665, 1e-3);
162 EXPECT_NEAR(returned_path2[0].point.getY(), 51.51238564279176, 1e-3);