diff --git a/search/search_quality/features_collector_tool/features_collector_tool.cpp b/search/search_quality/features_collector_tool/features_collector_tool.cpp index e7047da993..5d7c071ade 100644 --- a/search/search_quality/features_collector_tool/features_collector_tool.cpp +++ b/search/search_quality/features_collector_tool/features_collector_tool.cpp @@ -18,6 +18,8 @@ #include "platform/local_country_file_utils.hpp" #include "platform/platform.hpp" +#include "geometry/mercator.hpp" + #include "base/string_utils.hpp" #include "std/fstream.hpp" @@ -76,7 +78,7 @@ void GetContents(istream & is, string & contents) bool Matches(Context & context, Sample::Result const & golden, search::Result const & actual) { - static double constexpr kEps = 1e-4; + static double constexpr kToleranceMeters = 50; if (actual.GetResultType() != Result::RESULT_FEATURE) return false; @@ -90,7 +92,7 @@ bool Matches(Context & context, Sample::Result const & golden, search::Result co auto const center = feature::GetCenter(ft); return golden.m_name == strings::MakeUniString(name) && golden.m_houseNumber == houseNumber && - my::AlmostEqualAbs(golden.m_pos, center, kEps); + MercatorBounds::DistanceOnEarth(golden.m_pos, center) < kToleranceMeters; } void MatchResults(Context & context, vector const & golden,