From 41947074e9538e12898bab78b1037084b2329d1c Mon Sep 17 00:00:00 2001 From: Yutaka Kondo Date: Tue, 17 Dec 2024 17:09:44 +0900 Subject: [PATCH] refactor lanelet2_projector Signed-off-by: Yutaka Kondo --- .../src/lanelet2_projector.cpp | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/common/autoware_geography_utils/src/lanelet2_projector.cpp b/common/autoware_geography_utils/src/lanelet2_projector.cpp index 76c69a85ae..9eee54b532 100644 --- a/common/autoware_geography_utils/src/lanelet2_projector.cpp +++ b/common/autoware_geography_utils/src/lanelet2_projector.cpp @@ -28,30 +28,32 @@ namespace autoware::geography_utils std::unique_ptr get_lanelet2_projector(const MapProjectorInfo & projector_info) { if (projector_info.projector_type == MapProjectorInfo::LOCAL_CARTESIAN_UTM) { - lanelet::GPSPoint position{ + const lanelet::GPSPoint position{ projector_info.map_origin.latitude, projector_info.map_origin.longitude, projector_info.map_origin.altitude}; - lanelet::Origin origin{position}; - lanelet::projection::UtmProjector projector{origin}; + const lanelet::Origin origin{position}; + const lanelet::projection::UtmProjector projector{origin}; return std::make_unique(projector); + } - } else if (projector_info.projector_type == MapProjectorInfo::MGRS) { + if (projector_info.projector_type == MapProjectorInfo::MGRS) { lanelet::projection::MGRSProjector projector{}; projector.setMGRSCode(projector_info.mgrs_grid); return std::make_unique(projector); + } - } else if (projector_info.projector_type == MapProjectorInfo::TRANSVERSE_MERCATOR) { - lanelet::GPSPoint position{ + if (projector_info.projector_type == MapProjectorInfo::TRANSVERSE_MERCATOR) { + const lanelet::GPSPoint position{ projector_info.map_origin.latitude, projector_info.map_origin.longitude, projector_info.map_origin.altitude}; - lanelet::Origin origin{position}; - lanelet::projection::TransverseMercatorProjector projector{origin}; + const lanelet::Origin origin{position}; + const lanelet::projection::TransverseMercatorProjector projector{origin}; return std::make_unique(projector); } - const std::string error_msg = + + throw std::invalid_argument( "Invalid map projector type: " + projector_info.projector_type + - ". Currently supported types: MGRS, LocalCartesianUTM, and TransverseMercator"; - throw std::invalid_argument(error_msg); + ". Currently supported types: MGRS, LocalCartesianUTM, and TransverseMercator"); } } // namespace autoware::geography_utils