Skip to content

v0.2.50..v0.2.51 changeset ElementConverter.cpp

Garret Voltz edited this page Jan 15, 2020 · 1 revision
diff --git a/hoot-core/src/main/cpp/hoot/core/elements/ElementConverter.cpp b/hoot-core/src/main/cpp/hoot/core/elements/ElementConverter.cpp
index c07599a..9450c8e 100644
--- a/hoot-core/src/main/cpp/hoot/core/elements/ElementConverter.cpp
+++ b/hoot-core/src/main/cpp/hoot/core/elements/ElementConverter.cpp
@@ -269,10 +269,21 @@ std::shared_ptr<Polygon> ElementConverter::convertToPolygon(const ConstWayPtr& w
     LOG_VART(ids[i]);
     ConstNodePtr n = _constProvider->getNode(ids[i]);
     LOG_VART(n.get());
-//    if (!n)
-//    {
-//      throw HootException("Node " + QString::number(ids[i]) + " does not exist.");
-//    }
+    if (!n.get())
+    {
+      if (logWarnCount < Log::getWarnMessageLimit())
+      {
+        LOG_WARN(
+          "Node " << QString::number(ids[i]) << " does not exist. Skipping conversion of " <<
+          w->getElementId() << " to polygon...");
+      }
+      else if (logWarnCount == Log::getWarnMessageLimit())
+      {
+        LOG_WARN(className() << ": " << Log::LOG_WARN_LIMIT_REACHED_MESSAGE);
+      }
+      logWarnCount++;
+      return std::shared_ptr<Polygon>();
+    }
     cs->setAt(n->toCoordinate(), i);
   }
 
Clone this wiki locally