Add support for a default_bearing_radius flag (#6575)
This commit is contained in:
@@ -181,24 +181,29 @@ Status MatchPlugin::HandleRequest(const RoutingAlgorithmsInterface &algorithms,
|
||||
if (tidied.parameters.radiuses.empty())
|
||||
{
|
||||
search_radiuses.resize(tidied.parameters.coordinates.size(),
|
||||
routing_algorithms::DEFAULT_GPS_PRECISION * RADIUS_MULTIPLIER);
|
||||
default_radius.has_value()
|
||||
? *default_radius
|
||||
: routing_algorithms::DEFAULT_GPS_PRECISION * RADIUS_MULTIPLIER);
|
||||
}
|
||||
else
|
||||
{
|
||||
search_radiuses.resize(tidied.parameters.coordinates.size());
|
||||
std::transform(tidied.parameters.radiuses.begin(),
|
||||
tidied.parameters.radiuses.end(),
|
||||
search_radiuses.begin(),
|
||||
[](const boost::optional<double> &maybe_radius) {
|
||||
if (maybe_radius)
|
||||
{
|
||||
return *maybe_radius * RADIUS_MULTIPLIER;
|
||||
}
|
||||
else
|
||||
{
|
||||
return routing_algorithms::DEFAULT_GPS_PRECISION * RADIUS_MULTIPLIER;
|
||||
}
|
||||
});
|
||||
std::transform(
|
||||
tidied.parameters.radiuses.begin(),
|
||||
tidied.parameters.radiuses.end(),
|
||||
search_radiuses.begin(),
|
||||
[default_radius = this->default_radius](const boost::optional<double> &maybe_radius) {
|
||||
if (maybe_radius)
|
||||
{
|
||||
return *maybe_radius * RADIUS_MULTIPLIER;
|
||||
}
|
||||
else
|
||||
{
|
||||
return default_radius.has_value()
|
||||
? *default_radius
|
||||
: routing_algorithms::DEFAULT_GPS_PRECISION * RADIUS_MULTIPLIER;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
auto candidates_lists =
|
||||
|
||||
@@ -10,7 +10,10 @@
|
||||
namespace osrm::engine::plugins
|
||||
{
|
||||
|
||||
NearestPlugin::NearestPlugin(const int max_results_) : max_results{max_results_} {}
|
||||
NearestPlugin::NearestPlugin(const int max_results_, const boost::optional<double> default_radius_)
|
||||
: BasePlugin(default_radius_), max_results{max_results_}
|
||||
{
|
||||
}
|
||||
|
||||
Status NearestPlugin::HandleRequest(const RoutingAlgorithmsInterface &algorithms,
|
||||
const api::NearestParameters ¶ms,
|
||||
|
||||
@@ -14,8 +14,9 @@
|
||||
namespace osrm::engine::plugins
|
||||
{
|
||||
|
||||
TablePlugin::TablePlugin(const int max_locations_distance_table)
|
||||
: max_locations_distance_table(max_locations_distance_table)
|
||||
TablePlugin::TablePlugin(const int max_locations_distance_table,
|
||||
const boost::optional<double> default_radius)
|
||||
: BasePlugin(default_radius), max_locations_distance_table(max_locations_distance_table)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
@@ -15,8 +15,11 @@
|
||||
namespace osrm::engine::plugins
|
||||
{
|
||||
|
||||
ViaRoutePlugin::ViaRoutePlugin(int max_locations_viaroute, int max_alternatives)
|
||||
: max_locations_viaroute(max_locations_viaroute), max_alternatives(max_alternatives)
|
||||
ViaRoutePlugin::ViaRoutePlugin(int max_locations_viaroute,
|
||||
int max_alternatives,
|
||||
boost::optional<double> default_radius)
|
||||
: BasePlugin(default_radius), max_locations_viaroute(max_locations_viaroute),
|
||||
max_alternatives(max_alternatives)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user