Skip to content

Commit 646b163

Browse files
TheMarexdanpat
authored andcommitted
Revert "Smarter search radius formula for map matching"
This reverts commit b73c590.
1 parent a852ab1 commit 646b163

File tree

3 files changed

+10
-43
lines changed

3 files changed

+10
-43
lines changed

include/engine/api/match_parameters.hpp

Lines changed: 1 addition & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2828
#ifndef ENGINE_API_MATCH_PARAMETERS_HPP
2929
#define ENGINE_API_MATCH_PARAMETERS_HPP
3030

31-
#define SEARCH_RADIUS_BASE_DEFAULT 45
32-
#define SEARCH_RADIUS_BASE_LIMIT 100
33-
#define SEARCH_RADIUS_MULTIPLIER_DEFAULT 3.5
34-
#define SEARCH_RADIUS_MULTIPLIER_LIMIT 10
35-
#define SEARCH_RADIUS_MAX_DEFAULT 200
36-
#define SEARCH_RADIUS_MAX_LIMIT 500
37-
3831
#include "engine/api/route_parameters.hpp"
3932

4033
#include <vector>
@@ -74,20 +67,10 @@ struct MatchParameters : public RouteParameters
7467
}
7568

7669
std::vector<unsigned> timestamps;
77-
78-
double search_radius_base = SEARCH_RADIUS_BASE_DEFAULT;
79-
double search_radius_multiplier = SEARCH_RADIUS_MULTIPLIER_DEFAULT;
80-
double search_radius_max = SEARCH_RADIUS_MAX_DEFAULT;
81-
8270
bool IsValid() const
8371
{
8472
return RouteParameters::IsValid() &&
85-
(timestamps.empty() || timestamps.size() == coordinates.size()) &&
86-
search_radius_base >= 0 && search_radius_multiplier >= 0 && search_radius_max > 0 &&
87-
// limit the search_radius parameters to sane values to prevent overloading the server
88-
search_radius_base <= SEARCH_RADIUS_BASE_LIMIT &&
89-
search_radius_multiplier <= SEARCH_RADIUS_MULTIPLIER_LIMIT &&
90-
search_radius_max <= SEARCH_RADIUS_MAX_LIMIT;
73+
(timestamps.empty() || timestamps.size() == coordinates.size());
9174
}
9275
};
9376
}

include/server/api/match_parameter_grammar.hpp

Lines changed: 1 addition & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -33,33 +33,13 @@ struct MatchParametersGrammar final : public RouteParametersGrammar<Iterator, Si
3333
(qi::uint_ %
3434
';')[ph::bind(&engine::api::MatchParameters::timestamps, qi::_r1) = qi::_1];
3535

36-
search_radius_base_rule =
37-
qi::lit("search_radius_base=") > qi::double_[
38-
ph::bind(&engine::api::MatchParameters::search_radius_base, qi::_r1) = qi::_1];
39-
40-
search_radius_multiplier_rule =
41-
qi::lit("search_radius_multiplier=") > qi::double_[
42-
ph::bind(&engine::api::MatchParameters::search_radius_multiplier, qi::_r1) = qi::_1];
43-
44-
search_radius_max_rule =
45-
qi::lit("search_radius_max=") > qi::double_[
46-
ph::bind(&engine::api::MatchParameters::search_radius_max, qi::_r1) = qi::_1];
47-
4836
root_rule = BaseGrammar::query_rule(qi::_r1) > -qi::lit(".json") >
49-
-('?' > (timestamps_rule(qi::_r1) |
50-
search_radius_base_rule(qi::_r1) |
51-
search_radius_multiplier_rule(qi::_r1) |
52-
search_radius_max_rule(qi::_r1) |
53-
BaseGrammar::base_rule(qi::_r1))
54-
% '&');
37+
-('?' > (timestamps_rule(qi::_r1) | BaseGrammar::base_rule(qi::_r1)) % '&');
5538
}
5639

5740
private:
5841
qi::rule<Iterator, Signature> root_rule;
5942
qi::rule<Iterator, Signature> timestamps_rule;
60-
qi::rule<Iterator, Signature> search_radius_base_rule;
61-
qi::rule<Iterator, Signature> search_radius_multiplier_rule;
62-
qi::rule<Iterator, Signature> search_radius_max_rule;
6343
};
6444
}
6545
}

src/engine/plugins/match.cpp

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -153,11 +153,15 @@ Status MatchPlugin::HandleRequest(const std::shared_ptr<datafacade::BaseDataFaca
153153
parameters.radiuses.end(),
154154
search_radiuses.begin(),
155155
[](const boost::optional<double> &maybe_radius) {
156-
double in_radius = maybe_radius ? *maybe_radius : DEFAULT_GPS_PRECISION;
156+
if (maybe_radius)
157+
{
158+
return *maybe_radius * RADIUS_MULTIPLIER;
159+
}
160+
else
161+
{
162+
return DEFAULT_GPS_PRECISION * RADIUS_MULTIPLIER;
163+
}
157164

158-
return std::min(
159-
in_radius * parameters.search_radius_multiplier + parameters.search_radius_base,
160-
parameters.search_radius_max);
161165
});
162166
}
163167

0 commit comments

Comments
 (0)