Skip to content

v0.2.54..v0.2.55 changeset RoadCrossingPolyReviewMarker.cpp

Garret Voltz edited this page Aug 14, 2020 · 1 revision
diff --git a/hoot-core/src/main/cpp/hoot/core/ops/RoadCrossingPolyReviewMarker.cpp b/hoot-core/src/main/cpp/hoot/core/ops/RoadCrossingPolyReviewMarker.cpp
index e70be2c..eecf7e4 100644
--- a/hoot-core/src/main/cpp/hoot/core/ops/RoadCrossingPolyReviewMarker.cpp
+++ b/hoot-core/src/main/cpp/hoot/core/ops/RoadCrossingPolyReviewMarker.cpp
@@ -32,7 +32,7 @@
 #include <hoot/core/util/Log.h>
 #include <hoot/core/visitors/SpatialIndexer.h>
 #include <hoot/core/criterion/HighwayCriterion.h>
-#include <hoot/core/elements/OsmUtils.h>
+#include <hoot/core/elements/ElementGeometryUtils.h>
 #include <hoot/core/conflate/review/ReviewMarker.h>
 #include <hoot/core/conflate/highway/HighwayMatch.h>
 #include <hoot/core/elements/Way.h>
@@ -56,9 +56,9 @@ void RoadCrossingPolyReviewMarker::setConfiguration(const Settings& conf)
 
 void RoadCrossingPolyReviewMarker::apply(const OsmMapPtr& map)
 {
-  _numAffected = 0;
-  _numProcessed = 0;
-  _numRoads = 0;
+  _numAffected = 0; // roads we mark for review
+  _numProcessed = 0; // all ways
+  _numRoads = 0; // all roads
   _map = map;
   _markedRoads.clear();
   _crossingRules = RoadCrossingPolyRule::readRules(_crossingRulesFile, _map);
@@ -104,25 +104,13 @@ void RoadCrossingPolyReviewMarker::apply(const OsmMapPtr& map)
 
             // if the road intersects the poly, flag it for review
             if (neighbor && rule.getPolyFilter()->isSatisfied(neighbor) &&
-                OsmUtils::haveGeometricRelationship(
+                ElementGeometryUtils::haveGeometricRelationship(
                   way, neighbor, GeometricRelationship::Crosses, _map))
             {
               LOG_TRACE("Marking " << way->getElementId() << " for review...");
               LOG_VART(way);
               LOG_VART(rule.getPolyFilterString());
               LOG_VART(rule.getAllowedRoadTagFilterString());
-//              LOG_VART(
-//                OsmUtils::haveGeometricRelationship(
-//                  way, neighbor, GeometricRelationship::Overlaps, _map));
-//              LOG_VART(
-//                OsmUtils::haveGeometricRelationship(
-//                  way, neighbor, GeometricRelationship::Crosses, _map));
-//              LOG_VART(
-//                OsmUtils::haveGeometricRelationship(
-//                  way, neighbor, GeometricRelationship::Overlaps, _map));
-//              LOG_VART(
-//                OsmUtils::haveGeometricRelationship(
-//                  way, neighbor, GeometricRelationship::Touches, _map));
 
               reviewMarker.mark(
                 _map, way,
@@ -139,14 +127,21 @@ void RoadCrossingPolyReviewMarker::apply(const OsmMapPtr& map)
     }
 
     _numProcessed++;
-    if (_numProcessed % _taskStatusUpdateInterval == 0)
+    if (_numProcessed % (_taskStatusUpdateInterval * 10) == 0)
     {
       PROGRESS_INFO(
         "\tMarked " << StringUtils::formatLargeNumber(_numAffected) << " crossing roads for " <<
         "review out of " << StringUtils::formatLargeNumber(_numRoads) << " total roads and " <<
-        StringUtils::formatLargeNumber(_numProcessed)  << " total ways.");
+        StringUtils::formatLargeNumber(ways.size())  << " total ways.");
     }
   }
 }
 
+QStringList RoadCrossingPolyReviewMarker::getCriteria() const
+{
+  QStringList criteria;
+  criteria.append(QString::fromStdString(HighwayCriterion::className()));
+  return criteria;
+}
+
 }
Clone this wiki locally