v0.2.54..v0.2.55 changeset RemoveInvalidMultilineStringMembersVisitor.cpp
Garret Voltz edited this page Aug 14, 2020
·
1 revision
diff --git a/hoot-core/src/main/cpp/hoot/core/visitors/RemoveInvalidMultilineStringMembersVisitor.cpp b/hoot-core/src/main/cpp/hoot/core/visitors/RemoveInvalidMultilineStringMembersVisitor.cpp
index 729ba51..a4ca10f 100644
--- a/hoot-core/src/main/cpp/hoot/core/visitors/RemoveInvalidMultilineStringMembersVisitor.cpp
+++ b/hoot-core/src/main/cpp/hoot/core/visitors/RemoveInvalidMultilineStringMembersVisitor.cpp
@@ -22,13 +22,12 @@
* This will properly maintain the copyright information. DigitalGlobe
* copyrights will be updated automatically.
*
- * @copyright Copyright (C) 2017, 2018, 2019 DigitalGlobe (http://www.digitalglobe.com/)
+ * @copyright Copyright (C) 2017, 2018, 2019, 2020 DigitalGlobe (http://www.digitalglobe.com/)
*/
#include "RemoveInvalidMultilineStringMembersVisitor.h"
// hoot
-#include <hoot/core/elements/OsmMap.h>
#include <hoot/core/util/Factory.h>
#include <hoot/core/ops/RemoveRelationByEid.h>
#include <hoot/core/schema/TagMergerFactory.h>
@@ -41,7 +40,8 @@ namespace hoot
HOOT_FACTORY_REGISTER(ElementVisitor, RemoveInvalidMultilineStringMembersVisitor)
-RemoveInvalidMultilineStringMembersVisitor::RemoveInvalidMultilineStringMembersVisitor()
+RemoveInvalidMultilineStringMembersVisitor::RemoveInvalidMultilineStringMembersVisitor() :
+_taskStatusUpdateInterval(ConfigOptions().getTaskStatusUpdateInterval())
{
}
@@ -68,7 +68,7 @@ void RemoveInvalidMultilineStringMembersVisitor::visit(const ElementPtr& e)
const double expansion = r->getCircularError() / 2.0;
OsmMapPtr map(_map->shared_from_this());
- // Multiline strings that are a part of a review relation are what we are targetting for
+ // Multiline strings that are a part of a review relation are what we are targeting for
// replacement
set<ElementId> parents = map->getParents(r->getElementId());
for (set<ElementId>::iterator it = parents.begin(); it != parents.end(); ++it)
@@ -125,6 +125,7 @@ void RemoveInvalidMultilineStringMembersVisitor::visit(const ElementPtr& e)
{
LOG_TRACE("Removing: " << r->getElementId() << "...");
rev->removeElement(r->getElementId());
+ _numAffected++;
}
}
}
@@ -149,8 +150,18 @@ void RemoveInvalidMultilineStringMembersVisitor::visit(const ElementPtr& e)
r->removeElement(id);
}
RemoveRelationByEid::removeRelation(map, r->getId());
+ _numAffected++;
}
}
+
+ _numProcessed++;
+ if (_numProcessed % (_taskStatusUpdateInterval * 10) == 0)
+ {
+ PROGRESS_INFO(
+ "\tRemoved " << StringUtils::formatLargeNumber(_numAffected) << " invalid " <<
+ "relations / " << StringUtils::formatLargeNumber(_map->getRelationCount()) <<
+ " total relations.");
+ }
}
}