hootenanny icon indicating copy to clipboard operation
hootenanny copied to clipboard

WaySplitter/Merger Issue

Open bmarchant opened this issue 2 years ago • 0 comments

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.

bmarchant avatar Apr 20 '22 20:04 bmarchant