Skip to content

Adaption to match new maploader feature WFS-downloader#5

Merged
akoerner1 merged 1 commit intoeclipse-adore:mainfrom
s0nofab1t:feature/wfs-downloader
Mar 10, 2026
Merged

Adaption to match new maploader feature WFS-downloader#5
akoerner1 merged 1 commit intoeclipse-adore:mainfrom
s0nofab1t:feature/wfs-downloader

Conversation

@s0nofab1t
Copy link
Copy Markdown
Contributor

Slight adaption of CMakeLists.txt to match new maploader feature WFS-downloader (I added just one line).

This PR is related to PR 5 of adore_map, and to PR 83 of adore.

It must be merged before PR 83 of adore can be merged successfully.

Signed-off-by: s0nofab1t <ruediger.ebendt@dlr.de>
@akoerner1 akoerner1 merged commit 85f40f5 into eclipse-adore:main Mar 10, 2026
1 check passed
akoerner1 pushed a commit to eclipse-adore/adore that referenced this pull request Mar 12, 2026
)

## Description

For a brief description of the feature in question (a WFS map
downloader) please see [PR
5](eclipse-adore/adore_map#5).

This PR: Adds a new vendor library
([vpetrigo/caches](https://github.com/vpetrigo/caches)) as submodule
(vendor/caches). Since the CMakeLists.txt file needed to be adapted to
ADORes new build system, I applied the necessary changes in a fork under
my own github account. File .gitmodules currently links to this fork as
submodule - feel free to change this to a respective fork of someone in
the core team at any time.

## Type of Change

Please delete options that are not relevant:

- [ ] Bug fix (non-breaking change which fixes an issue)
- [x] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- [ ] Documentation update (adds or updates documentation)
- [ ] Refactor (non-breaking change for code readability/structure)
- [ ] Other (please describe):

## Checklist

- [x] I have performed a self-review of my own code.
- [x] I have signed and submitted the Eclipse Foundation Contributors
Agreement: https://www.eclipse.org/legal/eca/.
- [x] My last commit was made with the `--signoff` flag as required by
the Eclipse Foundation.
- [x] I have commented my code, particularly in hard-to-understand areas
and provided a README.md when necessary.
- [x] I have added tests that prove my fix is effective or that my
feature works.
- [x] Tests pass locally with my changes: (run 'make test' on the ADORe
project root to run unit tests).
- [ ] I have updated the documentation in
`documentation/technical_reference_manual` where necessary.
- [x] I have updated the `THIRD-PARTY.md` if I have introduced new
third-party libraries or dependencies to the project.
- [ ] I have updated the `CONTRIBUTERS.md` if I wish to acknowledged for
my contribution.

## How Has This Been Tested?

Please describe the tests that you ran to verify your changes. Provide
instructions so others can reproduce.

1) Standalone tests actually accessing the test server (please provide
the password in
adore/adore_test_programs/adore_map_downloader_test/config/r2s_wfs_config_bs.json):

- Test of the basic functionality of the WFS downloader (please see
adore/adore_test_programs/adore_map_downloader_test/basic_map_loading_from_wfs_test.cpp,
please simply call the executable without any parameters)
- Test downloading a map in Road2Simulation format in two ways: a) with
the existing Python legacy as CSV, and b) with the new feature as
GeoJSON, and then comparing the resulting roads and lanes from both
downloads. Apart from a maximum difference in coordinates of 2e-6 (which
are due to different implementations of rounding to six decimal places),
a) and b) yielded the same data (please see
adore/adore_test_programs/adore_map_downloader_test/r2s_loading_from_wfs_test.cpp,
please simply call the executable without any parameters).

2) Unit tests with google test (please see
adore/adore_libraries/adore_map/test/map_download_cache_test.cpp): These
unit tests perform essentially the same tests as the two standalone test
programs described in the last paragraph - with the difference, that the
newly implemented map cache is used (and therefore no actual accesses to
the test server take place). Success can thus always be expected.

- Remark 1: Note that success of the standalone tests under 1) can only
be expected if the test server is available / not currently under
maintenance / migration etc.
- Remark 2: Since the build system change, you replaced everything with
unit tests based on the google test framework (hence there are no
standalone test programs anymore). However, I think this should not be
done with testing an actual access to a test server, which may be down
for several reasons. If it is down for e.g. maintenance, this would
break the related unit tests. So I re-introduced a directory
adore/adore_test_programs (also added it under
.docker/scripts/setup_colcon_src.sh), and put the above two standalone
tests there. Please consider this as a suggestion only. If you rather
would like to strictly avoid standalone test programs in future, please
just tell so in your review, and I'll simply take them out.

Please kindly review and let me know of any changes you need.

**Test Configuration**:
- OS: Ubuntu Linux (Noble Numbat)
- Docker Version: 28.4.0

## Screenshots (if applicable)

Include any relevant screenshots or videos to demonstrate the
feature/fix.

## Related Issues

List related issues or PRs that are connected to this PR.

- [PR 5 of
adore_map](eclipse-adore/adore_map#5): The
actual feature implementation. This PR has already been merged, thanks!

The following PRs must all be merged before this PR can be updated
accordingly, and merged:

- [PR 6 of adore_map](eclipse-adore/adore_map#6)
- [PR 6 pf
adore_dynamics](eclipse-adore/adore_dynamics#6)
- [PR 5 of
adore_planning](eclipse-adore/adore_planning#5)
- [PR 12 of
adore_decision_maker](eclipse-adore/adore_decision_maker#12)
- [PR 14 of
adore_visualizer](eclipse-adore/adore_visualizer#14)
- [PR 7 of
adore_simulated_vehicle](eclipse-adore/adore_simulated_vehicle#7)
- [PR 3 of
adore_map_conversions](eclipse-adore/adore_map_conversions#3)
- [PR 4 of
adore_dynamics_conversions](eclipse-adore/adore_dynamics_conversions#4)
- [PR 17 of
adore_if_carla](eclipse-adore/adore_if_carla#17)
- [PR 6 of
adore_controllers](eclipse-adore/adore_controllers#6)
- [PR 5 of
adore_trajectory_tracker](eclipse-adore/adore_trajectory_tracker#5)
- [PR 4 of
adore_mission_control](eclipse-adore/adore_mission_control#4)
- [PR 5 of
adore_decision_maker_infrastructure](eclipse-adore/adore_decision_maker_infrastructure#5)

They all just add one more line to the respective CMakeLists.txt files.
This is needed to fix an issue with the caches library (see below in the
comments).

## Notes for Reviewers

See remarks above under "How Has This Been Tested?".

Add any context, screenshots, or additional information for reviewers.

---------

Signed-off-by: s0nofab1t <ruediger.ebendt@dlr.de>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants