Skip to content

Commit f9ef4cc

Browse files
committed
add tests
Signed-off-by: Mete Fatih Cırıt <mfc@autoware.org>
1 parent b64a436 commit f9ef4cc

File tree

2 files changed

+74
-0
lines changed

2 files changed

+74
-0
lines changed

common/autoware_geography_utils/test/test_lanelet2_projector.cpp

+16
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,22 @@ TEST(GeographyUtilsLanelet2Projector, GetLocalCartesianUTMProjector)
5252
EXPECT_NE(dynamic_cast<lanelet::projection::UtmProjector *>(projector.get()), nullptr);
5353
}
5454

55+
TEST(GeographyUtilsLanelet2Projector, GetLocalCartesianProjector)
56+
{
57+
autoware_map_msgs::msg::MapProjectorInfo projector_info;
58+
projector_info.projector_type = autoware_map_msgs::msg::MapProjectorInfo::LOCAL_CARTESIAN;
59+
projector_info.vertical_datum = autoware_map_msgs::msg::MapProjectorInfo::WGS84;
60+
projector_info.map_origin.latitude = 35.62426;
61+
projector_info.map_origin.longitude = 139.74252;
62+
projector_info.map_origin.altitude = 0.0;
63+
64+
std::unique_ptr<lanelet::Projector> projector =
65+
autoware::geography_utils::get_lanelet2_projector(projector_info);
66+
67+
// Check if the returned projector is of type UtmProjector
68+
EXPECT_NE(dynamic_cast<lanelet::projection::UtmProjector *>(projector.get()), nullptr);
69+
}
70+
5571
TEST(GeographyUtilsLanelet2Projector, GetTransverseMercatorProjector)
5672
{
5773
autoware_map_msgs::msg::MapProjectorInfo projector_info;

common/autoware_geography_utils/test/test_projection.cpp

+58
Original file line numberDiff line numberDiff line change
@@ -159,3 +159,61 @@ TEST(GeographyUtilsProjection, ProjectForwardAndReverseLocalCartesianUTMOrigin)
159159
EXPECT_NEAR(converted_geo_point.longitude, geo_point.longitude, 0.0001);
160160
EXPECT_NEAR(converted_geo_point.altitude, geo_point.altitude, 0.0001);
161161
}
162+
163+
TEST(GeographyUtilsProjection, ProjectForwardToLocalCartesianOrigin)
164+
{
165+
// source point
166+
geographic_msgs::msg::GeoPoint geo_point;
167+
geo_point.latitude = 35.62406;
168+
geo_point.longitude = 139.74252;
169+
geo_point.altitude = 10.0;
170+
171+
// target point
172+
geometry_msgs::msg::Point local_point;
173+
local_point.x = 0.0;
174+
local_point.y = -22.18;
175+
local_point.z = 20.0;
176+
177+
// projector info
178+
autoware_map_msgs::msg::MapProjectorInfo projector_info;
179+
projector_info.projector_type = autoware_map_msgs::msg::MapProjectorInfo::LOCAL_CARTESIAN;
180+
projector_info.vertical_datum = autoware_map_msgs::msg::MapProjectorInfo::WGS84;
181+
projector_info.map_origin.latitude = 35.62426;
182+
projector_info.map_origin.longitude = 139.74252;
183+
projector_info.map_origin.altitude = -10.0;
184+
185+
// conversion
186+
const geometry_msgs::msg::Point converted_point =
187+
autoware::geography_utils::project_forward(geo_point, projector_info);
188+
189+
EXPECT_NEAR(converted_point.x, local_point.x, 1.0);
190+
EXPECT_NEAR(converted_point.y, local_point.y, 1.0);
191+
EXPECT_NEAR(converted_point.z, local_point.z, 1.0);
192+
}
193+
194+
TEST(GeographyUtilsProjection, ProjectForwardAndReverseLocalCartesianOrigin)
195+
{
196+
// source point
197+
geographic_msgs::msg::GeoPoint geo_point;
198+
geo_point.latitude = 35.62426;
199+
geo_point.longitude = 139.74252;
200+
geo_point.altitude = 10.0;
201+
202+
// projector info
203+
autoware_map_msgs::msg::MapProjectorInfo projector_info;
204+
projector_info.projector_type = autoware_map_msgs::msg::MapProjectorInfo::LOCAL_CARTESIAN;
205+
projector_info.vertical_datum = autoware_map_msgs::msg::MapProjectorInfo::WGS84;
206+
projector_info.map_origin.latitude = 35.0;
207+
projector_info.map_origin.longitude = 139.0;
208+
projector_info.map_origin.altitude = 0.0;
209+
210+
// conversion
211+
const geometry_msgs::msg::Point converted_local_point =
212+
autoware::geography_utils::project_forward(geo_point, projector_info);
213+
const geographic_msgs::msg::GeoPoint converted_geo_point =
214+
autoware::geography_utils::project_reverse(converted_local_point, projector_info);
215+
216+
EXPECT_NEAR(converted_geo_point.latitude, geo_point.latitude, 0.0001);
217+
EXPECT_NEAR(converted_geo_point.longitude, geo_point.longitude, 0.0001);
218+
EXPECT_NEAR(converted_geo_point.altitude, geo_point.altitude, 0.0001);
219+
}

0 commit comments

Comments
 (0)