diff --git a/Algorithms/DouglasPeucker.cpp b/Algorithms/DouglasPeucker.cpp index 3f1a9e547..2773d11dc 100644 --- a/Algorithms/DouglasPeucker.cpp +++ b/Algorithms/DouglasPeucker.cpp @@ -104,17 +104,17 @@ void DouglasPeucker::Run(std::vector &input_geometry, const BOOST_ASSERT_MSG(input_geometry[pair.second].necessary, "right border must be necessary"); BOOST_ASSERT_MSG(pair.second < input_geometry.size(), "right border outside of geometry"); BOOST_ASSERT_MSG(pair.first < pair.second, "left border on the wrong side"); - double max_distance = std::numeric_limits::min(); + float max_distance = std::numeric_limits::min(); unsigned farthest_element_index = pair.second; // find index idx of element with max_distance for (unsigned i = pair.first + 1; i < pair.second; ++i) { - const double temp_dist = FixedPointCoordinate::ComputePerpendicularDistance( + const float temp_dist = FixedPointCoordinate::ComputePerpendicularDistance( input_geometry[i].location, input_geometry[pair.first].location, input_geometry[pair.second].location); - const double distance = std::abs(temp_dist); + const float distance = std::abs(temp_dist); if (distance > douglas_peucker_thresholds[zoom_level] && distance > max_distance) { farthest_element_index = i; diff --git a/Algorithms/DouglasPeucker.h b/Algorithms/DouglasPeucker.h index c7527b02b..c3d942458 100644 --- a/Algorithms/DouglasPeucker.h +++ b/Algorithms/DouglasPeucker.h @@ -44,16 +44,12 @@ struct SegmentInformation; class DouglasPeucker { private: - std::vector douglas_peucker_thresholds; + std::vector douglas_peucker_thresholds; typedef std::pair GeometryRange; // Stack to simulate the recursion std::stack recursion_stack; - double ComputeDistance(const FixedPointCoordinate &point, - const FixedPointCoordinate &segA, - const FixedPointCoordinate &segB) const; - public: DouglasPeucker(); void Run(std::vector &input_geometry, const unsigned zoom_level);