Skip to content

v0.2.54..v0.2.55 changeset ElementMergerJs.cpp

Garret Voltz edited this page Aug 14, 2020 · 1 revision
diff --git a/hoot-js/src/main/cpp/hoot/js/conflate/merging/ElementMergerJs.cpp b/hoot-js/src/main/cpp/hoot/js/conflate/merging/ElementMergerJs.cpp
index ca7931c..7ce5826 100644
--- a/hoot-js/src/main/cpp/hoot/js/conflate/merging/ElementMergerJs.cpp
+++ b/hoot-js/src/main/cpp/hoot/js/conflate/merging/ElementMergerJs.cpp
@@ -22,7 +22,7 @@
  * This will properly maintain the copyright information. DigitalGlobe
  * copyrights will be updated automatically.
  *
- * @copyright Copyright (C) 2018, 2019 DigitalGlobe (http://www.digitalglobe.com/)
+ * @copyright Copyright (C) 2018, 2019, 2020 DigitalGlobe (http://www.digitalglobe.com/)
  */
 #include "ElementMergerJs.h"
 
@@ -39,7 +39,7 @@
 #include <hoot/core/util/ConfPath.h>
 #include <hoot/core/util/HootException.h>
 #include <hoot/core/schema/MetadataTags.h>
-#include <hoot/core/elements/OsmUtils.h>
+#include <hoot/core/criterion/CriterionUtils.h>
 #include <hoot/core/visitors/FilteredVisitor.h>
 #include <hoot/core/visitors/ElementCountVisitor.h>
 #include <hoot/core/visitors/UniqueElementIdVisitor.h>
@@ -226,30 +226,36 @@ ElementMergerJs::MergeType ElementMergerJs::_determineMergeType(ConstOsmMapPtr m
 
   MergeType mergeType;
 
-  const bool containsPolys = OsmUtils::contains<PoiPolygonPolyCriterion>(map);
+  const bool containsPolys =
+    CriterionUtils::containsSatisfyingElements<PoiPolygonPolyCriterion>(map);
   LOG_VART(containsPolys);
-  const bool containsAreas = OsmUtils::contains<NonBuildingAreaCriterion>(map); //non-building areas
+  //non-building areas
+  const bool containsAreas =
+    CriterionUtils::containsSatisfyingElements<NonBuildingAreaCriterion>(map);
   LOG_VART(containsAreas);
-  const bool containsBuildings = OsmUtils::contains<BuildingCriterion>(map);
+  const bool containsBuildings =
+    CriterionUtils::containsSatisfyingElements<BuildingCriterion>(map);
   LOG_VART(containsBuildings);
-  const bool containsPois = OsmUtils::contains<PoiCriterion>(map); //general poi definition
+  const bool containsPois =
+    CriterionUtils::containsSatisfyingElements<PoiCriterion>(map); //general poi definition
   LOG_VART(containsPois);
-  if (OsmUtils::contains<PoiPolygonPoiCriterion>(map, 1, true) &&
-      OsmUtils::contains<PoiPolygonPolyCriterion>(map, 1, true))
+  if (CriterionUtils::containsSatisfyingElements<PoiPolygonPoiCriterion>(map, 1, true) &&
+      CriterionUtils::containsSatisfyingElements<PoiPolygonPolyCriterion>(map, 1, true))
   {
     mergeType = MergeType::PoiToPolygon;
   }
-  else if (OsmUtils::contains<PoiCriterion>(map, 2) && !containsPolys && !containsAreas &&
-           !containsBuildings)
+  else if (CriterionUtils::containsSatisfyingElements<PoiCriterion>(map, 2) && !containsPolys &&
+           !containsAreas && !containsBuildings)
   {
     mergeType = MergeType::PoiToPoi;
   }
-  else if (OsmUtils::contains<BuildingCriterion>(map, 2) && !containsAreas && !containsPois)
+  else if (CriterionUtils::containsSatisfyingElements<BuildingCriterion>(map, 2) &&
+           !containsAreas && !containsPois)
   {
     mergeType = MergeType::BuildingToBuilding;
   }
-  else if (OsmUtils::contains<NonBuildingAreaCriterion>(map, 2) && !containsBuildings &&
-           !containsPois)
+  else if (CriterionUtils::containsSatisfyingElements<NonBuildingAreaCriterion>(map, 2) &&
+           !containsBuildings && !containsPois)
   {
     mergeType = MergeType::AreaToArea;
   }
Clone this wiki locally