hootenanny
hootenanny copied to clipboard
WaySplitter/Merger Issue
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).
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.