Skip to content

Commit 1d83cd7

Browse files
author
Sebastian Zęderowski
committed
feat(map_loader): add support for local cartesian projection to lanelet map loader
Signed-off-by: Sebastian Zęderowski <szederowski@autonomous-systems.pl>
1 parent 768f2ca commit 1d83cd7

File tree

2 files changed

+20
-4
lines changed

2 files changed

+20
-4
lines changed

map/autoware_map_projection_loader/README.md

+14
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,20 @@ map_origin:
7070
altitude: 0.0 # [m]
7171
```
7272
73+
### Using LocalCartesian
74+
75+
If you want to use local cartesian WGS84, please specify the map origin as well.
76+
77+
```yaml
78+
# map_projector_info.yaml
79+
projector_type: LocalCartesian
80+
vertical_datum: WGS84
81+
map_origin:
82+
latitude: 35.6762 # [deg]
83+
longitude: 139.6503 # [deg]
84+
altitude: 0.0 # [m]
85+
```
86+
7387
### Using TransverseMercator
7488
7589
If you want to use Transverse Mercator projection, please specify the map origin as well.

map/autoware_map_projection_loader/src/map_projection_loader.cpp

+6-4
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,9 @@ autoware_map_msgs::msg::MapProjectorInfo load_info_from_yaml(const std::string &
3838
msg.mgrs_grid = data["mgrs_grid"].as<std::string>();
3939

4040
} else if (
41-
msg.projector_type == autoware_map_msgs::msg::MapProjectorInfo::LOCAL_CARTESIAN_UTM ||
42-
msg.projector_type == autoware_map_msgs::msg::MapProjectorInfo::TRANSVERSE_MERCATOR) {
41+
msg.projector_type == tier4_map_msgs::msg::MapProjectorInfo::LOCAL_CARTESIAN_UTM ||
42+
msg.projector_type == tier4_map_msgs::msg::MapProjectorInfo::LOCAL_CARTESIAN ||
43+
msg.projector_type == tier4_map_msgs::msg::MapProjectorInfo::TRANSVERSE_MERCATOR) {
4344
msg.vertical_datum = data["vertical_datum"].as<std::string>();
4445
msg.map_origin.latitude = data["map_origin"]["latitude"].as<double>();
4546
msg.map_origin.longitude = data["map_origin"]["longitude"].as<double>();
@@ -59,8 +60,9 @@ autoware_map_msgs::msg::MapProjectorInfo load_info_from_yaml(const std::string &
5960
msg.projector_type = autoware_map_msgs::msg::MapProjectorInfo::LOCAL;
6061
} else {
6162
throw std::runtime_error(
62-
"Invalid map projector type. Currently supported types: MGRS, LocalCartesianUTM, "
63-
"TransverseMercator, and Local");
63+
"Invalid map projector type. Currently supported types: MGRS, LocalCartesian, "
64+
"LocalCartesianUTM, "
65+
"TransverseMercator, and local");
6466
}
6567
return msg;
6668
}

0 commit comments

Comments
 (0)