From c3b5d734234cb033ad1ae3c393dd7676b15411a9 Mon Sep 17 00:00:00 2001 From: Yuri Gorshenin Date: Wed, 29 Jun 2016 12:58:16 +0300 Subject: [PATCH] [search] Fixed matching in features collector tool. --- .../features_collector_tool/features_collector_tool.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) 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,