Package Summary
| Version | 1.10.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/autowarefoundation/autoware_core.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-07 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yamato Ando
- Masahiro Sakamoto
- NGUYEN Viet Anh
- Taiki Yamada
Authors
autoware_map_projection_loader
Feature
autoware_map_projection_loader is responsible for publishing map_projector_info that defines in which kind of coordinate Autoware is operating.
This is necessary information especially when you want to convert from global (geoid) to local coordinate or the other way around.
- If
map_projector_info_pathDOES exist, this node loads it and publishes the map projection information accordingly. - If
map_projector_info_pathdoes NOT exist, the node assumes that you are using theMGRSprojection type, and loads the lanelet2 map instead to extract the MGRS grid.- DEPRECATED WARNING: This interface that uses the lanelet2 map is not recommended. Please prepare the YAML file instead.
Map projector info file specification
You need to provide a YAML file, namely map_projector_info.yaml under the map_path directory. For pointcloud_map_metadata.yaml, please refer to the Readme of autoware_map_loader.
sample-map-rosbag
├── lanelet2_map.osm
├── pointcloud_map.pcd
├── map_projector_info.yaml
└── pointcloud_map_metadata.yaml
There are three types of transformations from latitude and longitude to XYZ coordinate system as shown in the figure below. Please refer to the following details for the necessary parameters for each projector type.
Using local coordinate
# map_projector_info.yaml
projector_type: Local
Note that even if you input scale_factor, it will be overwritten to 1.0.
The projector_type value is case-sensitive and must be exactly Local. The previously accepted lowercase local is no longer supported and will be rejected.
Limitation
The functionality that requires latitude and longitude will become unavailable.
The currently identified unavailable functionalities are:
- GNSS localization
- Sending the self-position in latitude and longitude using ADAPI
Using MGRS
If you want to use MGRS, please specify the MGRS grid as well.
# map_projector_info.yaml
projector_type: MGRS
vertical_datum: WGS84
mgrs_grid: 54SUE
Note that even if you input scale_factor, it will be overwritten to 0.9996.
Limitation
It cannot be used with maps that span across two or more MGRS grids. Please use it only when it falls within the scope of a single MGRS grid.
Using LocalCartesianUTM
If you want to use local cartesian UTM, please specify the map origin as well.
# map_projector_info.yaml
projector_type: LocalCartesianUTM
vertical_datum: WGS84
map_origin:
latitude: 35.6762 # [deg]
longitude: 139.6503 # [deg]
Note that even if you input scale_factor, it will be overwritten to 0.9996.
Using LocalCartesian
If you want to use local cartesian WGS84, please specify the map origin as well.
Currently LocalCartesian can only be used in lanelet2_map_loader, packages like gnss_poser doesn’t support it right now.
# map_projector_info.yaml
projector_type: LocalCartesian
vertical_datum: WGS84
map_origin:
latitude: 35.6762 # [deg]
longitude: 139.6503 # [deg]
Note that even if you input scale_factor, it will be overwritten to 1.0.
Using TransverseMercator
If you want to use Transverse Mercator projection, please specify the map origin as well. And specify the scale_factor of the map. If you didn’t specify the scale_factor, it will be set 0.9996 as default value.
File truncated at 100 lines see the full file
Changelog for package autoware_map_projection_loader
1.1.0 (2025-05-01)
- feat(component_interface_specs): use template type in get_qos function (#364) Co-authored-by: Yutaka Kondo <<yutaka.kondo@youtalk.jp>>
- feat(map_projection_loader): add scale_factor and remove altitude (#340)
- Contributors: Takagi, Isamu, Yamato Ando
1.10.0 (2026-09-28)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(map): add node designs for the map nodes (#1413)
* feat(map): add node designs for the map nodes Describe the interfaces, parameters and processes of the pointcloud and lanelet2 map loaders, the map hash generator, the lanelet2 map visualizer and the map projection loader as system design node files.
- fix(map): correct description formatting in Lanelet2MapLoader.node.yaml
* refactor(map): rename node designs to match the node class names PointCloudMapLoader and Lanelet2MapVisualization follow the entity naming convention derived from the C++ class names, as in #1335.
* fix(map): declare the MapHashGenerator external API interfaces as remap targets The map hash publisher and the lanelet XML server carry the fixed API names as remap_target, so a system design connects them like any other port and the launcher remaps the node-side names.
* fix(map): update description for map_projector_info to clarify its purpose ---------
-
fix(map): declare the dependencies these packages use (#1370) Each of these packages uses a package it never declares. Either it includes a header of that package, or it names a symbol of it while the header arrives through another dependency. Both build today only because some declared dependency re-exports the owner, so a change in an unrelated repository can break them without anything here changing. The tag follows where the dependency is used: a use in an installed header or in code compiled into the library takes <depend>, one reached only from test/ takes <test_depend>. System libraries are named by the rosdep key this workspace already prefers.
-
refactor([autoware_map_projection_loader]{.title-ref}): keep core logic free of logging (#1310)
- refactor: keep core logic free of logging
- Emit the input paths from the node instead of std::cout
- Drop the deprecated lowercase "local" projector type (now rejected).
- fix: [README.md]{.title-ref}
* fix: separate source file into that of core/ROS-node logic ---------Co-authored-by: Tran Huu Nhat Huy <<29034232+TranHuuNhatHuy@users.noreply.github.com>>
-
feat(map_projection_loader): apply [agnocast_wrapper::Node]{.title-ref} to [map_projection_loader]{.title-ref} (#1202)
- apply agnocast_wrapper::Node
* delete unnecessary comments ---------
-
Contributors: Junya Sasaki, Koichi Imai, Mete Fatih Cırıt, Taekjin LEE, github-actions
1.9.0 (2026-06-24)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
test(autoware_map_projection_loader): add gtest for load_info_from_yaml and load_map_projector_info (#1140) Add a direct C++ gtest suite mirroring test_load_info_from_lanelet2_map.cpp that writes temporary YAML files and asserts the full MapProjectorInfo message contents per projector_type, closing the high-severity coverage gap previously exercised only indirectly by the launch_test files. Covered behaviors:
- MGRS, LocalCartesianUTM, LocalCartesian, Local, TransverseMercator full message contents (vertical_datum, mgrs_grid, map_origin, scale_factor)
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| geographiclib |
| yaml-cpp |
Dependant Packages
| Name | Deps |
|---|---|
| autoware_core_map |
Launch files
- launch/map_projection_loader.launch.xml
-
- param_path [default: $(find-pkg-share autoware_map_projection_loader)/config/map_projection_loader.param.yaml]
- map_projector_info_path
- lanelet2_map_path
Messages
Services
Plugins
Recent questions tagged autoware_map_projection_loader at Robotics Stack Exchange
Package Summary
| Version | 1.10.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/autowarefoundation/autoware_core.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-07 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yamato Ando
- Masahiro Sakamoto
- NGUYEN Viet Anh
- Taiki Yamada
Authors
autoware_map_projection_loader
Feature
autoware_map_projection_loader is responsible for publishing map_projector_info that defines in which kind of coordinate Autoware is operating.
This is necessary information especially when you want to convert from global (geoid) to local coordinate or the other way around.
- If
map_projector_info_pathDOES exist, this node loads it and publishes the map projection information accordingly. - If
map_projector_info_pathdoes NOT exist, the node assumes that you are using theMGRSprojection type, and loads the lanelet2 map instead to extract the MGRS grid.- DEPRECATED WARNING: This interface that uses the lanelet2 map is not recommended. Please prepare the YAML file instead.
Map projector info file specification
You need to provide a YAML file, namely map_projector_info.yaml under the map_path directory. For pointcloud_map_metadata.yaml, please refer to the Readme of autoware_map_loader.
sample-map-rosbag
├── lanelet2_map.osm
├── pointcloud_map.pcd
├── map_projector_info.yaml
└── pointcloud_map_metadata.yaml
There are three types of transformations from latitude and longitude to XYZ coordinate system as shown in the figure below. Please refer to the following details for the necessary parameters for each projector type.
Using local coordinate
# map_projector_info.yaml
projector_type: Local
Note that even if you input scale_factor, it will be overwritten to 1.0.
The projector_type value is case-sensitive and must be exactly Local. The previously accepted lowercase local is no longer supported and will be rejected.
Limitation
The functionality that requires latitude and longitude will become unavailable.
The currently identified unavailable functionalities are:
- GNSS localization
- Sending the self-position in latitude and longitude using ADAPI
Using MGRS
If you want to use MGRS, please specify the MGRS grid as well.
# map_projector_info.yaml
projector_type: MGRS
vertical_datum: WGS84
mgrs_grid: 54SUE
Note that even if you input scale_factor, it will be overwritten to 0.9996.
Limitation
It cannot be used with maps that span across two or more MGRS grids. Please use it only when it falls within the scope of a single MGRS grid.
Using LocalCartesianUTM
If you want to use local cartesian UTM, please specify the map origin as well.
# map_projector_info.yaml
projector_type: LocalCartesianUTM
vertical_datum: WGS84
map_origin:
latitude: 35.6762 # [deg]
longitude: 139.6503 # [deg]
Note that even if you input scale_factor, it will be overwritten to 0.9996.
Using LocalCartesian
If you want to use local cartesian WGS84, please specify the map origin as well.
Currently LocalCartesian can only be used in lanelet2_map_loader, packages like gnss_poser doesn’t support it right now.
# map_projector_info.yaml
projector_type: LocalCartesian
vertical_datum: WGS84
map_origin:
latitude: 35.6762 # [deg]
longitude: 139.6503 # [deg]
Note that even if you input scale_factor, it will be overwritten to 1.0.
Using TransverseMercator
If you want to use Transverse Mercator projection, please specify the map origin as well. And specify the scale_factor of the map. If you didn’t specify the scale_factor, it will be set 0.9996 as default value.
File truncated at 100 lines see the full file
Changelog for package autoware_map_projection_loader
1.1.0 (2025-05-01)
- feat(component_interface_specs): use template type in get_qos function (#364) Co-authored-by: Yutaka Kondo <<yutaka.kondo@youtalk.jp>>
- feat(map_projection_loader): add scale_factor and remove altitude (#340)
- Contributors: Takagi, Isamu, Yamato Ando
1.10.0 (2026-09-28)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(map): add node designs for the map nodes (#1413)
* feat(map): add node designs for the map nodes Describe the interfaces, parameters and processes of the pointcloud and lanelet2 map loaders, the map hash generator, the lanelet2 map visualizer and the map projection loader as system design node files.
- fix(map): correct description formatting in Lanelet2MapLoader.node.yaml
* refactor(map): rename node designs to match the node class names PointCloudMapLoader and Lanelet2MapVisualization follow the entity naming convention derived from the C++ class names, as in #1335.
* fix(map): declare the MapHashGenerator external API interfaces as remap targets The map hash publisher and the lanelet XML server carry the fixed API names as remap_target, so a system design connects them like any other port and the launcher remaps the node-side names.
* fix(map): update description for map_projector_info to clarify its purpose ---------
-
fix(map): declare the dependencies these packages use (#1370) Each of these packages uses a package it never declares. Either it includes a header of that package, or it names a symbol of it while the header arrives through another dependency. Both build today only because some declared dependency re-exports the owner, so a change in an unrelated repository can break them without anything here changing. The tag follows where the dependency is used: a use in an installed header or in code compiled into the library takes <depend>, one reached only from test/ takes <test_depend>. System libraries are named by the rosdep key this workspace already prefers.
-
refactor([autoware_map_projection_loader]{.title-ref}): keep core logic free of logging (#1310)
- refactor: keep core logic free of logging
- Emit the input paths from the node instead of std::cout
- Drop the deprecated lowercase "local" projector type (now rejected).
- fix: [README.md]{.title-ref}
* fix: separate source file into that of core/ROS-node logic ---------Co-authored-by: Tran Huu Nhat Huy <<29034232+TranHuuNhatHuy@users.noreply.github.com>>
-
feat(map_projection_loader): apply [agnocast_wrapper::Node]{.title-ref} to [map_projection_loader]{.title-ref} (#1202)
- apply agnocast_wrapper::Node
* delete unnecessary comments ---------
-
Contributors: Junya Sasaki, Koichi Imai, Mete Fatih Cırıt, Taekjin LEE, github-actions
1.9.0 (2026-06-24)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
test(autoware_map_projection_loader): add gtest for load_info_from_yaml and load_map_projector_info (#1140) Add a direct C++ gtest suite mirroring test_load_info_from_lanelet2_map.cpp that writes temporary YAML files and asserts the full MapProjectorInfo message contents per projector_type, closing the high-severity coverage gap previously exercised only indirectly by the launch_test files. Covered behaviors:
- MGRS, LocalCartesianUTM, LocalCartesian, Local, TransverseMercator full message contents (vertical_datum, mgrs_grid, map_origin, scale_factor)
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| geographiclib |
| yaml-cpp |
Dependant Packages
| Name | Deps |
|---|---|
| autoware_core_map |
Launch files
- launch/map_projection_loader.launch.xml
-
- param_path [default: $(find-pkg-share autoware_map_projection_loader)/config/map_projection_loader.param.yaml]
- map_projector_info_path
- lanelet2_map_path
Messages
Services
Plugins
Recent questions tagged autoware_map_projection_loader at Robotics Stack Exchange
Package Summary
| Version | 1.10.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/autowarefoundation/autoware_core.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-07 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yamato Ando
- Masahiro Sakamoto
- NGUYEN Viet Anh
- Taiki Yamada
Authors
autoware_map_projection_loader
Feature
autoware_map_projection_loader is responsible for publishing map_projector_info that defines in which kind of coordinate Autoware is operating.
This is necessary information especially when you want to convert from global (geoid) to local coordinate or the other way around.
- If
map_projector_info_pathDOES exist, this node loads it and publishes the map projection information accordingly. - If
map_projector_info_pathdoes NOT exist, the node assumes that you are using theMGRSprojection type, and loads the lanelet2 map instead to extract the MGRS grid.- DEPRECATED WARNING: This interface that uses the lanelet2 map is not recommended. Please prepare the YAML file instead.
Map projector info file specification
You need to provide a YAML file, namely map_projector_info.yaml under the map_path directory. For pointcloud_map_metadata.yaml, please refer to the Readme of autoware_map_loader.
sample-map-rosbag
├── lanelet2_map.osm
├── pointcloud_map.pcd
├── map_projector_info.yaml
└── pointcloud_map_metadata.yaml
There are three types of transformations from latitude and longitude to XYZ coordinate system as shown in the figure below. Please refer to the following details for the necessary parameters for each projector type.
Using local coordinate
# map_projector_info.yaml
projector_type: Local
Note that even if you input scale_factor, it will be overwritten to 1.0.
The projector_type value is case-sensitive and must be exactly Local. The previously accepted lowercase local is no longer supported and will be rejected.
Limitation
The functionality that requires latitude and longitude will become unavailable.
The currently identified unavailable functionalities are:
- GNSS localization
- Sending the self-position in latitude and longitude using ADAPI
Using MGRS
If you want to use MGRS, please specify the MGRS grid as well.
# map_projector_info.yaml
projector_type: MGRS
vertical_datum: WGS84
mgrs_grid: 54SUE
Note that even if you input scale_factor, it will be overwritten to 0.9996.
Limitation
It cannot be used with maps that span across two or more MGRS grids. Please use it only when it falls within the scope of a single MGRS grid.
Using LocalCartesianUTM
If you want to use local cartesian UTM, please specify the map origin as well.
# map_projector_info.yaml
projector_type: LocalCartesianUTM
vertical_datum: WGS84
map_origin:
latitude: 35.6762 # [deg]
longitude: 139.6503 # [deg]
Note that even if you input scale_factor, it will be overwritten to 0.9996.
Using LocalCartesian
If you want to use local cartesian WGS84, please specify the map origin as well.
Currently LocalCartesian can only be used in lanelet2_map_loader, packages like gnss_poser doesn’t support it right now.
# map_projector_info.yaml
projector_type: LocalCartesian
vertical_datum: WGS84
map_origin:
latitude: 35.6762 # [deg]
longitude: 139.6503 # [deg]
Note that even if you input scale_factor, it will be overwritten to 1.0.
Using TransverseMercator
If you want to use Transverse Mercator projection, please specify the map origin as well. And specify the scale_factor of the map. If you didn’t specify the scale_factor, it will be set 0.9996 as default value.
File truncated at 100 lines see the full file
Changelog for package autoware_map_projection_loader
1.1.0 (2025-05-01)
- feat(component_interface_specs): use template type in get_qos function (#364) Co-authored-by: Yutaka Kondo <<yutaka.kondo@youtalk.jp>>
- feat(map_projection_loader): add scale_factor and remove altitude (#340)
- Contributors: Takagi, Isamu, Yamato Ando
1.10.0 (2026-09-28)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(map): add node designs for the map nodes (#1413)
* feat(map): add node designs for the map nodes Describe the interfaces, parameters and processes of the pointcloud and lanelet2 map loaders, the map hash generator, the lanelet2 map visualizer and the map projection loader as system design node files.
- fix(map): correct description formatting in Lanelet2MapLoader.node.yaml
* refactor(map): rename node designs to match the node class names PointCloudMapLoader and Lanelet2MapVisualization follow the entity naming convention derived from the C++ class names, as in #1335.
* fix(map): declare the MapHashGenerator external API interfaces as remap targets The map hash publisher and the lanelet XML server carry the fixed API names as remap_target, so a system design connects them like any other port and the launcher remaps the node-side names.
* fix(map): update description for map_projector_info to clarify its purpose ---------
-
fix(map): declare the dependencies these packages use (#1370) Each of these packages uses a package it never declares. Either it includes a header of that package, or it names a symbol of it while the header arrives through another dependency. Both build today only because some declared dependency re-exports the owner, so a change in an unrelated repository can break them without anything here changing. The tag follows where the dependency is used: a use in an installed header or in code compiled into the library takes <depend>, one reached only from test/ takes <test_depend>. System libraries are named by the rosdep key this workspace already prefers.
-
refactor([autoware_map_projection_loader]{.title-ref}): keep core logic free of logging (#1310)
- refactor: keep core logic free of logging
- Emit the input paths from the node instead of std::cout
- Drop the deprecated lowercase "local" projector type (now rejected).
- fix: [README.md]{.title-ref}
* fix: separate source file into that of core/ROS-node logic ---------Co-authored-by: Tran Huu Nhat Huy <<29034232+TranHuuNhatHuy@users.noreply.github.com>>
-
feat(map_projection_loader): apply [agnocast_wrapper::Node]{.title-ref} to [map_projection_loader]{.title-ref} (#1202)
- apply agnocast_wrapper::Node
* delete unnecessary comments ---------
-
Contributors: Junya Sasaki, Koichi Imai, Mete Fatih Cırıt, Taekjin LEE, github-actions
1.9.0 (2026-06-24)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
test(autoware_map_projection_loader): add gtest for load_info_from_yaml and load_map_projector_info (#1140) Add a direct C++ gtest suite mirroring test_load_info_from_lanelet2_map.cpp that writes temporary YAML files and asserts the full MapProjectorInfo message contents per projector_type, closing the high-severity coverage gap previously exercised only indirectly by the launch_test files. Covered behaviors:
- MGRS, LocalCartesianUTM, LocalCartesian, Local, TransverseMercator full message contents (vertical_datum, mgrs_grid, map_origin, scale_factor)
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| geographiclib |
| yaml-cpp |
Dependant Packages
| Name | Deps |
|---|---|
| autoware_core_map |
Launch files
- launch/map_projection_loader.launch.xml
-
- param_path [default: $(find-pkg-share autoware_map_projection_loader)/config/map_projection_loader.param.yaml]
- map_projector_info_path
- lanelet2_map_path
Messages
Services
Plugins
Recent questions tagged autoware_map_projection_loader at Robotics Stack Exchange
Package Summary
| Version | 1.10.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/autowarefoundation/autoware_core.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-07 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yamato Ando
- Masahiro Sakamoto
- NGUYEN Viet Anh
- Taiki Yamada
Authors
autoware_map_projection_loader
Feature
autoware_map_projection_loader is responsible for publishing map_projector_info that defines in which kind of coordinate Autoware is operating.
This is necessary information especially when you want to convert from global (geoid) to local coordinate or the other way around.
- If
map_projector_info_pathDOES exist, this node loads it and publishes the map projection information accordingly. - If
map_projector_info_pathdoes NOT exist, the node assumes that you are using theMGRSprojection type, and loads the lanelet2 map instead to extract the MGRS grid.- DEPRECATED WARNING: This interface that uses the lanelet2 map is not recommended. Please prepare the YAML file instead.
Map projector info file specification
You need to provide a YAML file, namely map_projector_info.yaml under the map_path directory. For pointcloud_map_metadata.yaml, please refer to the Readme of autoware_map_loader.
sample-map-rosbag
├── lanelet2_map.osm
├── pointcloud_map.pcd
├── map_projector_info.yaml
└── pointcloud_map_metadata.yaml
There are three types of transformations from latitude and longitude to XYZ coordinate system as shown in the figure below. Please refer to the following details for the necessary parameters for each projector type.
Using local coordinate
# map_projector_info.yaml
projector_type: Local
Note that even if you input scale_factor, it will be overwritten to 1.0.
The projector_type value is case-sensitive and must be exactly Local. The previously accepted lowercase local is no longer supported and will be rejected.
Limitation
The functionality that requires latitude and longitude will become unavailable.
The currently identified unavailable functionalities are:
- GNSS localization
- Sending the self-position in latitude and longitude using ADAPI
Using MGRS
If you want to use MGRS, please specify the MGRS grid as well.
# map_projector_info.yaml
projector_type: MGRS
vertical_datum: WGS84
mgrs_grid: 54SUE
Note that even if you input scale_factor, it will be overwritten to 0.9996.
Limitation
It cannot be used with maps that span across two or more MGRS grids. Please use it only when it falls within the scope of a single MGRS grid.
Using LocalCartesianUTM
If you want to use local cartesian UTM, please specify the map origin as well.
# map_projector_info.yaml
projector_type: LocalCartesianUTM
vertical_datum: WGS84
map_origin:
latitude: 35.6762 # [deg]
longitude: 139.6503 # [deg]
Note that even if you input scale_factor, it will be overwritten to 0.9996.
Using LocalCartesian
If you want to use local cartesian WGS84, please specify the map origin as well.
Currently LocalCartesian can only be used in lanelet2_map_loader, packages like gnss_poser doesn’t support it right now.
# map_projector_info.yaml
projector_type: LocalCartesian
vertical_datum: WGS84
map_origin:
latitude: 35.6762 # [deg]
longitude: 139.6503 # [deg]
Note that even if you input scale_factor, it will be overwritten to 1.0.
Using TransverseMercator
If you want to use Transverse Mercator projection, please specify the map origin as well. And specify the scale_factor of the map. If you didn’t specify the scale_factor, it will be set 0.9996 as default value.
File truncated at 100 lines see the full file
Changelog for package autoware_map_projection_loader
1.1.0 (2025-05-01)
- feat(component_interface_specs): use template type in get_qos function (#364) Co-authored-by: Yutaka Kondo <<yutaka.kondo@youtalk.jp>>
- feat(map_projection_loader): add scale_factor and remove altitude (#340)
- Contributors: Takagi, Isamu, Yamato Ando
1.10.0 (2026-09-28)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(map): add node designs for the map nodes (#1413)
* feat(map): add node designs for the map nodes Describe the interfaces, parameters and processes of the pointcloud and lanelet2 map loaders, the map hash generator, the lanelet2 map visualizer and the map projection loader as system design node files.
- fix(map): correct description formatting in Lanelet2MapLoader.node.yaml
* refactor(map): rename node designs to match the node class names PointCloudMapLoader and Lanelet2MapVisualization follow the entity naming convention derived from the C++ class names, as in #1335.
* fix(map): declare the MapHashGenerator external API interfaces as remap targets The map hash publisher and the lanelet XML server carry the fixed API names as remap_target, so a system design connects them like any other port and the launcher remaps the node-side names.
* fix(map): update description for map_projector_info to clarify its purpose ---------
-
fix(map): declare the dependencies these packages use (#1370) Each of these packages uses a package it never declares. Either it includes a header of that package, or it names a symbol of it while the header arrives through another dependency. Both build today only because some declared dependency re-exports the owner, so a change in an unrelated repository can break them without anything here changing. The tag follows where the dependency is used: a use in an installed header or in code compiled into the library takes <depend>, one reached only from test/ takes <test_depend>. System libraries are named by the rosdep key this workspace already prefers.
-
refactor([autoware_map_projection_loader]{.title-ref}): keep core logic free of logging (#1310)
- refactor: keep core logic free of logging
- Emit the input paths from the node instead of std::cout
- Drop the deprecated lowercase "local" projector type (now rejected).
- fix: [README.md]{.title-ref}
* fix: separate source file into that of core/ROS-node logic ---------Co-authored-by: Tran Huu Nhat Huy <<29034232+TranHuuNhatHuy@users.noreply.github.com>>
-
feat(map_projection_loader): apply [agnocast_wrapper::Node]{.title-ref} to [map_projection_loader]{.title-ref} (#1202)
- apply agnocast_wrapper::Node
* delete unnecessary comments ---------
-
Contributors: Junya Sasaki, Koichi Imai, Mete Fatih Cırıt, Taekjin LEE, github-actions
1.9.0 (2026-06-24)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
test(autoware_map_projection_loader): add gtest for load_info_from_yaml and load_map_projector_info (#1140) Add a direct C++ gtest suite mirroring test_load_info_from_lanelet2_map.cpp that writes temporary YAML files and asserts the full MapProjectorInfo message contents per projector_type, closing the high-severity coverage gap previously exercised only indirectly by the launch_test files. Covered behaviors:
- MGRS, LocalCartesianUTM, LocalCartesian, Local, TransverseMercator full message contents (vertical_datum, mgrs_grid, map_origin, scale_factor)
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| geographiclib |
| yaml-cpp |
Dependant Packages
| Name | Deps |
|---|---|
| autoware_core_map |
Launch files
- launch/map_projection_loader.launch.xml
-
- param_path [default: $(find-pkg-share autoware_map_projection_loader)/config/map_projection_loader.param.yaml]
- map_projector_info_path
- lanelet2_map_path
Messages
Services
Plugins
Recent questions tagged autoware_map_projection_loader at Robotics Stack Exchange
Package Summary
| Version | 1.10.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/autowarefoundation/autoware_core.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-07 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yamato Ando
- Masahiro Sakamoto
- NGUYEN Viet Anh
- Taiki Yamada
Authors
autoware_map_projection_loader
Feature
autoware_map_projection_loader is responsible for publishing map_projector_info that defines in which kind of coordinate Autoware is operating.
This is necessary information especially when you want to convert from global (geoid) to local coordinate or the other way around.
- If
map_projector_info_pathDOES exist, this node loads it and publishes the map projection information accordingly. - If
map_projector_info_pathdoes NOT exist, the node assumes that you are using theMGRSprojection type, and loads the lanelet2 map instead to extract the MGRS grid.- DEPRECATED WARNING: This interface that uses the lanelet2 map is not recommended. Please prepare the YAML file instead.
Map projector info file specification
You need to provide a YAML file, namely map_projector_info.yaml under the map_path directory. For pointcloud_map_metadata.yaml, please refer to the Readme of autoware_map_loader.
sample-map-rosbag
├── lanelet2_map.osm
├── pointcloud_map.pcd
├── map_projector_info.yaml
└── pointcloud_map_metadata.yaml
There are three types of transformations from latitude and longitude to XYZ coordinate system as shown in the figure below. Please refer to the following details for the necessary parameters for each projector type.
Using local coordinate
# map_projector_info.yaml
projector_type: Local
Note that even if you input scale_factor, it will be overwritten to 1.0.
The projector_type value is case-sensitive and must be exactly Local. The previously accepted lowercase local is no longer supported and will be rejected.
Limitation
The functionality that requires latitude and longitude will become unavailable.
The currently identified unavailable functionalities are:
- GNSS localization
- Sending the self-position in latitude and longitude using ADAPI
Using MGRS
If you want to use MGRS, please specify the MGRS grid as well.
# map_projector_info.yaml
projector_type: MGRS
vertical_datum: WGS84
mgrs_grid: 54SUE
Note that even if you input scale_factor, it will be overwritten to 0.9996.
Limitation
It cannot be used with maps that span across two or more MGRS grids. Please use it only when it falls within the scope of a single MGRS grid.
Using LocalCartesianUTM
If you want to use local cartesian UTM, please specify the map origin as well.
# map_projector_info.yaml
projector_type: LocalCartesianUTM
vertical_datum: WGS84
map_origin:
latitude: 35.6762 # [deg]
longitude: 139.6503 # [deg]
Note that even if you input scale_factor, it will be overwritten to 0.9996.
Using LocalCartesian
If you want to use local cartesian WGS84, please specify the map origin as well.
Currently LocalCartesian can only be used in lanelet2_map_loader, packages like gnss_poser doesn’t support it right now.
# map_projector_info.yaml
projector_type: LocalCartesian
vertical_datum: WGS84
map_origin:
latitude: 35.6762 # [deg]
longitude: 139.6503 # [deg]
Note that even if you input scale_factor, it will be overwritten to 1.0.
Using TransverseMercator
If you want to use Transverse Mercator projection, please specify the map origin as well. And specify the scale_factor of the map. If you didn’t specify the scale_factor, it will be set 0.9996 as default value.
File truncated at 100 lines see the full file
Changelog for package autoware_map_projection_loader
1.1.0 (2025-05-01)
- feat(component_interface_specs): use template type in get_qos function (#364) Co-authored-by: Yutaka Kondo <<yutaka.kondo@youtalk.jp>>
- feat(map_projection_loader): add scale_factor and remove altitude (#340)
- Contributors: Takagi, Isamu, Yamato Ando
1.10.0 (2026-09-28)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(map): add node designs for the map nodes (#1413)
* feat(map): add node designs for the map nodes Describe the interfaces, parameters and processes of the pointcloud and lanelet2 map loaders, the map hash generator, the lanelet2 map visualizer and the map projection loader as system design node files.
- fix(map): correct description formatting in Lanelet2MapLoader.node.yaml
* refactor(map): rename node designs to match the node class names PointCloudMapLoader and Lanelet2MapVisualization follow the entity naming convention derived from the C++ class names, as in #1335.
* fix(map): declare the MapHashGenerator external API interfaces as remap targets The map hash publisher and the lanelet XML server carry the fixed API names as remap_target, so a system design connects them like any other port and the launcher remaps the node-side names.
* fix(map): update description for map_projector_info to clarify its purpose ---------
-
fix(map): declare the dependencies these packages use (#1370) Each of these packages uses a package it never declares. Either it includes a header of that package, or it names a symbol of it while the header arrives through another dependency. Both build today only because some declared dependency re-exports the owner, so a change in an unrelated repository can break them without anything here changing. The tag follows where the dependency is used: a use in an installed header or in code compiled into the library takes <depend>, one reached only from test/ takes <test_depend>. System libraries are named by the rosdep key this workspace already prefers.
-
refactor([autoware_map_projection_loader]{.title-ref}): keep core logic free of logging (#1310)
- refactor: keep core logic free of logging
- Emit the input paths from the node instead of std::cout
- Drop the deprecated lowercase "local" projector type (now rejected).
- fix: [README.md]{.title-ref}
* fix: separate source file into that of core/ROS-node logic ---------Co-authored-by: Tran Huu Nhat Huy <<29034232+TranHuuNhatHuy@users.noreply.github.com>>
-
feat(map_projection_loader): apply [agnocast_wrapper::Node]{.title-ref} to [map_projection_loader]{.title-ref} (#1202)
- apply agnocast_wrapper::Node
* delete unnecessary comments ---------
-
Contributors: Junya Sasaki, Koichi Imai, Mete Fatih Cırıt, Taekjin LEE, github-actions
1.9.0 (2026-06-24)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
test(autoware_map_projection_loader): add gtest for load_info_from_yaml and load_map_projector_info (#1140) Add a direct C++ gtest suite mirroring test_load_info_from_lanelet2_map.cpp that writes temporary YAML files and asserts the full MapProjectorInfo message contents per projector_type, closing the high-severity coverage gap previously exercised only indirectly by the launch_test files. Covered behaviors:
- MGRS, LocalCartesianUTM, LocalCartesian, Local, TransverseMercator full message contents (vertical_datum, mgrs_grid, map_origin, scale_factor)
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| geographiclib |
| yaml-cpp |
Dependant Packages
| Name | Deps |
|---|---|
| autoware_core_map |
Launch files
- launch/map_projection_loader.launch.xml
-
- param_path [default: $(find-pkg-share autoware_map_projection_loader)/config/map_projection_loader.param.yaml]
- map_projector_info_path
- lanelet2_map_path
Messages
Services
Plugins
Recent questions tagged autoware_map_projection_loader at Robotics Stack Exchange
Package Summary
| Version | 1.10.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/autowarefoundation/autoware_core.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-07 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yamato Ando
- Masahiro Sakamoto
- NGUYEN Viet Anh
- Taiki Yamada
Authors
autoware_map_projection_loader
Feature
autoware_map_projection_loader is responsible for publishing map_projector_info that defines in which kind of coordinate Autoware is operating.
This is necessary information especially when you want to convert from global (geoid) to local coordinate or the other way around.
- If
map_projector_info_pathDOES exist, this node loads it and publishes the map projection information accordingly. - If
map_projector_info_pathdoes NOT exist, the node assumes that you are using theMGRSprojection type, and loads the lanelet2 map instead to extract the MGRS grid.- DEPRECATED WARNING: This interface that uses the lanelet2 map is not recommended. Please prepare the YAML file instead.
Map projector info file specification
You need to provide a YAML file, namely map_projector_info.yaml under the map_path directory. For pointcloud_map_metadata.yaml, please refer to the Readme of autoware_map_loader.
sample-map-rosbag
├── lanelet2_map.osm
├── pointcloud_map.pcd
├── map_projector_info.yaml
└── pointcloud_map_metadata.yaml
There are three types of transformations from latitude and longitude to XYZ coordinate system as shown in the figure below. Please refer to the following details for the necessary parameters for each projector type.
Using local coordinate
# map_projector_info.yaml
projector_type: Local
Note that even if you input scale_factor, it will be overwritten to 1.0.
The projector_type value is case-sensitive and must be exactly Local. The previously accepted lowercase local is no longer supported and will be rejected.
Limitation
The functionality that requires latitude and longitude will become unavailable.
The currently identified unavailable functionalities are:
- GNSS localization
- Sending the self-position in latitude and longitude using ADAPI
Using MGRS
If you want to use MGRS, please specify the MGRS grid as well.
# map_projector_info.yaml
projector_type: MGRS
vertical_datum: WGS84
mgrs_grid: 54SUE
Note that even if you input scale_factor, it will be overwritten to 0.9996.
Limitation
It cannot be used with maps that span across two or more MGRS grids. Please use it only when it falls within the scope of a single MGRS grid.
Using LocalCartesianUTM
If you want to use local cartesian UTM, please specify the map origin as well.
# map_projector_info.yaml
projector_type: LocalCartesianUTM
vertical_datum: WGS84
map_origin:
latitude: 35.6762 # [deg]
longitude: 139.6503 # [deg]
Note that even if you input scale_factor, it will be overwritten to 0.9996.
Using LocalCartesian
If you want to use local cartesian WGS84, please specify the map origin as well.
Currently LocalCartesian can only be used in lanelet2_map_loader, packages like gnss_poser doesn’t support it right now.
# map_projector_info.yaml
projector_type: LocalCartesian
vertical_datum: WGS84
map_origin:
latitude: 35.6762 # [deg]
longitude: 139.6503 # [deg]
Note that even if you input scale_factor, it will be overwritten to 1.0.
Using TransverseMercator
If you want to use Transverse Mercator projection, please specify the map origin as well. And specify the scale_factor of the map. If you didn’t specify the scale_factor, it will be set 0.9996 as default value.
File truncated at 100 lines see the full file
Changelog for package autoware_map_projection_loader
1.1.0 (2025-05-01)
- feat(component_interface_specs): use template type in get_qos function (#364) Co-authored-by: Yutaka Kondo <<yutaka.kondo@youtalk.jp>>
- feat(map_projection_loader): add scale_factor and remove altitude (#340)
- Contributors: Takagi, Isamu, Yamato Ando
1.10.0 (2026-09-28)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(map): add node designs for the map nodes (#1413)
* feat(map): add node designs for the map nodes Describe the interfaces, parameters and processes of the pointcloud and lanelet2 map loaders, the map hash generator, the lanelet2 map visualizer and the map projection loader as system design node files.
- fix(map): correct description formatting in Lanelet2MapLoader.node.yaml
* refactor(map): rename node designs to match the node class names PointCloudMapLoader and Lanelet2MapVisualization follow the entity naming convention derived from the C++ class names, as in #1335.
* fix(map): declare the MapHashGenerator external API interfaces as remap targets The map hash publisher and the lanelet XML server carry the fixed API names as remap_target, so a system design connects them like any other port and the launcher remaps the node-side names.
* fix(map): update description for map_projector_info to clarify its purpose ---------
-
fix(map): declare the dependencies these packages use (#1370) Each of these packages uses a package it never declares. Either it includes a header of that package, or it names a symbol of it while the header arrives through another dependency. Both build today only because some declared dependency re-exports the owner, so a change in an unrelated repository can break them without anything here changing. The tag follows where the dependency is used: a use in an installed header or in code compiled into the library takes <depend>, one reached only from test/ takes <test_depend>. System libraries are named by the rosdep key this workspace already prefers.
-
refactor([autoware_map_projection_loader]{.title-ref}): keep core logic free of logging (#1310)
- refactor: keep core logic free of logging
- Emit the input paths from the node instead of std::cout
- Drop the deprecated lowercase "local" projector type (now rejected).
- fix: [README.md]{.title-ref}
* fix: separate source file into that of core/ROS-node logic ---------Co-authored-by: Tran Huu Nhat Huy <<29034232+TranHuuNhatHuy@users.noreply.github.com>>
-
feat(map_projection_loader): apply [agnocast_wrapper::Node]{.title-ref} to [map_projection_loader]{.title-ref} (#1202)
- apply agnocast_wrapper::Node
* delete unnecessary comments ---------
-
Contributors: Junya Sasaki, Koichi Imai, Mete Fatih Cırıt, Taekjin LEE, github-actions
1.9.0 (2026-06-24)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
test(autoware_map_projection_loader): add gtest for load_info_from_yaml and load_map_projector_info (#1140) Add a direct C++ gtest suite mirroring test_load_info_from_lanelet2_map.cpp that writes temporary YAML files and asserts the full MapProjectorInfo message contents per projector_type, closing the high-severity coverage gap previously exercised only indirectly by the launch_test files. Covered behaviors:
- MGRS, LocalCartesianUTM, LocalCartesian, Local, TransverseMercator full message contents (vertical_datum, mgrs_grid, map_origin, scale_factor)
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| geographiclib |
| yaml-cpp |
Dependant Packages
| Name | Deps |
|---|---|
| autoware_core_map |
Launch files
- launch/map_projection_loader.launch.xml
-
- param_path [default: $(find-pkg-share autoware_map_projection_loader)/config/map_projection_loader.param.yaml]
- map_projector_info_path
- lanelet2_map_path
Messages
Services
Plugins
Recent questions tagged autoware_map_projection_loader at Robotics Stack Exchange
Package Summary
| Version | 1.10.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/autowarefoundation/autoware_core.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-07 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yamato Ando
- Masahiro Sakamoto
- NGUYEN Viet Anh
- Taiki Yamada
Authors
autoware_map_projection_loader
Feature
autoware_map_projection_loader is responsible for publishing map_projector_info that defines in which kind of coordinate Autoware is operating.
This is necessary information especially when you want to convert from global (geoid) to local coordinate or the other way around.
- If
map_projector_info_pathDOES exist, this node loads it and publishes the map projection information accordingly. - If
map_projector_info_pathdoes NOT exist, the node assumes that you are using theMGRSprojection type, and loads the lanelet2 map instead to extract the MGRS grid.- DEPRECATED WARNING: This interface that uses the lanelet2 map is not recommended. Please prepare the YAML file instead.
Map projector info file specification
You need to provide a YAML file, namely map_projector_info.yaml under the map_path directory. For pointcloud_map_metadata.yaml, please refer to the Readme of autoware_map_loader.
sample-map-rosbag
├── lanelet2_map.osm
├── pointcloud_map.pcd
├── map_projector_info.yaml
└── pointcloud_map_metadata.yaml
There are three types of transformations from latitude and longitude to XYZ coordinate system as shown in the figure below. Please refer to the following details for the necessary parameters for each projector type.
Using local coordinate
# map_projector_info.yaml
projector_type: Local
Note that even if you input scale_factor, it will be overwritten to 1.0.
The projector_type value is case-sensitive and must be exactly Local. The previously accepted lowercase local is no longer supported and will be rejected.
Limitation
The functionality that requires latitude and longitude will become unavailable.
The currently identified unavailable functionalities are:
- GNSS localization
- Sending the self-position in latitude and longitude using ADAPI
Using MGRS
If you want to use MGRS, please specify the MGRS grid as well.
# map_projector_info.yaml
projector_type: MGRS
vertical_datum: WGS84
mgrs_grid: 54SUE
Note that even if you input scale_factor, it will be overwritten to 0.9996.
Limitation
It cannot be used with maps that span across two or more MGRS grids. Please use it only when it falls within the scope of a single MGRS grid.
Using LocalCartesianUTM
If you want to use local cartesian UTM, please specify the map origin as well.
# map_projector_info.yaml
projector_type: LocalCartesianUTM
vertical_datum: WGS84
map_origin:
latitude: 35.6762 # [deg]
longitude: 139.6503 # [deg]
Note that even if you input scale_factor, it will be overwritten to 0.9996.
Using LocalCartesian
If you want to use local cartesian WGS84, please specify the map origin as well.
Currently LocalCartesian can only be used in lanelet2_map_loader, packages like gnss_poser doesn’t support it right now.
# map_projector_info.yaml
projector_type: LocalCartesian
vertical_datum: WGS84
map_origin:
latitude: 35.6762 # [deg]
longitude: 139.6503 # [deg]
Note that even if you input scale_factor, it will be overwritten to 1.0.
Using TransverseMercator
If you want to use Transverse Mercator projection, please specify the map origin as well. And specify the scale_factor of the map. If you didn’t specify the scale_factor, it will be set 0.9996 as default value.
File truncated at 100 lines see the full file
Changelog for package autoware_map_projection_loader
1.1.0 (2025-05-01)
- feat(component_interface_specs): use template type in get_qos function (#364) Co-authored-by: Yutaka Kondo <<yutaka.kondo@youtalk.jp>>
- feat(map_projection_loader): add scale_factor and remove altitude (#340)
- Contributors: Takagi, Isamu, Yamato Ando
1.10.0 (2026-09-28)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(map): add node designs for the map nodes (#1413)
* feat(map): add node designs for the map nodes Describe the interfaces, parameters and processes of the pointcloud and lanelet2 map loaders, the map hash generator, the lanelet2 map visualizer and the map projection loader as system design node files.
- fix(map): correct description formatting in Lanelet2MapLoader.node.yaml
* refactor(map): rename node designs to match the node class names PointCloudMapLoader and Lanelet2MapVisualization follow the entity naming convention derived from the C++ class names, as in #1335.
* fix(map): declare the MapHashGenerator external API interfaces as remap targets The map hash publisher and the lanelet XML server carry the fixed API names as remap_target, so a system design connects them like any other port and the launcher remaps the node-side names.
* fix(map): update description for map_projector_info to clarify its purpose ---------
-
fix(map): declare the dependencies these packages use (#1370) Each of these packages uses a package it never declares. Either it includes a header of that package, or it names a symbol of it while the header arrives through another dependency. Both build today only because some declared dependency re-exports the owner, so a change in an unrelated repository can break them without anything here changing. The tag follows where the dependency is used: a use in an installed header or in code compiled into the library takes <depend>, one reached only from test/ takes <test_depend>. System libraries are named by the rosdep key this workspace already prefers.
-
refactor([autoware_map_projection_loader]{.title-ref}): keep core logic free of logging (#1310)
- refactor: keep core logic free of logging
- Emit the input paths from the node instead of std::cout
- Drop the deprecated lowercase "local" projector type (now rejected).
- fix: [README.md]{.title-ref}
* fix: separate source file into that of core/ROS-node logic ---------Co-authored-by: Tran Huu Nhat Huy <<29034232+TranHuuNhatHuy@users.noreply.github.com>>
-
feat(map_projection_loader): apply [agnocast_wrapper::Node]{.title-ref} to [map_projection_loader]{.title-ref} (#1202)
- apply agnocast_wrapper::Node
* delete unnecessary comments ---------
-
Contributors: Junya Sasaki, Koichi Imai, Mete Fatih Cırıt, Taekjin LEE, github-actions
1.9.0 (2026-06-24)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
test(autoware_map_projection_loader): add gtest for load_info_from_yaml and load_map_projector_info (#1140) Add a direct C++ gtest suite mirroring test_load_info_from_lanelet2_map.cpp that writes temporary YAML files and asserts the full MapProjectorInfo message contents per projector_type, closing the high-severity coverage gap previously exercised only indirectly by the launch_test files. Covered behaviors:
- MGRS, LocalCartesianUTM, LocalCartesian, Local, TransverseMercator full message contents (vertical_datum, mgrs_grid, map_origin, scale_factor)
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| geographiclib |
| yaml-cpp |
Dependant Packages
| Name | Deps |
|---|---|
| autoware_core_map |
Launch files
- launch/map_projection_loader.launch.xml
-
- param_path [default: $(find-pkg-share autoware_map_projection_loader)/config/map_projection_loader.param.yaml]
- map_projector_info_path
- lanelet2_map_path
Messages
Services
Plugins
Recent questions tagged autoware_map_projection_loader at Robotics Stack Exchange
Package Summary
| Version | 1.10.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/autowarefoundation/autoware_core.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-07 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yamato Ando
- Masahiro Sakamoto
- NGUYEN Viet Anh
- Taiki Yamada
Authors
autoware_map_projection_loader
Feature
autoware_map_projection_loader is responsible for publishing map_projector_info that defines in which kind of coordinate Autoware is operating.
This is necessary information especially when you want to convert from global (geoid) to local coordinate or the other way around.
- If
map_projector_info_pathDOES exist, this node loads it and publishes the map projection information accordingly. - If
map_projector_info_pathdoes NOT exist, the node assumes that you are using theMGRSprojection type, and loads the lanelet2 map instead to extract the MGRS grid.- DEPRECATED WARNING: This interface that uses the lanelet2 map is not recommended. Please prepare the YAML file instead.
Map projector info file specification
You need to provide a YAML file, namely map_projector_info.yaml under the map_path directory. For pointcloud_map_metadata.yaml, please refer to the Readme of autoware_map_loader.
sample-map-rosbag
├── lanelet2_map.osm
├── pointcloud_map.pcd
├── map_projector_info.yaml
└── pointcloud_map_metadata.yaml
There are three types of transformations from latitude and longitude to XYZ coordinate system as shown in the figure below. Please refer to the following details for the necessary parameters for each projector type.
Using local coordinate
# map_projector_info.yaml
projector_type: Local
Note that even if you input scale_factor, it will be overwritten to 1.0.
The projector_type value is case-sensitive and must be exactly Local. The previously accepted lowercase local is no longer supported and will be rejected.
Limitation
The functionality that requires latitude and longitude will become unavailable.
The currently identified unavailable functionalities are:
- GNSS localization
- Sending the self-position in latitude and longitude using ADAPI
Using MGRS
If you want to use MGRS, please specify the MGRS grid as well.
# map_projector_info.yaml
projector_type: MGRS
vertical_datum: WGS84
mgrs_grid: 54SUE
Note that even if you input scale_factor, it will be overwritten to 0.9996.
Limitation
It cannot be used with maps that span across two or more MGRS grids. Please use it only when it falls within the scope of a single MGRS grid.
Using LocalCartesianUTM
If you want to use local cartesian UTM, please specify the map origin as well.
# map_projector_info.yaml
projector_type: LocalCartesianUTM
vertical_datum: WGS84
map_origin:
latitude: 35.6762 # [deg]
longitude: 139.6503 # [deg]
Note that even if you input scale_factor, it will be overwritten to 0.9996.
Using LocalCartesian
If you want to use local cartesian WGS84, please specify the map origin as well.
Currently LocalCartesian can only be used in lanelet2_map_loader, packages like gnss_poser doesn’t support it right now.
# map_projector_info.yaml
projector_type: LocalCartesian
vertical_datum: WGS84
map_origin:
latitude: 35.6762 # [deg]
longitude: 139.6503 # [deg]
Note that even if you input scale_factor, it will be overwritten to 1.0.
Using TransverseMercator
If you want to use Transverse Mercator projection, please specify the map origin as well. And specify the scale_factor of the map. If you didn’t specify the scale_factor, it will be set 0.9996 as default value.
File truncated at 100 lines see the full file
Changelog for package autoware_map_projection_loader
1.1.0 (2025-05-01)
- feat(component_interface_specs): use template type in get_qos function (#364) Co-authored-by: Yutaka Kondo <<yutaka.kondo@youtalk.jp>>
- feat(map_projection_loader): add scale_factor and remove altitude (#340)
- Contributors: Takagi, Isamu, Yamato Ando
1.10.0 (2026-09-28)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(map): add node designs for the map nodes (#1413)
* feat(map): add node designs for the map nodes Describe the interfaces, parameters and processes of the pointcloud and lanelet2 map loaders, the map hash generator, the lanelet2 map visualizer and the map projection loader as system design node files.
- fix(map): correct description formatting in Lanelet2MapLoader.node.yaml
* refactor(map): rename node designs to match the node class names PointCloudMapLoader and Lanelet2MapVisualization follow the entity naming convention derived from the C++ class names, as in #1335.
* fix(map): declare the MapHashGenerator external API interfaces as remap targets The map hash publisher and the lanelet XML server carry the fixed API names as remap_target, so a system design connects them like any other port and the launcher remaps the node-side names.
* fix(map): update description for map_projector_info to clarify its purpose ---------
-
fix(map): declare the dependencies these packages use (#1370) Each of these packages uses a package it never declares. Either it includes a header of that package, or it names a symbol of it while the header arrives through another dependency. Both build today only because some declared dependency re-exports the owner, so a change in an unrelated repository can break them without anything here changing. The tag follows where the dependency is used: a use in an installed header or in code compiled into the library takes <depend>, one reached only from test/ takes <test_depend>. System libraries are named by the rosdep key this workspace already prefers.
-
refactor([autoware_map_projection_loader]{.title-ref}): keep core logic free of logging (#1310)
- refactor: keep core logic free of logging
- Emit the input paths from the node instead of std::cout
- Drop the deprecated lowercase "local" projector type (now rejected).
- fix: [README.md]{.title-ref}
* fix: separate source file into that of core/ROS-node logic ---------Co-authored-by: Tran Huu Nhat Huy <<29034232+TranHuuNhatHuy@users.noreply.github.com>>
-
feat(map_projection_loader): apply [agnocast_wrapper::Node]{.title-ref} to [map_projection_loader]{.title-ref} (#1202)
- apply agnocast_wrapper::Node
* delete unnecessary comments ---------
-
Contributors: Junya Sasaki, Koichi Imai, Mete Fatih Cırıt, Taekjin LEE, github-actions
1.9.0 (2026-06-24)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
test(autoware_map_projection_loader): add gtest for load_info_from_yaml and load_map_projector_info (#1140) Add a direct C++ gtest suite mirroring test_load_info_from_lanelet2_map.cpp that writes temporary YAML files and asserts the full MapProjectorInfo message contents per projector_type, closing the high-severity coverage gap previously exercised only indirectly by the launch_test files. Covered behaviors:
- MGRS, LocalCartesianUTM, LocalCartesian, Local, TransverseMercator full message contents (vertical_datum, mgrs_grid, map_origin, scale_factor)
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| geographiclib |
| yaml-cpp |
Dependant Packages
| Name | Deps |
|---|---|
| autoware_core_map |
Launch files
- launch/map_projection_loader.launch.xml
-
- param_path [default: $(find-pkg-share autoware_map_projection_loader)/config/map_projection_loader.param.yaml]
- map_projector_info_path
- lanelet2_map_path
Messages
Services
Plugins
Recent questions tagged autoware_map_projection_loader at Robotics Stack Exchange
Package Summary
| Version | 1.10.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/autowarefoundation/autoware_core.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-07 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yamato Ando
- Masahiro Sakamoto
- NGUYEN Viet Anh
- Taiki Yamada
Authors
autoware_map_projection_loader
Feature
autoware_map_projection_loader is responsible for publishing map_projector_info that defines in which kind of coordinate Autoware is operating.
This is necessary information especially when you want to convert from global (geoid) to local coordinate or the other way around.
- If
map_projector_info_pathDOES exist, this node loads it and publishes the map projection information accordingly. - If
map_projector_info_pathdoes NOT exist, the node assumes that you are using theMGRSprojection type, and loads the lanelet2 map instead to extract the MGRS grid.- DEPRECATED WARNING: This interface that uses the lanelet2 map is not recommended. Please prepare the YAML file instead.
Map projector info file specification
You need to provide a YAML file, namely map_projector_info.yaml under the map_path directory. For pointcloud_map_metadata.yaml, please refer to the Readme of autoware_map_loader.
sample-map-rosbag
├── lanelet2_map.osm
├── pointcloud_map.pcd
├── map_projector_info.yaml
└── pointcloud_map_metadata.yaml
There are three types of transformations from latitude and longitude to XYZ coordinate system as shown in the figure below. Please refer to the following details for the necessary parameters for each projector type.
Using local coordinate
# map_projector_info.yaml
projector_type: Local
Note that even if you input scale_factor, it will be overwritten to 1.0.
The projector_type value is case-sensitive and must be exactly Local. The previously accepted lowercase local is no longer supported and will be rejected.
Limitation
The functionality that requires latitude and longitude will become unavailable.
The currently identified unavailable functionalities are:
- GNSS localization
- Sending the self-position in latitude and longitude using ADAPI
Using MGRS
If you want to use MGRS, please specify the MGRS grid as well.
# map_projector_info.yaml
projector_type: MGRS
vertical_datum: WGS84
mgrs_grid: 54SUE
Note that even if you input scale_factor, it will be overwritten to 0.9996.
Limitation
It cannot be used with maps that span across two or more MGRS grids. Please use it only when it falls within the scope of a single MGRS grid.
Using LocalCartesianUTM
If you want to use local cartesian UTM, please specify the map origin as well.
# map_projector_info.yaml
projector_type: LocalCartesianUTM
vertical_datum: WGS84
map_origin:
latitude: 35.6762 # [deg]
longitude: 139.6503 # [deg]
Note that even if you input scale_factor, it will be overwritten to 0.9996.
Using LocalCartesian
If you want to use local cartesian WGS84, please specify the map origin as well.
Currently LocalCartesian can only be used in lanelet2_map_loader, packages like gnss_poser doesn’t support it right now.
# map_projector_info.yaml
projector_type: LocalCartesian
vertical_datum: WGS84
map_origin:
latitude: 35.6762 # [deg]
longitude: 139.6503 # [deg]
Note that even if you input scale_factor, it will be overwritten to 1.0.
Using TransverseMercator
If you want to use Transverse Mercator projection, please specify the map origin as well. And specify the scale_factor of the map. If you didn’t specify the scale_factor, it will be set 0.9996 as default value.
File truncated at 100 lines see the full file
Changelog for package autoware_map_projection_loader
1.1.0 (2025-05-01)
- feat(component_interface_specs): use template type in get_qos function (#364) Co-authored-by: Yutaka Kondo <<yutaka.kondo@youtalk.jp>>
- feat(map_projection_loader): add scale_factor and remove altitude (#340)
- Contributors: Takagi, Isamu, Yamato Ando
1.10.0 (2026-09-28)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(map): add node designs for the map nodes (#1413)
* feat(map): add node designs for the map nodes Describe the interfaces, parameters and processes of the pointcloud and lanelet2 map loaders, the map hash generator, the lanelet2 map visualizer and the map projection loader as system design node files.
- fix(map): correct description formatting in Lanelet2MapLoader.node.yaml
* refactor(map): rename node designs to match the node class names PointCloudMapLoader and Lanelet2MapVisualization follow the entity naming convention derived from the C++ class names, as in #1335.
* fix(map): declare the MapHashGenerator external API interfaces as remap targets The map hash publisher and the lanelet XML server carry the fixed API names as remap_target, so a system design connects them like any other port and the launcher remaps the node-side names.
* fix(map): update description for map_projector_info to clarify its purpose ---------
-
fix(map): declare the dependencies these packages use (#1370) Each of these packages uses a package it never declares. Either it includes a header of that package, or it names a symbol of it while the header arrives through another dependency. Both build today only because some declared dependency re-exports the owner, so a change in an unrelated repository can break them without anything here changing. The tag follows where the dependency is used: a use in an installed header or in code compiled into the library takes <depend>, one reached only from test/ takes <test_depend>. System libraries are named by the rosdep key this workspace already prefers.
-
refactor([autoware_map_projection_loader]{.title-ref}): keep core logic free of logging (#1310)
- refactor: keep core logic free of logging
- Emit the input paths from the node instead of std::cout
- Drop the deprecated lowercase "local" projector type (now rejected).
- fix: [README.md]{.title-ref}
* fix: separate source file into that of core/ROS-node logic ---------Co-authored-by: Tran Huu Nhat Huy <<29034232+TranHuuNhatHuy@users.noreply.github.com>>
-
feat(map_projection_loader): apply [agnocast_wrapper::Node]{.title-ref} to [map_projection_loader]{.title-ref} (#1202)
- apply agnocast_wrapper::Node
* delete unnecessary comments ---------
-
Contributors: Junya Sasaki, Koichi Imai, Mete Fatih Cırıt, Taekjin LEE, github-actions
1.9.0 (2026-06-24)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
test(autoware_map_projection_loader): add gtest for load_info_from_yaml and load_map_projector_info (#1140) Add a direct C++ gtest suite mirroring test_load_info_from_lanelet2_map.cpp that writes temporary YAML files and asserts the full MapProjectorInfo message contents per projector_type, closing the high-severity coverage gap previously exercised only indirectly by the launch_test files. Covered behaviors:
- MGRS, LocalCartesianUTM, LocalCartesian, Local, TransverseMercator full message contents (vertical_datum, mgrs_grid, map_origin, scale_factor)
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| geographiclib |
| yaml-cpp |
Dependant Packages
| Name | Deps |
|---|---|
| autoware_core_map |
Launch files
- launch/map_projection_loader.launch.xml
-
- param_path [default: $(find-pkg-share autoware_map_projection_loader)/config/map_projection_loader.param.yaml]
- map_projector_info_path
- lanelet2_map_path
Messages
Services
Plugins
Recent questions tagged autoware_map_projection_loader at Robotics Stack Exchange
Package Summary
| Version | 1.10.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/autowarefoundation/autoware_core.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-07 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yamato Ando
- Masahiro Sakamoto
- NGUYEN Viet Anh
- Taiki Yamada
Authors
autoware_map_projection_loader
Feature
autoware_map_projection_loader is responsible for publishing map_projector_info that defines in which kind of coordinate Autoware is operating.
This is necessary information especially when you want to convert from global (geoid) to local coordinate or the other way around.
- If
map_projector_info_pathDOES exist, this node loads it and publishes the map projection information accordingly. - If
map_projector_info_pathdoes NOT exist, the node assumes that you are using theMGRSprojection type, and loads the lanelet2 map instead to extract the MGRS grid.- DEPRECATED WARNING: This interface that uses the lanelet2 map is not recommended. Please prepare the YAML file instead.
Map projector info file specification
You need to provide a YAML file, namely map_projector_info.yaml under the map_path directory. For pointcloud_map_metadata.yaml, please refer to the Readme of autoware_map_loader.
sample-map-rosbag
├── lanelet2_map.osm
├── pointcloud_map.pcd
├── map_projector_info.yaml
└── pointcloud_map_metadata.yaml
There are three types of transformations from latitude and longitude to XYZ coordinate system as shown in the figure below. Please refer to the following details for the necessary parameters for each projector type.
Using local coordinate
# map_projector_info.yaml
projector_type: Local
Note that even if you input scale_factor, it will be overwritten to 1.0.
The projector_type value is case-sensitive and must be exactly Local. The previously accepted lowercase local is no longer supported and will be rejected.
Limitation
The functionality that requires latitude and longitude will become unavailable.
The currently identified unavailable functionalities are:
- GNSS localization
- Sending the self-position in latitude and longitude using ADAPI
Using MGRS
If you want to use MGRS, please specify the MGRS grid as well.
# map_projector_info.yaml
projector_type: MGRS
vertical_datum: WGS84
mgrs_grid: 54SUE
Note that even if you input scale_factor, it will be overwritten to 0.9996.
Limitation
It cannot be used with maps that span across two or more MGRS grids. Please use it only when it falls within the scope of a single MGRS grid.
Using LocalCartesianUTM
If you want to use local cartesian UTM, please specify the map origin as well.
# map_projector_info.yaml
projector_type: LocalCartesianUTM
vertical_datum: WGS84
map_origin:
latitude: 35.6762 # [deg]
longitude: 139.6503 # [deg]
Note that even if you input scale_factor, it will be overwritten to 0.9996.
Using LocalCartesian
If you want to use local cartesian WGS84, please specify the map origin as well.
Currently LocalCartesian can only be used in lanelet2_map_loader, packages like gnss_poser doesn’t support it right now.
# map_projector_info.yaml
projector_type: LocalCartesian
vertical_datum: WGS84
map_origin:
latitude: 35.6762 # [deg]
longitude: 139.6503 # [deg]
Note that even if you input scale_factor, it will be overwritten to 1.0.
Using TransverseMercator
If you want to use Transverse Mercator projection, please specify the map origin as well. And specify the scale_factor of the map. If you didn’t specify the scale_factor, it will be set 0.9996 as default value.
File truncated at 100 lines see the full file
Changelog for package autoware_map_projection_loader
1.1.0 (2025-05-01)
- feat(component_interface_specs): use template type in get_qos function (#364) Co-authored-by: Yutaka Kondo <<yutaka.kondo@youtalk.jp>>
- feat(map_projection_loader): add scale_factor and remove altitude (#340)
- Contributors: Takagi, Isamu, Yamato Ando
1.10.0 (2026-09-28)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(map): add node designs for the map nodes (#1413)
* feat(map): add node designs for the map nodes Describe the interfaces, parameters and processes of the pointcloud and lanelet2 map loaders, the map hash generator, the lanelet2 map visualizer and the map projection loader as system design node files.
- fix(map): correct description formatting in Lanelet2MapLoader.node.yaml
* refactor(map): rename node designs to match the node class names PointCloudMapLoader and Lanelet2MapVisualization follow the entity naming convention derived from the C++ class names, as in #1335.
* fix(map): declare the MapHashGenerator external API interfaces as remap targets The map hash publisher and the lanelet XML server carry the fixed API names as remap_target, so a system design connects them like any other port and the launcher remaps the node-side names.
* fix(map): update description for map_projector_info to clarify its purpose ---------
-
fix(map): declare the dependencies these packages use (#1370) Each of these packages uses a package it never declares. Either it includes a header of that package, or it names a symbol of it while the header arrives through another dependency. Both build today only because some declared dependency re-exports the owner, so a change in an unrelated repository can break them without anything here changing. The tag follows where the dependency is used: a use in an installed header or in code compiled into the library takes <depend>, one reached only from test/ takes <test_depend>. System libraries are named by the rosdep key this workspace already prefers.
-
refactor([autoware_map_projection_loader]{.title-ref}): keep core logic free of logging (#1310)
- refactor: keep core logic free of logging
- Emit the input paths from the node instead of std::cout
- Drop the deprecated lowercase "local" projector type (now rejected).
- fix: [README.md]{.title-ref}
* fix: separate source file into that of core/ROS-node logic ---------Co-authored-by: Tran Huu Nhat Huy <<29034232+TranHuuNhatHuy@users.noreply.github.com>>
-
feat(map_projection_loader): apply [agnocast_wrapper::Node]{.title-ref} to [map_projection_loader]{.title-ref} (#1202)
- apply agnocast_wrapper::Node
* delete unnecessary comments ---------
-
Contributors: Junya Sasaki, Koichi Imai, Mete Fatih Cırıt, Taekjin LEE, github-actions
1.9.0 (2026-06-24)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
test(autoware_map_projection_loader): add gtest for load_info_from_yaml and load_map_projector_info (#1140) Add a direct C++ gtest suite mirroring test_load_info_from_lanelet2_map.cpp that writes temporary YAML files and asserts the full MapProjectorInfo message contents per projector_type, closing the high-severity coverage gap previously exercised only indirectly by the launch_test files. Covered behaviors:
- MGRS, LocalCartesianUTM, LocalCartesian, Local, TransverseMercator full message contents (vertical_datum, mgrs_grid, map_origin, scale_factor)
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| geographiclib |
| yaml-cpp |
Dependant Packages
| Name | Deps |
|---|---|
| autoware_core_map |
Launch files
- launch/map_projection_loader.launch.xml
-
- param_path [default: $(find-pkg-share autoware_map_projection_loader)/config/map_projection_loader.param.yaml]
- map_projector_info_path
- lanelet2_map_path
Messages
Services
Plugins
Recent questions tagged autoware_map_projection_loader at Robotics Stack Exchange
Package Summary
| Version | 1.10.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/autowarefoundation/autoware_core.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-07 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yamato Ando
- Masahiro Sakamoto
- NGUYEN Viet Anh
- Taiki Yamada
Authors
autoware_map_projection_loader
Feature
autoware_map_projection_loader is responsible for publishing map_projector_info that defines in which kind of coordinate Autoware is operating.
This is necessary information especially when you want to convert from global (geoid) to local coordinate or the other way around.
- If
map_projector_info_pathDOES exist, this node loads it and publishes the map projection information accordingly. - If
map_projector_info_pathdoes NOT exist, the node assumes that you are using theMGRSprojection type, and loads the lanelet2 map instead to extract the MGRS grid.- DEPRECATED WARNING: This interface that uses the lanelet2 map is not recommended. Please prepare the YAML file instead.
Map projector info file specification
You need to provide a YAML file, namely map_projector_info.yaml under the map_path directory. For pointcloud_map_metadata.yaml, please refer to the Readme of autoware_map_loader.
sample-map-rosbag
├── lanelet2_map.osm
├── pointcloud_map.pcd
├── map_projector_info.yaml
└── pointcloud_map_metadata.yaml
There are three types of transformations from latitude and longitude to XYZ coordinate system as shown in the figure below. Please refer to the following details for the necessary parameters for each projector type.
Using local coordinate
# map_projector_info.yaml
projector_type: Local
Note that even if you input scale_factor, it will be overwritten to 1.0.
The projector_type value is case-sensitive and must be exactly Local. The previously accepted lowercase local is no longer supported and will be rejected.
Limitation
The functionality that requires latitude and longitude will become unavailable.
The currently identified unavailable functionalities are:
- GNSS localization
- Sending the self-position in latitude and longitude using ADAPI
Using MGRS
If you want to use MGRS, please specify the MGRS grid as well.
# map_projector_info.yaml
projector_type: MGRS
vertical_datum: WGS84
mgrs_grid: 54SUE
Note that even if you input scale_factor, it will be overwritten to 0.9996.
Limitation
It cannot be used with maps that span across two or more MGRS grids. Please use it only when it falls within the scope of a single MGRS grid.
Using LocalCartesianUTM
If you want to use local cartesian UTM, please specify the map origin as well.
# map_projector_info.yaml
projector_type: LocalCartesianUTM
vertical_datum: WGS84
map_origin:
latitude: 35.6762 # [deg]
longitude: 139.6503 # [deg]
Note that even if you input scale_factor, it will be overwritten to 0.9996.
Using LocalCartesian
If you want to use local cartesian WGS84, please specify the map origin as well.
Currently LocalCartesian can only be used in lanelet2_map_loader, packages like gnss_poser doesn’t support it right now.
# map_projector_info.yaml
projector_type: LocalCartesian
vertical_datum: WGS84
map_origin:
latitude: 35.6762 # [deg]
longitude: 139.6503 # [deg]
Note that even if you input scale_factor, it will be overwritten to 1.0.
Using TransverseMercator
If you want to use Transverse Mercator projection, please specify the map origin as well. And specify the scale_factor of the map. If you didn’t specify the scale_factor, it will be set 0.9996 as default value.
File truncated at 100 lines see the full file
Changelog for package autoware_map_projection_loader
1.1.0 (2025-05-01)
- feat(component_interface_specs): use template type in get_qos function (#364) Co-authored-by: Yutaka Kondo <<yutaka.kondo@youtalk.jp>>
- feat(map_projection_loader): add scale_factor and remove altitude (#340)
- Contributors: Takagi, Isamu, Yamato Ando
1.10.0 (2026-09-28)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(map): add node designs for the map nodes (#1413)
* feat(map): add node designs for the map nodes Describe the interfaces, parameters and processes of the pointcloud and lanelet2 map loaders, the map hash generator, the lanelet2 map visualizer and the map projection loader as system design node files.
- fix(map): correct description formatting in Lanelet2MapLoader.node.yaml
* refactor(map): rename node designs to match the node class names PointCloudMapLoader and Lanelet2MapVisualization follow the entity naming convention derived from the C++ class names, as in #1335.
* fix(map): declare the MapHashGenerator external API interfaces as remap targets The map hash publisher and the lanelet XML server carry the fixed API names as remap_target, so a system design connects them like any other port and the launcher remaps the node-side names.
* fix(map): update description for map_projector_info to clarify its purpose ---------
-
fix(map): declare the dependencies these packages use (#1370) Each of these packages uses a package it never declares. Either it includes a header of that package, or it names a symbol of it while the header arrives through another dependency. Both build today only because some declared dependency re-exports the owner, so a change in an unrelated repository can break them without anything here changing. The tag follows where the dependency is used: a use in an installed header or in code compiled into the library takes <depend>, one reached only from test/ takes <test_depend>. System libraries are named by the rosdep key this workspace already prefers.
-
refactor([autoware_map_projection_loader]{.title-ref}): keep core logic free of logging (#1310)
- refactor: keep core logic free of logging
- Emit the input paths from the node instead of std::cout
- Drop the deprecated lowercase "local" projector type (now rejected).
- fix: [README.md]{.title-ref}
* fix: separate source file into that of core/ROS-node logic ---------Co-authored-by: Tran Huu Nhat Huy <<29034232+TranHuuNhatHuy@users.noreply.github.com>>
-
feat(map_projection_loader): apply [agnocast_wrapper::Node]{.title-ref} to [map_projection_loader]{.title-ref} (#1202)
- apply agnocast_wrapper::Node
* delete unnecessary comments ---------
-
Contributors: Junya Sasaki, Koichi Imai, Mete Fatih Cırıt, Taekjin LEE, github-actions
1.9.0 (2026-06-24)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
test(autoware_map_projection_loader): add gtest for load_info_from_yaml and load_map_projector_info (#1140) Add a direct C++ gtest suite mirroring test_load_info_from_lanelet2_map.cpp that writes temporary YAML files and asserts the full MapProjectorInfo message contents per projector_type, closing the high-severity coverage gap previously exercised only indirectly by the launch_test files. Covered behaviors:
- MGRS, LocalCartesianUTM, LocalCartesian, Local, TransverseMercator full message contents (vertical_datum, mgrs_grid, map_origin, scale_factor)
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| geographiclib |
| yaml-cpp |
Dependant Packages
| Name | Deps |
|---|---|
| autoware_core_map |
Launch files
- launch/map_projection_loader.launch.xml
-
- param_path [default: $(find-pkg-share autoware_map_projection_loader)/config/map_projection_loader.param.yaml]
- map_projector_info_path
- lanelet2_map_path
Messages
Services
Plugins
Recent questions tagged autoware_map_projection_loader at Robotics Stack Exchange
Package Summary
| Version | 1.10.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/autowarefoundation/autoware_core.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-07 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yamato Ando
- Masahiro Sakamoto
- NGUYEN Viet Anh
- Taiki Yamada
Authors
autoware_map_projection_loader
Feature
autoware_map_projection_loader is responsible for publishing map_projector_info that defines in which kind of coordinate Autoware is operating.
This is necessary information especially when you want to convert from global (geoid) to local coordinate or the other way around.
- If
map_projector_info_pathDOES exist, this node loads it and publishes the map projection information accordingly. - If
map_projector_info_pathdoes NOT exist, the node assumes that you are using theMGRSprojection type, and loads the lanelet2 map instead to extract the MGRS grid.- DEPRECATED WARNING: This interface that uses the lanelet2 map is not recommended. Please prepare the YAML file instead.
Map projector info file specification
You need to provide a YAML file, namely map_projector_info.yaml under the map_path directory. For pointcloud_map_metadata.yaml, please refer to the Readme of autoware_map_loader.
sample-map-rosbag
├── lanelet2_map.osm
├── pointcloud_map.pcd
├── map_projector_info.yaml
└── pointcloud_map_metadata.yaml
There are three types of transformations from latitude and longitude to XYZ coordinate system as shown in the figure below. Please refer to the following details for the necessary parameters for each projector type.
Using local coordinate
# map_projector_info.yaml
projector_type: Local
Note that even if you input scale_factor, it will be overwritten to 1.0.
The projector_type value is case-sensitive and must be exactly Local. The previously accepted lowercase local is no longer supported and will be rejected.
Limitation
The functionality that requires latitude and longitude will become unavailable.
The currently identified unavailable functionalities are:
- GNSS localization
- Sending the self-position in latitude and longitude using ADAPI
Using MGRS
If you want to use MGRS, please specify the MGRS grid as well.
# map_projector_info.yaml
projector_type: MGRS
vertical_datum: WGS84
mgrs_grid: 54SUE
Note that even if you input scale_factor, it will be overwritten to 0.9996.
Limitation
It cannot be used with maps that span across two or more MGRS grids. Please use it only when it falls within the scope of a single MGRS grid.
Using LocalCartesianUTM
If you want to use local cartesian UTM, please specify the map origin as well.
# map_projector_info.yaml
projector_type: LocalCartesianUTM
vertical_datum: WGS84
map_origin:
latitude: 35.6762 # [deg]
longitude: 139.6503 # [deg]
Note that even if you input scale_factor, it will be overwritten to 0.9996.
Using LocalCartesian
If you want to use local cartesian WGS84, please specify the map origin as well.
Currently LocalCartesian can only be used in lanelet2_map_loader, packages like gnss_poser doesn’t support it right now.
# map_projector_info.yaml
projector_type: LocalCartesian
vertical_datum: WGS84
map_origin:
latitude: 35.6762 # [deg]
longitude: 139.6503 # [deg]
Note that even if you input scale_factor, it will be overwritten to 1.0.
Using TransverseMercator
If you want to use Transverse Mercator projection, please specify the map origin as well. And specify the scale_factor of the map. If you didn’t specify the scale_factor, it will be set 0.9996 as default value.
File truncated at 100 lines see the full file
Changelog for package autoware_map_projection_loader
1.1.0 (2025-05-01)
- feat(component_interface_specs): use template type in get_qos function (#364) Co-authored-by: Yutaka Kondo <<yutaka.kondo@youtalk.jp>>
- feat(map_projection_loader): add scale_factor and remove altitude (#340)
- Contributors: Takagi, Isamu, Yamato Ando
1.10.0 (2026-09-28)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(map): add node designs for the map nodes (#1413)
* feat(map): add node designs for the map nodes Describe the interfaces, parameters and processes of the pointcloud and lanelet2 map loaders, the map hash generator, the lanelet2 map visualizer and the map projection loader as system design node files.
- fix(map): correct description formatting in Lanelet2MapLoader.node.yaml
* refactor(map): rename node designs to match the node class names PointCloudMapLoader and Lanelet2MapVisualization follow the entity naming convention derived from the C++ class names, as in #1335.
* fix(map): declare the MapHashGenerator external API interfaces as remap targets The map hash publisher and the lanelet XML server carry the fixed API names as remap_target, so a system design connects them like any other port and the launcher remaps the node-side names.
* fix(map): update description for map_projector_info to clarify its purpose ---------
-
fix(map): declare the dependencies these packages use (#1370) Each of these packages uses a package it never declares. Either it includes a header of that package, or it names a symbol of it while the header arrives through another dependency. Both build today only because some declared dependency re-exports the owner, so a change in an unrelated repository can break them without anything here changing. The tag follows where the dependency is used: a use in an installed header or in code compiled into the library takes <depend>, one reached only from test/ takes <test_depend>. System libraries are named by the rosdep key this workspace already prefers.
-
refactor([autoware_map_projection_loader]{.title-ref}): keep core logic free of logging (#1310)
- refactor: keep core logic free of logging
- Emit the input paths from the node instead of std::cout
- Drop the deprecated lowercase "local" projector type (now rejected).
- fix: [README.md]{.title-ref}
* fix: separate source file into that of core/ROS-node logic ---------Co-authored-by: Tran Huu Nhat Huy <<29034232+TranHuuNhatHuy@users.noreply.github.com>>
-
feat(map_projection_loader): apply [agnocast_wrapper::Node]{.title-ref} to [map_projection_loader]{.title-ref} (#1202)
- apply agnocast_wrapper::Node
* delete unnecessary comments ---------
-
Contributors: Junya Sasaki, Koichi Imai, Mete Fatih Cırıt, Taekjin LEE, github-actions
1.9.0 (2026-06-24)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
test(autoware_map_projection_loader): add gtest for load_info_from_yaml and load_map_projector_info (#1140) Add a direct C++ gtest suite mirroring test_load_info_from_lanelet2_map.cpp that writes temporary YAML files and asserts the full MapProjectorInfo message contents per projector_type, closing the high-severity coverage gap previously exercised only indirectly by the launch_test files. Covered behaviors:
- MGRS, LocalCartesianUTM, LocalCartesian, Local, TransverseMercator full message contents (vertical_datum, mgrs_grid, map_origin, scale_factor)
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| geographiclib |
| yaml-cpp |
Dependant Packages
| Name | Deps |
|---|---|
| autoware_core_map |
Launch files
- launch/map_projection_loader.launch.xml
-
- param_path [default: $(find-pkg-share autoware_map_projection_loader)/config/map_projection_loader.param.yaml]
- map_projector_info_path
- lanelet2_map_path
Messages
Services
Plugins
Recent questions tagged autoware_map_projection_loader at Robotics Stack Exchange
Package Summary
| Version | 1.10.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/autowarefoundation/autoware_core.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-07 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yamato Ando
- Masahiro Sakamoto
- NGUYEN Viet Anh
- Taiki Yamada
Authors
autoware_map_projection_loader
Feature
autoware_map_projection_loader is responsible for publishing map_projector_info that defines in which kind of coordinate Autoware is operating.
This is necessary information especially when you want to convert from global (geoid) to local coordinate or the other way around.
- If
map_projector_info_pathDOES exist, this node loads it and publishes the map projection information accordingly. - If
map_projector_info_pathdoes NOT exist, the node assumes that you are using theMGRSprojection type, and loads the lanelet2 map instead to extract the MGRS grid.- DEPRECATED WARNING: This interface that uses the lanelet2 map is not recommended. Please prepare the YAML file instead.
Map projector info file specification
You need to provide a YAML file, namely map_projector_info.yaml under the map_path directory. For pointcloud_map_metadata.yaml, please refer to the Readme of autoware_map_loader.
sample-map-rosbag
├── lanelet2_map.osm
├── pointcloud_map.pcd
├── map_projector_info.yaml
└── pointcloud_map_metadata.yaml
There are three types of transformations from latitude and longitude to XYZ coordinate system as shown in the figure below. Please refer to the following details for the necessary parameters for each projector type.
Using local coordinate
# map_projector_info.yaml
projector_type: Local
Note that even if you input scale_factor, it will be overwritten to 1.0.
The projector_type value is case-sensitive and must be exactly Local. The previously accepted lowercase local is no longer supported and will be rejected.
Limitation
The functionality that requires latitude and longitude will become unavailable.
The currently identified unavailable functionalities are:
- GNSS localization
- Sending the self-position in latitude and longitude using ADAPI
Using MGRS
If you want to use MGRS, please specify the MGRS grid as well.
# map_projector_info.yaml
projector_type: MGRS
vertical_datum: WGS84
mgrs_grid: 54SUE
Note that even if you input scale_factor, it will be overwritten to 0.9996.
Limitation
It cannot be used with maps that span across two or more MGRS grids. Please use it only when it falls within the scope of a single MGRS grid.
Using LocalCartesianUTM
If you want to use local cartesian UTM, please specify the map origin as well.
# map_projector_info.yaml
projector_type: LocalCartesianUTM
vertical_datum: WGS84
map_origin:
latitude: 35.6762 # [deg]
longitude: 139.6503 # [deg]
Note that even if you input scale_factor, it will be overwritten to 0.9996.
Using LocalCartesian
If you want to use local cartesian WGS84, please specify the map origin as well.
Currently LocalCartesian can only be used in lanelet2_map_loader, packages like gnss_poser doesn’t support it right now.
# map_projector_info.yaml
projector_type: LocalCartesian
vertical_datum: WGS84
map_origin:
latitude: 35.6762 # [deg]
longitude: 139.6503 # [deg]
Note that even if you input scale_factor, it will be overwritten to 1.0.
Using TransverseMercator
If you want to use Transverse Mercator projection, please specify the map origin as well. And specify the scale_factor of the map. If you didn’t specify the scale_factor, it will be set 0.9996 as default value.
File truncated at 100 lines see the full file
Changelog for package autoware_map_projection_loader
1.1.0 (2025-05-01)
- feat(component_interface_specs): use template type in get_qos function (#364) Co-authored-by: Yutaka Kondo <<yutaka.kondo@youtalk.jp>>
- feat(map_projection_loader): add scale_factor and remove altitude (#340)
- Contributors: Takagi, Isamu, Yamato Ando
1.10.0 (2026-09-28)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(map): add node designs for the map nodes (#1413)
* feat(map): add node designs for the map nodes Describe the interfaces, parameters and processes of the pointcloud and lanelet2 map loaders, the map hash generator, the lanelet2 map visualizer and the map projection loader as system design node files.
- fix(map): correct description formatting in Lanelet2MapLoader.node.yaml
* refactor(map): rename node designs to match the node class names PointCloudMapLoader and Lanelet2MapVisualization follow the entity naming convention derived from the C++ class names, as in #1335.
* fix(map): declare the MapHashGenerator external API interfaces as remap targets The map hash publisher and the lanelet XML server carry the fixed API names as remap_target, so a system design connects them like any other port and the launcher remaps the node-side names.
* fix(map): update description for map_projector_info to clarify its purpose ---------
-
fix(map): declare the dependencies these packages use (#1370) Each of these packages uses a package it never declares. Either it includes a header of that package, or it names a symbol of it while the header arrives through another dependency. Both build today only because some declared dependency re-exports the owner, so a change in an unrelated repository can break them without anything here changing. The tag follows where the dependency is used: a use in an installed header or in code compiled into the library takes <depend>, one reached only from test/ takes <test_depend>. System libraries are named by the rosdep key this workspace already prefers.
-
refactor([autoware_map_projection_loader]{.title-ref}): keep core logic free of logging (#1310)
- refactor: keep core logic free of logging
- Emit the input paths from the node instead of std::cout
- Drop the deprecated lowercase "local" projector type (now rejected).
- fix: [README.md]{.title-ref}
* fix: separate source file into that of core/ROS-node logic ---------Co-authored-by: Tran Huu Nhat Huy <<29034232+TranHuuNhatHuy@users.noreply.github.com>>
-
feat(map_projection_loader): apply [agnocast_wrapper::Node]{.title-ref} to [map_projection_loader]{.title-ref} (#1202)
- apply agnocast_wrapper::Node
* delete unnecessary comments ---------
-
Contributors: Junya Sasaki, Koichi Imai, Mete Fatih Cırıt, Taekjin LEE, github-actions
1.9.0 (2026-06-24)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
test(autoware_map_projection_loader): add gtest for load_info_from_yaml and load_map_projector_info (#1140) Add a direct C++ gtest suite mirroring test_load_info_from_lanelet2_map.cpp that writes temporary YAML files and asserts the full MapProjectorInfo message contents per projector_type, closing the high-severity coverage gap previously exercised only indirectly by the launch_test files. Covered behaviors:
- MGRS, LocalCartesianUTM, LocalCartesian, Local, TransverseMercator full message contents (vertical_datum, mgrs_grid, map_origin, scale_factor)
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| geographiclib |
| yaml-cpp |
Dependant Packages
| Name | Deps |
|---|---|
| autoware_core_map |
Launch files
- launch/map_projection_loader.launch.xml
-
- param_path [default: $(find-pkg-share autoware_map_projection_loader)/config/map_projection_loader.param.yaml]
- map_projector_info_path
- lanelet2_map_path
Messages
Services
Plugins
Recent questions tagged autoware_map_projection_loader at Robotics Stack Exchange
Package Summary
| Version | 1.10.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/autowarefoundation/autoware_core.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-07 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yamato Ando
- Masahiro Sakamoto
- NGUYEN Viet Anh
- Taiki Yamada
Authors
autoware_map_projection_loader
Feature
autoware_map_projection_loader is responsible for publishing map_projector_info that defines in which kind of coordinate Autoware is operating.
This is necessary information especially when you want to convert from global (geoid) to local coordinate or the other way around.
- If
map_projector_info_pathDOES exist, this node loads it and publishes the map projection information accordingly. - If
map_projector_info_pathdoes NOT exist, the node assumes that you are using theMGRSprojection type, and loads the lanelet2 map instead to extract the MGRS grid.- DEPRECATED WARNING: This interface that uses the lanelet2 map is not recommended. Please prepare the YAML file instead.
Map projector info file specification
You need to provide a YAML file, namely map_projector_info.yaml under the map_path directory. For pointcloud_map_metadata.yaml, please refer to the Readme of autoware_map_loader.
sample-map-rosbag
├── lanelet2_map.osm
├── pointcloud_map.pcd
├── map_projector_info.yaml
└── pointcloud_map_metadata.yaml
There are three types of transformations from latitude and longitude to XYZ coordinate system as shown in the figure below. Please refer to the following details for the necessary parameters for each projector type.
Using local coordinate
# map_projector_info.yaml
projector_type: Local
Note that even if you input scale_factor, it will be overwritten to 1.0.
The projector_type value is case-sensitive and must be exactly Local. The previously accepted lowercase local is no longer supported and will be rejected.
Limitation
The functionality that requires latitude and longitude will become unavailable.
The currently identified unavailable functionalities are:
- GNSS localization
- Sending the self-position in latitude and longitude using ADAPI
Using MGRS
If you want to use MGRS, please specify the MGRS grid as well.
# map_projector_info.yaml
projector_type: MGRS
vertical_datum: WGS84
mgrs_grid: 54SUE
Note that even if you input scale_factor, it will be overwritten to 0.9996.
Limitation
It cannot be used with maps that span across two or more MGRS grids. Please use it only when it falls within the scope of a single MGRS grid.
Using LocalCartesianUTM
If you want to use local cartesian UTM, please specify the map origin as well.
# map_projector_info.yaml
projector_type: LocalCartesianUTM
vertical_datum: WGS84
map_origin:
latitude: 35.6762 # [deg]
longitude: 139.6503 # [deg]
Note that even if you input scale_factor, it will be overwritten to 0.9996.
Using LocalCartesian
If you want to use local cartesian WGS84, please specify the map origin as well.
Currently LocalCartesian can only be used in lanelet2_map_loader, packages like gnss_poser doesn’t support it right now.
# map_projector_info.yaml
projector_type: LocalCartesian
vertical_datum: WGS84
map_origin:
latitude: 35.6762 # [deg]
longitude: 139.6503 # [deg]
Note that even if you input scale_factor, it will be overwritten to 1.0.
Using TransverseMercator
If you want to use Transverse Mercator projection, please specify the map origin as well. And specify the scale_factor of the map. If you didn’t specify the scale_factor, it will be set 0.9996 as default value.
File truncated at 100 lines see the full file
Changelog for package autoware_map_projection_loader
1.1.0 (2025-05-01)
- feat(component_interface_specs): use template type in get_qos function (#364) Co-authored-by: Yutaka Kondo <<yutaka.kondo@youtalk.jp>>
- feat(map_projection_loader): add scale_factor and remove altitude (#340)
- Contributors: Takagi, Isamu, Yamato Ando
1.10.0 (2026-09-28)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(map): add node designs for the map nodes (#1413)
* feat(map): add node designs for the map nodes Describe the interfaces, parameters and processes of the pointcloud and lanelet2 map loaders, the map hash generator, the lanelet2 map visualizer and the map projection loader as system design node files.
- fix(map): correct description formatting in Lanelet2MapLoader.node.yaml
* refactor(map): rename node designs to match the node class names PointCloudMapLoader and Lanelet2MapVisualization follow the entity naming convention derived from the C++ class names, as in #1335.
* fix(map): declare the MapHashGenerator external API interfaces as remap targets The map hash publisher and the lanelet XML server carry the fixed API names as remap_target, so a system design connects them like any other port and the launcher remaps the node-side names.
* fix(map): update description for map_projector_info to clarify its purpose ---------
-
fix(map): declare the dependencies these packages use (#1370) Each of these packages uses a package it never declares. Either it includes a header of that package, or it names a symbol of it while the header arrives through another dependency. Both build today only because some declared dependency re-exports the owner, so a change in an unrelated repository can break them without anything here changing. The tag follows where the dependency is used: a use in an installed header or in code compiled into the library takes <depend>, one reached only from test/ takes <test_depend>. System libraries are named by the rosdep key this workspace already prefers.
-
refactor([autoware_map_projection_loader]{.title-ref}): keep core logic free of logging (#1310)
- refactor: keep core logic free of logging
- Emit the input paths from the node instead of std::cout
- Drop the deprecated lowercase "local" projector type (now rejected).
- fix: [README.md]{.title-ref}
* fix: separate source file into that of core/ROS-node logic ---------Co-authored-by: Tran Huu Nhat Huy <<29034232+TranHuuNhatHuy@users.noreply.github.com>>
-
feat(map_projection_loader): apply [agnocast_wrapper::Node]{.title-ref} to [map_projection_loader]{.title-ref} (#1202)
- apply agnocast_wrapper::Node
* delete unnecessary comments ---------
-
Contributors: Junya Sasaki, Koichi Imai, Mete Fatih Cırıt, Taekjin LEE, github-actions
1.9.0 (2026-06-24)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
test(autoware_map_projection_loader): add gtest for load_info_from_yaml and load_map_projector_info (#1140) Add a direct C++ gtest suite mirroring test_load_info_from_lanelet2_map.cpp that writes temporary YAML files and asserts the full MapProjectorInfo message contents per projector_type, closing the high-severity coverage gap previously exercised only indirectly by the launch_test files. Covered behaviors:
- MGRS, LocalCartesianUTM, LocalCartesian, Local, TransverseMercator full message contents (vertical_datum, mgrs_grid, map_origin, scale_factor)
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| geographiclib |
| yaml-cpp |
Dependant Packages
| Name | Deps |
|---|---|
| autoware_core_map |
Launch files
- launch/map_projection_loader.launch.xml
-
- param_path [default: $(find-pkg-share autoware_map_projection_loader)/config/map_projection_loader.param.yaml]
- map_projector_info_path
- lanelet2_map_path
Messages
Services
Plugins
Recent questions tagged autoware_map_projection_loader at Robotics Stack Exchange
Package Summary
| Version | 1.10.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/autowarefoundation/autoware_core.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-07 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yamato Ando
- Masahiro Sakamoto
- NGUYEN Viet Anh
- Taiki Yamada
Authors
autoware_map_projection_loader
Feature
autoware_map_projection_loader is responsible for publishing map_projector_info that defines in which kind of coordinate Autoware is operating.
This is necessary information especially when you want to convert from global (geoid) to local coordinate or the other way around.
- If
map_projector_info_pathDOES exist, this node loads it and publishes the map projection information accordingly. - If
map_projector_info_pathdoes NOT exist, the node assumes that you are using theMGRSprojection type, and loads the lanelet2 map instead to extract the MGRS grid.- DEPRECATED WARNING: This interface that uses the lanelet2 map is not recommended. Please prepare the YAML file instead.
Map projector info file specification
You need to provide a YAML file, namely map_projector_info.yaml under the map_path directory. For pointcloud_map_metadata.yaml, please refer to the Readme of autoware_map_loader.
sample-map-rosbag
├── lanelet2_map.osm
├── pointcloud_map.pcd
├── map_projector_info.yaml
└── pointcloud_map_metadata.yaml
There are three types of transformations from latitude and longitude to XYZ coordinate system as shown in the figure below. Please refer to the following details for the necessary parameters for each projector type.
Using local coordinate
# map_projector_info.yaml
projector_type: Local
Note that even if you input scale_factor, it will be overwritten to 1.0.
The projector_type value is case-sensitive and must be exactly Local. The previously accepted lowercase local is no longer supported and will be rejected.
Limitation
The functionality that requires latitude and longitude will become unavailable.
The currently identified unavailable functionalities are:
- GNSS localization
- Sending the self-position in latitude and longitude using ADAPI
Using MGRS
If you want to use MGRS, please specify the MGRS grid as well.
# map_projector_info.yaml
projector_type: MGRS
vertical_datum: WGS84
mgrs_grid: 54SUE
Note that even if you input scale_factor, it will be overwritten to 0.9996.
Limitation
It cannot be used with maps that span across two or more MGRS grids. Please use it only when it falls within the scope of a single MGRS grid.
Using LocalCartesianUTM
If you want to use local cartesian UTM, please specify the map origin as well.
# map_projector_info.yaml
projector_type: LocalCartesianUTM
vertical_datum: WGS84
map_origin:
latitude: 35.6762 # [deg]
longitude: 139.6503 # [deg]
Note that even if you input scale_factor, it will be overwritten to 0.9996.
Using LocalCartesian
If you want to use local cartesian WGS84, please specify the map origin as well.
Currently LocalCartesian can only be used in lanelet2_map_loader, packages like gnss_poser doesn’t support it right now.
# map_projector_info.yaml
projector_type: LocalCartesian
vertical_datum: WGS84
map_origin:
latitude: 35.6762 # [deg]
longitude: 139.6503 # [deg]
Note that even if you input scale_factor, it will be overwritten to 1.0.
Using TransverseMercator
If you want to use Transverse Mercator projection, please specify the map origin as well. And specify the scale_factor of the map. If you didn’t specify the scale_factor, it will be set 0.9996 as default value.
File truncated at 100 lines see the full file
Changelog for package autoware_map_projection_loader
1.1.0 (2025-05-01)
- feat(component_interface_specs): use template type in get_qos function (#364) Co-authored-by: Yutaka Kondo <<yutaka.kondo@youtalk.jp>>
- feat(map_projection_loader): add scale_factor and remove altitude (#340)
- Contributors: Takagi, Isamu, Yamato Ando
1.10.0 (2026-09-28)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(map): add node designs for the map nodes (#1413)
* feat(map): add node designs for the map nodes Describe the interfaces, parameters and processes of the pointcloud and lanelet2 map loaders, the map hash generator, the lanelet2 map visualizer and the map projection loader as system design node files.
- fix(map): correct description formatting in Lanelet2MapLoader.node.yaml
* refactor(map): rename node designs to match the node class names PointCloudMapLoader and Lanelet2MapVisualization follow the entity naming convention derived from the C++ class names, as in #1335.
* fix(map): declare the MapHashGenerator external API interfaces as remap targets The map hash publisher and the lanelet XML server carry the fixed API names as remap_target, so a system design connects them like any other port and the launcher remaps the node-side names.
* fix(map): update description for map_projector_info to clarify its purpose ---------
-
fix(map): declare the dependencies these packages use (#1370) Each of these packages uses a package it never declares. Either it includes a header of that package, or it names a symbol of it while the header arrives through another dependency. Both build today only because some declared dependency re-exports the owner, so a change in an unrelated repository can break them without anything here changing. The tag follows where the dependency is used: a use in an installed header or in code compiled into the library takes <depend>, one reached only from test/ takes <test_depend>. System libraries are named by the rosdep key this workspace already prefers.
-
refactor([autoware_map_projection_loader]{.title-ref}): keep core logic free of logging (#1310)
- refactor: keep core logic free of logging
- Emit the input paths from the node instead of std::cout
- Drop the deprecated lowercase "local" projector type (now rejected).
- fix: [README.md]{.title-ref}
* fix: separate source file into that of core/ROS-node logic ---------Co-authored-by: Tran Huu Nhat Huy <<29034232+TranHuuNhatHuy@users.noreply.github.com>>
-
feat(map_projection_loader): apply [agnocast_wrapper::Node]{.title-ref} to [map_projection_loader]{.title-ref} (#1202)
- apply agnocast_wrapper::Node
* delete unnecessary comments ---------
-
Contributors: Junya Sasaki, Koichi Imai, Mete Fatih Cırıt, Taekjin LEE, github-actions
1.9.0 (2026-06-24)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
test(autoware_map_projection_loader): add gtest for load_info_from_yaml and load_map_projector_info (#1140) Add a direct C++ gtest suite mirroring test_load_info_from_lanelet2_map.cpp that writes temporary YAML files and asserts the full MapProjectorInfo message contents per projector_type, closing the high-severity coverage gap previously exercised only indirectly by the launch_test files. Covered behaviors:
- MGRS, LocalCartesianUTM, LocalCartesian, Local, TransverseMercator full message contents (vertical_datum, mgrs_grid, map_origin, scale_factor)
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| geographiclib |
| yaml-cpp |
Dependant Packages
| Name | Deps |
|---|---|
| autoware_core_map |
Launch files
- launch/map_projection_loader.launch.xml
-
- param_path [default: $(find-pkg-share autoware_map_projection_loader)/config/map_projection_loader.param.yaml]
- map_projector_info_path
- lanelet2_map_path
Messages
Services
Plugins
Recent questions tagged autoware_map_projection_loader at Robotics Stack Exchange
Package Summary
| Version | 1.10.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/autowarefoundation/autoware_core.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-07 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yamato Ando
- Masahiro Sakamoto
- NGUYEN Viet Anh
- Taiki Yamada
Authors
autoware_map_projection_loader
Feature
autoware_map_projection_loader is responsible for publishing map_projector_info that defines in which kind of coordinate Autoware is operating.
This is necessary information especially when you want to convert from global (geoid) to local coordinate or the other way around.
- If
map_projector_info_pathDOES exist, this node loads it and publishes the map projection information accordingly. - If
map_projector_info_pathdoes NOT exist, the node assumes that you are using theMGRSprojection type, and loads the lanelet2 map instead to extract the MGRS grid.- DEPRECATED WARNING: This interface that uses the lanelet2 map is not recommended. Please prepare the YAML file instead.
Map projector info file specification
You need to provide a YAML file, namely map_projector_info.yaml under the map_path directory. For pointcloud_map_metadata.yaml, please refer to the Readme of autoware_map_loader.
sample-map-rosbag
├── lanelet2_map.osm
├── pointcloud_map.pcd
├── map_projector_info.yaml
└── pointcloud_map_metadata.yaml
There are three types of transformations from latitude and longitude to XYZ coordinate system as shown in the figure below. Please refer to the following details for the necessary parameters for each projector type.
Using local coordinate
# map_projector_info.yaml
projector_type: Local
Note that even if you input scale_factor, it will be overwritten to 1.0.
The projector_type value is case-sensitive and must be exactly Local. The previously accepted lowercase local is no longer supported and will be rejected.
Limitation
The functionality that requires latitude and longitude will become unavailable.
The currently identified unavailable functionalities are:
- GNSS localization
- Sending the self-position in latitude and longitude using ADAPI
Using MGRS
If you want to use MGRS, please specify the MGRS grid as well.
# map_projector_info.yaml
projector_type: MGRS
vertical_datum: WGS84
mgrs_grid: 54SUE
Note that even if you input scale_factor, it will be overwritten to 0.9996.
Limitation
It cannot be used with maps that span across two or more MGRS grids. Please use it only when it falls within the scope of a single MGRS grid.
Using LocalCartesianUTM
If you want to use local cartesian UTM, please specify the map origin as well.
# map_projector_info.yaml
projector_type: LocalCartesianUTM
vertical_datum: WGS84
map_origin:
latitude: 35.6762 # [deg]
longitude: 139.6503 # [deg]
Note that even if you input scale_factor, it will be overwritten to 0.9996.
Using LocalCartesian
If you want to use local cartesian WGS84, please specify the map origin as well.
Currently LocalCartesian can only be used in lanelet2_map_loader, packages like gnss_poser doesn’t support it right now.
# map_projector_info.yaml
projector_type: LocalCartesian
vertical_datum: WGS84
map_origin:
latitude: 35.6762 # [deg]
longitude: 139.6503 # [deg]
Note that even if you input scale_factor, it will be overwritten to 1.0.
Using TransverseMercator
If you want to use Transverse Mercator projection, please specify the map origin as well. And specify the scale_factor of the map. If you didn’t specify the scale_factor, it will be set 0.9996 as default value.
File truncated at 100 lines see the full file
Changelog for package autoware_map_projection_loader
1.1.0 (2025-05-01)
- feat(component_interface_specs): use template type in get_qos function (#364) Co-authored-by: Yutaka Kondo <<yutaka.kondo@youtalk.jp>>
- feat(map_projection_loader): add scale_factor and remove altitude (#340)
- Contributors: Takagi, Isamu, Yamato Ando
1.10.0 (2026-09-28)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(map): add node designs for the map nodes (#1413)
* feat(map): add node designs for the map nodes Describe the interfaces, parameters and processes of the pointcloud and lanelet2 map loaders, the map hash generator, the lanelet2 map visualizer and the map projection loader as system design node files.
- fix(map): correct description formatting in Lanelet2MapLoader.node.yaml
* refactor(map): rename node designs to match the node class names PointCloudMapLoader and Lanelet2MapVisualization follow the entity naming convention derived from the C++ class names, as in #1335.
* fix(map): declare the MapHashGenerator external API interfaces as remap targets The map hash publisher and the lanelet XML server carry the fixed API names as remap_target, so a system design connects them like any other port and the launcher remaps the node-side names.
* fix(map): update description for map_projector_info to clarify its purpose ---------
-
fix(map): declare the dependencies these packages use (#1370) Each of these packages uses a package it never declares. Either it includes a header of that package, or it names a symbol of it while the header arrives through another dependency. Both build today only because some declared dependency re-exports the owner, so a change in an unrelated repository can break them without anything here changing. The tag follows where the dependency is used: a use in an installed header or in code compiled into the library takes <depend>, one reached only from test/ takes <test_depend>. System libraries are named by the rosdep key this workspace already prefers.
-
refactor([autoware_map_projection_loader]{.title-ref}): keep core logic free of logging (#1310)
- refactor: keep core logic free of logging
- Emit the input paths from the node instead of std::cout
- Drop the deprecated lowercase "local" projector type (now rejected).
- fix: [README.md]{.title-ref}
* fix: separate source file into that of core/ROS-node logic ---------Co-authored-by: Tran Huu Nhat Huy <<29034232+TranHuuNhatHuy@users.noreply.github.com>>
-
feat(map_projection_loader): apply [agnocast_wrapper::Node]{.title-ref} to [map_projection_loader]{.title-ref} (#1202)
- apply agnocast_wrapper::Node
* delete unnecessary comments ---------
-
Contributors: Junya Sasaki, Koichi Imai, Mete Fatih Cırıt, Taekjin LEE, github-actions
1.9.0 (2026-06-24)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
test(autoware_map_projection_loader): add gtest for load_info_from_yaml and load_map_projector_info (#1140) Add a direct C++ gtest suite mirroring test_load_info_from_lanelet2_map.cpp that writes temporary YAML files and asserts the full MapProjectorInfo message contents per projector_type, closing the high-severity coverage gap previously exercised only indirectly by the launch_test files. Covered behaviors:
- MGRS, LocalCartesianUTM, LocalCartesian, Local, TransverseMercator full message contents (vertical_datum, mgrs_grid, map_origin, scale_factor)
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| geographiclib |
| yaml-cpp |
Dependant Packages
| Name | Deps |
|---|---|
| autoware_core_map |
Launch files
- launch/map_projection_loader.launch.xml
-
- param_path [default: $(find-pkg-share autoware_map_projection_loader)/config/map_projection_loader.param.yaml]
- map_projector_info_path
- lanelet2_map_path
Messages
Services
Plugins
Recent questions tagged autoware_map_projection_loader at Robotics Stack Exchange
Package Summary
| Version | 1.10.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/autowarefoundation/autoware_core.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-07 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yamato Ando
- Masahiro Sakamoto
- NGUYEN Viet Anh
- Taiki Yamada
Authors
autoware_map_projection_loader
Feature
autoware_map_projection_loader is responsible for publishing map_projector_info that defines in which kind of coordinate Autoware is operating.
This is necessary information especially when you want to convert from global (geoid) to local coordinate or the other way around.
- If
map_projector_info_pathDOES exist, this node loads it and publishes the map projection information accordingly. - If
map_projector_info_pathdoes NOT exist, the node assumes that you are using theMGRSprojection type, and loads the lanelet2 map instead to extract the MGRS grid.- DEPRECATED WARNING: This interface that uses the lanelet2 map is not recommended. Please prepare the YAML file instead.
Map projector info file specification
You need to provide a YAML file, namely map_projector_info.yaml under the map_path directory. For pointcloud_map_metadata.yaml, please refer to the Readme of autoware_map_loader.
sample-map-rosbag
├── lanelet2_map.osm
├── pointcloud_map.pcd
├── map_projector_info.yaml
└── pointcloud_map_metadata.yaml
There are three types of transformations from latitude and longitude to XYZ coordinate system as shown in the figure below. Please refer to the following details for the necessary parameters for each projector type.
Using local coordinate
# map_projector_info.yaml
projector_type: Local
Note that even if you input scale_factor, it will be overwritten to 1.0.
The projector_type value is case-sensitive and must be exactly Local. The previously accepted lowercase local is no longer supported and will be rejected.
Limitation
The functionality that requires latitude and longitude will become unavailable.
The currently identified unavailable functionalities are:
- GNSS localization
- Sending the self-position in latitude and longitude using ADAPI
Using MGRS
If you want to use MGRS, please specify the MGRS grid as well.
# map_projector_info.yaml
projector_type: MGRS
vertical_datum: WGS84
mgrs_grid: 54SUE
Note that even if you input scale_factor, it will be overwritten to 0.9996.
Limitation
It cannot be used with maps that span across two or more MGRS grids. Please use it only when it falls within the scope of a single MGRS grid.
Using LocalCartesianUTM
If you want to use local cartesian UTM, please specify the map origin as well.
# map_projector_info.yaml
projector_type: LocalCartesianUTM
vertical_datum: WGS84
map_origin:
latitude: 35.6762 # [deg]
longitude: 139.6503 # [deg]
Note that even if you input scale_factor, it will be overwritten to 0.9996.
Using LocalCartesian
If you want to use local cartesian WGS84, please specify the map origin as well.
Currently LocalCartesian can only be used in lanelet2_map_loader, packages like gnss_poser doesn’t support it right now.
# map_projector_info.yaml
projector_type: LocalCartesian
vertical_datum: WGS84
map_origin:
latitude: 35.6762 # [deg]
longitude: 139.6503 # [deg]
Note that even if you input scale_factor, it will be overwritten to 1.0.
Using TransverseMercator
If you want to use Transverse Mercator projection, please specify the map origin as well. And specify the scale_factor of the map. If you didn’t specify the scale_factor, it will be set 0.9996 as default value.
File truncated at 100 lines see the full file
Changelog for package autoware_map_projection_loader
1.1.0 (2025-05-01)
- feat(component_interface_specs): use template type in get_qos function (#364) Co-authored-by: Yutaka Kondo <<yutaka.kondo@youtalk.jp>>
- feat(map_projection_loader): add scale_factor and remove altitude (#340)
- Contributors: Takagi, Isamu, Yamato Ando
1.10.0 (2026-09-28)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(map): add node designs for the map nodes (#1413)
* feat(map): add node designs for the map nodes Describe the interfaces, parameters and processes of the pointcloud and lanelet2 map loaders, the map hash generator, the lanelet2 map visualizer and the map projection loader as system design node files.
- fix(map): correct description formatting in Lanelet2MapLoader.node.yaml
* refactor(map): rename node designs to match the node class names PointCloudMapLoader and Lanelet2MapVisualization follow the entity naming convention derived from the C++ class names, as in #1335.
* fix(map): declare the MapHashGenerator external API interfaces as remap targets The map hash publisher and the lanelet XML server carry the fixed API names as remap_target, so a system design connects them like any other port and the launcher remaps the node-side names.
* fix(map): update description for map_projector_info to clarify its purpose ---------
-
fix(map): declare the dependencies these packages use (#1370) Each of these packages uses a package it never declares. Either it includes a header of that package, or it names a symbol of it while the header arrives through another dependency. Both build today only because some declared dependency re-exports the owner, so a change in an unrelated repository can break them without anything here changing. The tag follows where the dependency is used: a use in an installed header or in code compiled into the library takes <depend>, one reached only from test/ takes <test_depend>. System libraries are named by the rosdep key this workspace already prefers.
-
refactor([autoware_map_projection_loader]{.title-ref}): keep core logic free of logging (#1310)
- refactor: keep core logic free of logging
- Emit the input paths from the node instead of std::cout
- Drop the deprecated lowercase "local" projector type (now rejected).
- fix: [README.md]{.title-ref}
* fix: separate source file into that of core/ROS-node logic ---------Co-authored-by: Tran Huu Nhat Huy <<29034232+TranHuuNhatHuy@users.noreply.github.com>>
-
feat(map_projection_loader): apply [agnocast_wrapper::Node]{.title-ref} to [map_projection_loader]{.title-ref} (#1202)
- apply agnocast_wrapper::Node
* delete unnecessary comments ---------
-
Contributors: Junya Sasaki, Koichi Imai, Mete Fatih Cırıt, Taekjin LEE, github-actions
1.9.0 (2026-06-24)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
test(autoware_map_projection_loader): add gtest for load_info_from_yaml and load_map_projector_info (#1140) Add a direct C++ gtest suite mirroring test_load_info_from_lanelet2_map.cpp that writes temporary YAML files and asserts the full MapProjectorInfo message contents per projector_type, closing the high-severity coverage gap previously exercised only indirectly by the launch_test files. Covered behaviors:
- MGRS, LocalCartesianUTM, LocalCartesian, Local, TransverseMercator full message contents (vertical_datum, mgrs_grid, map_origin, scale_factor)
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| geographiclib |
| yaml-cpp |
Dependant Packages
| Name | Deps |
|---|---|
| autoware_core_map |
Launch files
- launch/map_projection_loader.launch.xml
-
- param_path [default: $(find-pkg-share autoware_map_projection_loader)/config/map_projection_loader.param.yaml]
- map_projector_info_path
- lanelet2_map_path
Messages
Services
Plugins
Recent questions tagged autoware_map_projection_loader at Robotics Stack Exchange
Package Summary
| Version | 1.10.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/autowarefoundation/autoware_core.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-07 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yamato Ando
- Masahiro Sakamoto
- NGUYEN Viet Anh
- Taiki Yamada
Authors
autoware_map_projection_loader
Feature
autoware_map_projection_loader is responsible for publishing map_projector_info that defines in which kind of coordinate Autoware is operating.
This is necessary information especially when you want to convert from global (geoid) to local coordinate or the other way around.
- If
map_projector_info_pathDOES exist, this node loads it and publishes the map projection information accordingly. - If
map_projector_info_pathdoes NOT exist, the node assumes that you are using theMGRSprojection type, and loads the lanelet2 map instead to extract the MGRS grid.- DEPRECATED WARNING: This interface that uses the lanelet2 map is not recommended. Please prepare the YAML file instead.
Map projector info file specification
You need to provide a YAML file, namely map_projector_info.yaml under the map_path directory. For pointcloud_map_metadata.yaml, please refer to the Readme of autoware_map_loader.
sample-map-rosbag
├── lanelet2_map.osm
├── pointcloud_map.pcd
├── map_projector_info.yaml
└── pointcloud_map_metadata.yaml
There are three types of transformations from latitude and longitude to XYZ coordinate system as shown in the figure below. Please refer to the following details for the necessary parameters for each projector type.
Using local coordinate
# map_projector_info.yaml
projector_type: Local
Note that even if you input scale_factor, it will be overwritten to 1.0.
The projector_type value is case-sensitive and must be exactly Local. The previously accepted lowercase local is no longer supported and will be rejected.
Limitation
The functionality that requires latitude and longitude will become unavailable.
The currently identified unavailable functionalities are:
- GNSS localization
- Sending the self-position in latitude and longitude using ADAPI
Using MGRS
If you want to use MGRS, please specify the MGRS grid as well.
# map_projector_info.yaml
projector_type: MGRS
vertical_datum: WGS84
mgrs_grid: 54SUE
Note that even if you input scale_factor, it will be overwritten to 0.9996.
Limitation
It cannot be used with maps that span across two or more MGRS grids. Please use it only when it falls within the scope of a single MGRS grid.
Using LocalCartesianUTM
If you want to use local cartesian UTM, please specify the map origin as well.
# map_projector_info.yaml
projector_type: LocalCartesianUTM
vertical_datum: WGS84
map_origin:
latitude: 35.6762 # [deg]
longitude: 139.6503 # [deg]
Note that even if you input scale_factor, it will be overwritten to 0.9996.
Using LocalCartesian
If you want to use local cartesian WGS84, please specify the map origin as well.
Currently LocalCartesian can only be used in lanelet2_map_loader, packages like gnss_poser doesn’t support it right now.
# map_projector_info.yaml
projector_type: LocalCartesian
vertical_datum: WGS84
map_origin:
latitude: 35.6762 # [deg]
longitude: 139.6503 # [deg]
Note that even if you input scale_factor, it will be overwritten to 1.0.
Using TransverseMercator
If you want to use Transverse Mercator projection, please specify the map origin as well. And specify the scale_factor of the map. If you didn’t specify the scale_factor, it will be set 0.9996 as default value.
File truncated at 100 lines see the full file
Changelog for package autoware_map_projection_loader
1.1.0 (2025-05-01)
- feat(component_interface_specs): use template type in get_qos function (#364) Co-authored-by: Yutaka Kondo <<yutaka.kondo@youtalk.jp>>
- feat(map_projection_loader): add scale_factor and remove altitude (#340)
- Contributors: Takagi, Isamu, Yamato Ando
1.10.0 (2026-09-28)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(map): add node designs for the map nodes (#1413)
* feat(map): add node designs for the map nodes Describe the interfaces, parameters and processes of the pointcloud and lanelet2 map loaders, the map hash generator, the lanelet2 map visualizer and the map projection loader as system design node files.
- fix(map): correct description formatting in Lanelet2MapLoader.node.yaml
* refactor(map): rename node designs to match the node class names PointCloudMapLoader and Lanelet2MapVisualization follow the entity naming convention derived from the C++ class names, as in #1335.
* fix(map): declare the MapHashGenerator external API interfaces as remap targets The map hash publisher and the lanelet XML server carry the fixed API names as remap_target, so a system design connects them like any other port and the launcher remaps the node-side names.
* fix(map): update description for map_projector_info to clarify its purpose ---------
-
fix(map): declare the dependencies these packages use (#1370) Each of these packages uses a package it never declares. Either it includes a header of that package, or it names a symbol of it while the header arrives through another dependency. Both build today only because some declared dependency re-exports the owner, so a change in an unrelated repository can break them without anything here changing. The tag follows where the dependency is used: a use in an installed header or in code compiled into the library takes <depend>, one reached only from test/ takes <test_depend>. System libraries are named by the rosdep key this workspace already prefers.
-
refactor([autoware_map_projection_loader]{.title-ref}): keep core logic free of logging (#1310)
- refactor: keep core logic free of logging
- Emit the input paths from the node instead of std::cout
- Drop the deprecated lowercase "local" projector type (now rejected).
- fix: [README.md]{.title-ref}
* fix: separate source file into that of core/ROS-node logic ---------Co-authored-by: Tran Huu Nhat Huy <<29034232+TranHuuNhatHuy@users.noreply.github.com>>
-
feat(map_projection_loader): apply [agnocast_wrapper::Node]{.title-ref} to [map_projection_loader]{.title-ref} (#1202)
- apply agnocast_wrapper::Node
* delete unnecessary comments ---------
-
Contributors: Junya Sasaki, Koichi Imai, Mete Fatih Cırıt, Taekjin LEE, github-actions
1.9.0 (2026-06-24)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
test(autoware_map_projection_loader): add gtest for load_info_from_yaml and load_map_projector_info (#1140) Add a direct C++ gtest suite mirroring test_load_info_from_lanelet2_map.cpp that writes temporary YAML files and asserts the full MapProjectorInfo message contents per projector_type, closing the high-severity coverage gap previously exercised only indirectly by the launch_test files. Covered behaviors:
- MGRS, LocalCartesianUTM, LocalCartesian, Local, TransverseMercator full message contents (vertical_datum, mgrs_grid, map_origin, scale_factor)
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| geographiclib |
| yaml-cpp |
Dependant Packages
| Name | Deps |
|---|---|
| autoware_core_map |
Launch files
- launch/map_projection_loader.launch.xml
-
- param_path [default: $(find-pkg-share autoware_map_projection_loader)/config/map_projection_loader.param.yaml]
- map_projector_info_path
- lanelet2_map_path
Messages
Services
Plugins
Recent questions tagged autoware_map_projection_loader at Robotics Stack Exchange
Package Summary
| Version | 1.10.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/autowarefoundation/autoware_core.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-07 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yamato Ando
- Masahiro Sakamoto
- NGUYEN Viet Anh
- Taiki Yamada
Authors
autoware_map_projection_loader
Feature
autoware_map_projection_loader is responsible for publishing map_projector_info that defines in which kind of coordinate Autoware is operating.
This is necessary information especially when you want to convert from global (geoid) to local coordinate or the other way around.
- If
map_projector_info_pathDOES exist, this node loads it and publishes the map projection information accordingly. - If
map_projector_info_pathdoes NOT exist, the node assumes that you are using theMGRSprojection type, and loads the lanelet2 map instead to extract the MGRS grid.- DEPRECATED WARNING: This interface that uses the lanelet2 map is not recommended. Please prepare the YAML file instead.
Map projector info file specification
You need to provide a YAML file, namely map_projector_info.yaml under the map_path directory. For pointcloud_map_metadata.yaml, please refer to the Readme of autoware_map_loader.
sample-map-rosbag
├── lanelet2_map.osm
├── pointcloud_map.pcd
├── map_projector_info.yaml
└── pointcloud_map_metadata.yaml
There are three types of transformations from latitude and longitude to XYZ coordinate system as shown in the figure below. Please refer to the following details for the necessary parameters for each projector type.
Using local coordinate
# map_projector_info.yaml
projector_type: Local
Note that even if you input scale_factor, it will be overwritten to 1.0.
The projector_type value is case-sensitive and must be exactly Local. The previously accepted lowercase local is no longer supported and will be rejected.
Limitation
The functionality that requires latitude and longitude will become unavailable.
The currently identified unavailable functionalities are:
- GNSS localization
- Sending the self-position in latitude and longitude using ADAPI
Using MGRS
If you want to use MGRS, please specify the MGRS grid as well.
# map_projector_info.yaml
projector_type: MGRS
vertical_datum: WGS84
mgrs_grid: 54SUE
Note that even if you input scale_factor, it will be overwritten to 0.9996.
Limitation
It cannot be used with maps that span across two or more MGRS grids. Please use it only when it falls within the scope of a single MGRS grid.
Using LocalCartesianUTM
If you want to use local cartesian UTM, please specify the map origin as well.
# map_projector_info.yaml
projector_type: LocalCartesianUTM
vertical_datum: WGS84
map_origin:
latitude: 35.6762 # [deg]
longitude: 139.6503 # [deg]
Note that even if you input scale_factor, it will be overwritten to 0.9996.
Using LocalCartesian
If you want to use local cartesian WGS84, please specify the map origin as well.
Currently LocalCartesian can only be used in lanelet2_map_loader, packages like gnss_poser doesn’t support it right now.
# map_projector_info.yaml
projector_type: LocalCartesian
vertical_datum: WGS84
map_origin:
latitude: 35.6762 # [deg]
longitude: 139.6503 # [deg]
Note that even if you input scale_factor, it will be overwritten to 1.0.
Using TransverseMercator
If you want to use Transverse Mercator projection, please specify the map origin as well. And specify the scale_factor of the map. If you didn’t specify the scale_factor, it will be set 0.9996 as default value.
File truncated at 100 lines see the full file
Changelog for package autoware_map_projection_loader
1.1.0 (2025-05-01)
- feat(component_interface_specs): use template type in get_qos function (#364) Co-authored-by: Yutaka Kondo <<yutaka.kondo@youtalk.jp>>
- feat(map_projection_loader): add scale_factor and remove altitude (#340)
- Contributors: Takagi, Isamu, Yamato Ando
1.10.0 (2026-09-28)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(map): add node designs for the map nodes (#1413)
* feat(map): add node designs for the map nodes Describe the interfaces, parameters and processes of the pointcloud and lanelet2 map loaders, the map hash generator, the lanelet2 map visualizer and the map projection loader as system design node files.
- fix(map): correct description formatting in Lanelet2MapLoader.node.yaml
* refactor(map): rename node designs to match the node class names PointCloudMapLoader and Lanelet2MapVisualization follow the entity naming convention derived from the C++ class names, as in #1335.
* fix(map): declare the MapHashGenerator external API interfaces as remap targets The map hash publisher and the lanelet XML server carry the fixed API names as remap_target, so a system design connects them like any other port and the launcher remaps the node-side names.
* fix(map): update description for map_projector_info to clarify its purpose ---------
-
fix(map): declare the dependencies these packages use (#1370) Each of these packages uses a package it never declares. Either it includes a header of that package, or it names a symbol of it while the header arrives through another dependency. Both build today only because some declared dependency re-exports the owner, so a change in an unrelated repository can break them without anything here changing. The tag follows where the dependency is used: a use in an installed header or in code compiled into the library takes <depend>, one reached only from test/ takes <test_depend>. System libraries are named by the rosdep key this workspace already prefers.
-
refactor([autoware_map_projection_loader]{.title-ref}): keep core logic free of logging (#1310)
- refactor: keep core logic free of logging
- Emit the input paths from the node instead of std::cout
- Drop the deprecated lowercase "local" projector type (now rejected).
- fix: [README.md]{.title-ref}
* fix: separate source file into that of core/ROS-node logic ---------Co-authored-by: Tran Huu Nhat Huy <<29034232+TranHuuNhatHuy@users.noreply.github.com>>
-
feat(map_projection_loader): apply [agnocast_wrapper::Node]{.title-ref} to [map_projection_loader]{.title-ref} (#1202)
- apply agnocast_wrapper::Node
* delete unnecessary comments ---------
-
Contributors: Junya Sasaki, Koichi Imai, Mete Fatih Cırıt, Taekjin LEE, github-actions
1.9.0 (2026-06-24)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
test(autoware_map_projection_loader): add gtest for load_info_from_yaml and load_map_projector_info (#1140) Add a direct C++ gtest suite mirroring test_load_info_from_lanelet2_map.cpp that writes temporary YAML files and asserts the full MapProjectorInfo message contents per projector_type, closing the high-severity coverage gap previously exercised only indirectly by the launch_test files. Covered behaviors:
- MGRS, LocalCartesianUTM, LocalCartesian, Local, TransverseMercator full message contents (vertical_datum, mgrs_grid, map_origin, scale_factor)
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| geographiclib |
| yaml-cpp |
Dependant Packages
| Name | Deps |
|---|---|
| autoware_core_map |
Launch files
- launch/map_projection_loader.launch.xml
-
- param_path [default: $(find-pkg-share autoware_map_projection_loader)/config/map_projection_loader.param.yaml]
- map_projector_info_path
- lanelet2_map_path
Messages
Services
Plugins
Recent questions tagged autoware_map_projection_loader at Robotics Stack Exchange
Package Summary
| Version | 1.10.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Checkout URI | https://github.com/autowarefoundation/autoware_core.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-07 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Yamato Ando
- Masahiro Sakamoto
- NGUYEN Viet Anh
- Taiki Yamada
Authors
autoware_map_projection_loader
Feature
autoware_map_projection_loader is responsible for publishing map_projector_info that defines in which kind of coordinate Autoware is operating.
This is necessary information especially when you want to convert from global (geoid) to local coordinate or the other way around.
- If
map_projector_info_pathDOES exist, this node loads it and publishes the map projection information accordingly. - If
map_projector_info_pathdoes NOT exist, the node assumes that you are using theMGRSprojection type, and loads the lanelet2 map instead to extract the MGRS grid.- DEPRECATED WARNING: This interface that uses the lanelet2 map is not recommended. Please prepare the YAML file instead.
Map projector info file specification
You need to provide a YAML file, namely map_projector_info.yaml under the map_path directory. For pointcloud_map_metadata.yaml, please refer to the Readme of autoware_map_loader.
sample-map-rosbag
├── lanelet2_map.osm
├── pointcloud_map.pcd
├── map_projector_info.yaml
└── pointcloud_map_metadata.yaml
There are three types of transformations from latitude and longitude to XYZ coordinate system as shown in the figure below. Please refer to the following details for the necessary parameters for each projector type.
Using local coordinate
# map_projector_info.yaml
projector_type: Local
Note that even if you input scale_factor, it will be overwritten to 1.0.
The projector_type value is case-sensitive and must be exactly Local. The previously accepted lowercase local is no longer supported and will be rejected.
Limitation
The functionality that requires latitude and longitude will become unavailable.
The currently identified unavailable functionalities are:
- GNSS localization
- Sending the self-position in latitude and longitude using ADAPI
Using MGRS
If you want to use MGRS, please specify the MGRS grid as well.
# map_projector_info.yaml
projector_type: MGRS
vertical_datum: WGS84
mgrs_grid: 54SUE
Note that even if you input scale_factor, it will be overwritten to 0.9996.
Limitation
It cannot be used with maps that span across two or more MGRS grids. Please use it only when it falls within the scope of a single MGRS grid.
Using LocalCartesianUTM
If you want to use local cartesian UTM, please specify the map origin as well.
# map_projector_info.yaml
projector_type: LocalCartesianUTM
vertical_datum: WGS84
map_origin:
latitude: 35.6762 # [deg]
longitude: 139.6503 # [deg]
Note that even if you input scale_factor, it will be overwritten to 0.9996.
Using LocalCartesian
If you want to use local cartesian WGS84, please specify the map origin as well.
Currently LocalCartesian can only be used in lanelet2_map_loader, packages like gnss_poser doesn’t support it right now.
# map_projector_info.yaml
projector_type: LocalCartesian
vertical_datum: WGS84
map_origin:
latitude: 35.6762 # [deg]
longitude: 139.6503 # [deg]
Note that even if you input scale_factor, it will be overwritten to 1.0.
Using TransverseMercator
If you want to use Transverse Mercator projection, please specify the map origin as well. And specify the scale_factor of the map. If you didn’t specify the scale_factor, it will be set 0.9996 as default value.
File truncated at 100 lines see the full file
Changelog for package autoware_map_projection_loader
1.1.0 (2025-05-01)
- feat(component_interface_specs): use template type in get_qos function (#364) Co-authored-by: Yutaka Kondo <<yutaka.kondo@youtalk.jp>>
- feat(map_projection_loader): add scale_factor and remove altitude (#340)
- Contributors: Takagi, Isamu, Yamato Ando
1.10.0 (2026-09-28)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
feat(map): add node designs for the map nodes (#1413)
* feat(map): add node designs for the map nodes Describe the interfaces, parameters and processes of the pointcloud and lanelet2 map loaders, the map hash generator, the lanelet2 map visualizer and the map projection loader as system design node files.
- fix(map): correct description formatting in Lanelet2MapLoader.node.yaml
* refactor(map): rename node designs to match the node class names PointCloudMapLoader and Lanelet2MapVisualization follow the entity naming convention derived from the C++ class names, as in #1335.
* fix(map): declare the MapHashGenerator external API interfaces as remap targets The map hash publisher and the lanelet XML server carry the fixed API names as remap_target, so a system design connects them like any other port and the launcher remaps the node-side names.
* fix(map): update description for map_projector_info to clarify its purpose ---------
-
fix(map): declare the dependencies these packages use (#1370) Each of these packages uses a package it never declares. Either it includes a header of that package, or it names a symbol of it while the header arrives through another dependency. Both build today only because some declared dependency re-exports the owner, so a change in an unrelated repository can break them without anything here changing. The tag follows where the dependency is used: a use in an installed header or in code compiled into the library takes <depend>, one reached only from test/ takes <test_depend>. System libraries are named by the rosdep key this workspace already prefers.
-
refactor([autoware_map_projection_loader]{.title-ref}): keep core logic free of logging (#1310)
- refactor: keep core logic free of logging
- Emit the input paths from the node instead of std::cout
- Drop the deprecated lowercase "local" projector type (now rejected).
- fix: [README.md]{.title-ref}
* fix: separate source file into that of core/ROS-node logic ---------Co-authored-by: Tran Huu Nhat Huy <<29034232+TranHuuNhatHuy@users.noreply.github.com>>
-
feat(map_projection_loader): apply [agnocast_wrapper::Node]{.title-ref} to [map_projection_loader]{.title-ref} (#1202)
- apply agnocast_wrapper::Node
* delete unnecessary comments ---------
-
Contributors: Junya Sasaki, Koichi Imai, Mete Fatih Cırıt, Taekjin LEE, github-actions
1.9.0 (2026-06-24)
-
Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base
-
test(autoware_map_projection_loader): add gtest for load_info_from_yaml and load_map_projector_info (#1140) Add a direct C++ gtest suite mirroring test_load_info_from_lanelet2_map.cpp that writes temporary YAML files and asserts the full MapProjectorInfo message contents per projector_type, closing the high-severity coverage gap previously exercised only indirectly by the launch_test files. Covered behaviors:
- MGRS, LocalCartesianUTM, LocalCartesian, Local, TransverseMercator full message contents (vertical_datum, mgrs_grid, map_origin, scale_factor)
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| geographiclib |
| yaml-cpp |
Dependant Packages
| Name | Deps |
|---|---|
| autoware_core_map |
Launch files
- launch/map_projection_loader.launch.xml
-
- param_path [default: $(find-pkg-share autoware_map_projection_loader)/config/map_projection_loader.param.yaml]
- map_projector_info_path
- lanelet2_map_path