Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WaySplitter/Merger Issue #5331

Closed
bmarchant opened this issue Apr 20, 2022 · 2 comments
Closed

WaySplitter/Merger Issue #5331

bmarchant opened this issue Apr 20, 2022 · 2 comments

Comments

@bmarchant
Copy link
Contributor

While fixing bridge conflation (#5325) I found that some ways aren't merged correctly. This happens in the ServiceDiffConflateBounds1Test.sh unit test. The "bridge" error used to mask the duplicate way by running a replace operation on the way even though the way already existed.

This test "converts" two files to the database and then conflates them. Below are the two input .osm files, unit_test_ref.osm is the reference data and unit_test_sec.osm is the secondary data.
unit_test_files.zip

This conflation command will exhibit the issue:

hoot conflate --error -C UnifyingAlgorithm.conf -C ReferenceConflation.conf -C Testing.conf \
 -D uuid.helper.repeatable=true -D debug.maps.write=true -D writer.include.debug.tags=true \
 -D reader.add.source.datetime=false -D writer.include.circular.error.tags=false \
 -D bounds=-117.729492166,40.9881915574,-117.718505838,40.996484138672 \
 -D bounds.output.file=unit_test_bounds.osm -D conflate.use.data.source.ids.1=true \
 -D conflate.use.data.source.ids.2=true \
 unit_test_ref.osm unit_test_sec.osm unit_test_conflated.osm

In the output both ways 6624 and 217218 are almost identical. 6624 has an additional node and is conflated while 217218 is status 1 (reference data).
image

In the end, way 217218 is a "duplicate" and should be removed. Prior to #5328 it was because of the bug in the way joiner but now it is preserved and should be eliminated in the merger code.

@mschicker
Copy link
Contributor

I think this issue might be erroneous.

It looks like the files in the above test data (unit_test_files.zip) are different from the files referenced by ServiceDiffConflateBounds1Test.sh

In particular, the reference file unit_test_ref.osm contains both ways 6624 and 217218... so when I run the conflation, they both appear in the output (and are mostly duplicates - as noted above)

BUT way 217218 is not in either of the files referenced by the original test: test-files/cmd/glacial/serial/ServiceDiffConflateBoundsTest/Input1.osm or test-files/cmd/glacial/serial/ServiceDiffConflateBoundsTest/Input2.osm

I think the setup here is the result of a squirrely test environment, and in the given case, the duplicate ways are both in the "ref" map. I don't think hoot is expected to find and remove dupes in the ref layer... is it?

@bmarchant
Copy link
Contributor Author

Looks like it is OBE then. Thanks @mschicker for taking a look at it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants