diff --git a/hoot-core/src/main/cpp/hoot/core/conflate/highway/HighwaySnapMerger.cpp b/hoot-core/src/main/cpp/hoot/core/conflate/highway/HighwaySnapMerger.cpp
index ad58440..d91469f 100644
--- a/hoot-core/src/main/cpp/hoot/core/conflate/highway/HighwaySnapMerger.cpp
+++ b/hoot-core/src/main/cpp/hoot/core/conflate/highway/HighwaySnapMerger.cpp
@@ -79,7 +79,10 @@ int HighwaySnapMerger::logWarnCount = 0;
HighwaySnapMerger::HighwaySnapMerger() :
HighwayMergerAbstract(),
-_matchedBy(HighwayMatch::MATCH_NAME)
+_matchedBy(HighwayMatch::MATCH_NAME),
+// ENABLE THE OsmMapWriterFactory::writeDebugMap CALLS FOR SMALL DATASETS DURING DEBUGGING ONLY.
+// writes a map file for each road merge
+_writeDebugMaps(false)
{
}
@@ -89,7 +92,9 @@ HighwaySnapMerger::HighwaySnapMerger(
_removeTagsFromWayMembers(true),
_markAddedMultilineStringRelations(false),
_sublineMatcher(sublineMatcher),
-_matchedBy(HighwayMatch::MATCH_NAME)
+_matchedBy(HighwayMatch::MATCH_NAME),
+// see note above
+_writeDebugMaps(false)
{
_pairs = pairs;
LOG_VART(_pairs);
@@ -201,14 +206,11 @@ bool HighwaySnapMerger::_mergePair(const OsmMapPtr& map, ElementId eid1, Element
{
// TODO: This monster method needs to be refactored into smaller parts where possible.
- // ENABLE THE OsmMapWriterFactory::writeDebugMap CALLS FOR SMALL DATASETS DURING DEBUGGING ONLY.
- // writes a map file for each road merge
-
LOG_VART(eid1);
//LOG_VART(map->getElement(eid1));
LOG_VART(eid2);
//LOG_VART(map->getElement(eid2));
- //const QString eidLogString = "-" + eid1.toString() + "-" + eid2.toString();
+ const QString eidLogString = "-" + eid1.toString() + "-" + eid2.toString();
if (HighwayMergerAbstract::_mergePair(map, eid1, eid2, replaced))
{
@@ -246,8 +248,11 @@ bool HighwaySnapMerger::_mergePair(const OsmMapPtr& map, ElementId eid1, Element
// remove the second element and any reviews that contain the element
RemoveReviewsByEidOp(remove->getElementId(), true).apply(result);
- //OsmMapWriterFactory::writeDebugMap(
- //map, "HighwaySnapMerger-merged-identical-elements" + eidLogString);
+ if (_writeDebugMaps)
+ {
+ OsmMapWriterFactory::writeDebugMap(
+ map, "HighwaySnapMerger-merged-identical-elements" + eidLogString);
+ }
return false;
}
@@ -281,14 +286,20 @@ bool HighwaySnapMerger::_mergePair(const OsmMapPtr& map, ElementId eid1, Element
ElementPtr e2Match;
ElementPtr scraps1;
ElementPtr scraps2;
- // split the first element and don't reverse any of the geometries.
+ // Split the first element and don't reverse any of the geometries.
_splitElement(map, match.getSublineString1(), match.getReverseVector1(), replaced, e1, e1Match,
scraps1);
- //OsmMapWriterFactory::writeDebugMap(map, "HighwaySnapMerger-after-split-1" + eidLogString);
- // split the second element and reverse any geometries to make the matches work.
+ if (_writeDebugMaps)
+ {
+ OsmMapWriterFactory::writeDebugMap(map, "HighwaySnapMerger-after-split-1" + eidLogString);
+ }
+ // Split the second element and reverse any geometries to make the matches work.
_splitElement(map, match.getSublineString2(), match.getReverseVector2(), replaced, e2, e2Match,
scraps2);
- //OsmMapWriterFactory::writeDebugMap(map, "HighwaySnapMerger-after-split-2" + eidLogString);
+ if (_writeDebugMaps)
+ {
+ OsmMapWriterFactory::writeDebugMap(map, "HighwaySnapMerger-after-split-2" + eidLogString);
+ }
LOG_VART(e1Match->getElementId());
if (scraps1)
@@ -311,9 +322,15 @@ bool HighwaySnapMerger::_mergePair(const OsmMapPtr& map, ElementId eid1, Element
// remove any ways that directly connect from e1Match to e2Match
_removeSpans(result, e1Match, e2Match);
- //OsmMapWriterFactory::writeDebugMap(map, "HighwaySnapMerger-after-remove-spans" + eidLogString);
+ if (_writeDebugMaps)
+ {
+ OsmMapWriterFactory::writeDebugMap(map, "HighwaySnapMerger-after-remove-spans" + eidLogString);
+ }
_snapEnds(map, e2Match, e1Match);
- //OsmMapWriterFactory::writeDebugMap(map, "HighwaySnapMerger-after-snap-ends" + eidLogString);
+ if (_writeDebugMaps)
+ {
+ OsmMapWriterFactory::writeDebugMap(map, "HighwaySnapMerger-after-snap-ends" + eidLogString);
+ }
if (e1Match)
{
@@ -347,7 +364,10 @@ bool HighwaySnapMerger::_mergePair(const OsmMapPtr& map, ElementId eid1, Element
LOG_VART(e1Match->getElementType());
LOG_VART(e1->getElementId());
LOG_VART(e2->getElementId());
- //OsmMapWriterFactory::writeDebugMap(map, "HighwaySnapMerger-after-tag-merging" + eidLogString);
+ if (_writeDebugMaps)
+ {
+ OsmMapWriterFactory::writeDebugMap(map, "HighwaySnapMerger-after-tag-merging" + eidLogString);
+ }
bool swapWayIds = false;
@@ -524,8 +544,11 @@ bool HighwaySnapMerger::_mergePair(const OsmMapPtr& map, ElementId eid1, Element
LOG_TRACE("Removing e1: " << eid1 << "...");
RemoveReviewsByEidOp(eid1, true).apply(result);
}
- //OsmMapWriterFactory::writeDebugMap(
- //map, "HighwaySnapMerger-after-old-way-removal-1" + eidLogString);
+ if (_writeDebugMaps)
+ {
+ OsmMapWriterFactory::writeDebugMap(
+ map, "HighwaySnapMerger-after-old-way-removal-1" + eidLogString);
+ }
// If there is something left to review against,
if (scraps2)
@@ -577,8 +600,11 @@ bool HighwaySnapMerger::_mergePair(const OsmMapPtr& map, ElementId eid1, Element
// remove reviews e2 is involved in
RemoveReviewsByEidOp(eid2, true).apply(result);
}
- //OsmMapWriterFactory::writeDebugMap(
- //map, "HighwaySnapMerger-after-old-way-removal-2" + eidLogString);
+ if (_writeDebugMaps)
+ {
+ OsmMapWriterFactory::writeDebugMap(
+ map, "HighwaySnapMerger-after-old-way-removal-2" + eidLogString);
+ }
if (e1Match)
{