diff --git a/src/simplify/DouglasPeuckerLineSimplifier.cpp b/src/simplify/DouglasPeuckerLineSimplifier.cpp index 6a2a456a55..f83cd46b33 100644 --- a/src/simplify/DouglasPeuckerLineSimplifier.cpp +++ b/src/simplify/DouglasPeuckerLineSimplifier.cpp @@ -109,7 +109,7 @@ DouglasPeuckerLineSimplifier::simplifySection( std::size_t i, std::size_t j) { - if((i + 1) == j) { + if(/*i == j || */(i + 1) == j) { return; } diff --git a/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp b/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp index d8d631cd9f..a8b8b56539 100644 --- a/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp +++ b/tests/unit/simplify/DouglasPeuckerSimplifierTest.cpp @@ -334,4 +334,15 @@ void object::test<19>() ); } +// https://github.com/libgeos/geos/issues/1078 +template<> +template<> +void object::test<20>() +{ + auto gfact = GeometryFactory::getDefaultInstance(); + auto pt = gfact->createPoint(Coordinate{0, 0}); + auto result = DouglasPeuckerSimplifier::simplify(pt.get(), std::numeric_limits::quiet_NaN()); + ensure(result != nullptr); +} + } // namespace tut