Change default_bearings_radius to default_radius

This commit is contained in:
whytro 2023-03-21 01:50:15 +09:00
parent fb4bf248ac
commit b672c82d35
18 changed files with 41 additions and 41 deletions

View File

@ -1,7 +1,7 @@
# Unreleased # Unreleased
- Changes from 5.27.1 - Changes from 5.27.1
- Features - Features
- ADDED: Added support for a default_bearing_radius flag. [#6575](https://github.com/Project-OSRM/osrm-backend/pull/6575) - ADDED: Add support for a default_radius flag. [#6575](https://github.com/Project-OSRM/osrm-backend/pull/6575)
- Build: - Build:
- ADDED: Add CI job which builds OSRM with gcc 12. [#6455](https://github.com/Project-OSRM/osrm-backend/pull/6455) - ADDED: Add CI job which builds OSRM with gcc 12. [#6455](https://github.com/Project-OSRM/osrm-backend/pull/6455)
- CHANGED: Upgrade to clang-tidy 15. [#6439](https://github.com/Project-OSRM/osrm-backend/pull/6439) - CHANGED: Upgrade to clang-tidy 15. [#6439](https://github.com/Project-OSRM/osrm-backend/pull/6439)

View File

@ -38,7 +38,7 @@ var osrm = new OSRM('network.osrm');
- `options.max_radius_map_matching` **[Number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)?** Max. radius size supported in map matching query (default: 5). - `options.max_radius_map_matching` **[Number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)?** Max. radius size supported in map matching query (default: 5).
- `options.max_results_nearest` **[Number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)?** Max. results supported in nearest query (default: unlimited). - `options.max_results_nearest` **[Number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)?** Max. results supported in nearest query (default: unlimited).
- `options.max_alternatives` **[Number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)?** Max. number of alternatives supported in alternative routes query (default: 3). - `options.max_alternatives` **[Number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)?** Max. number of alternatives supported in alternative routes query (default: 3).
- `options.default_bearing_radius` **[Number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)?** Default radius for queries containing a bearings parameter (default: unlimited). - `options.default_radius` **[Number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)?** Default radius for queries (default: unlimited).
### route ### route

View File

@ -22,7 +22,7 @@ Feature: osrm-routed command line options: help
And stdout should contain "--max-trip-size" And stdout should contain "--max-trip-size"
And stdout should contain "--max-table-size" And stdout should contain "--max-table-size"
And stdout should contain "--max-matching-size" And stdout should contain "--max-matching-size"
And stdout should contain "--default-bearings-radius" And stdout should contain "--default-radius"
And it should exit successfully And it should exit successfully
Scenario: osrm-routed - Help, short Scenario: osrm-routed - Help, short
@ -43,7 +43,7 @@ Feature: osrm-routed command line options: help
And stdout should contain "--max-trip-size" And stdout should contain "--max-trip-size"
And stdout should contain "--max-table-size" And stdout should contain "--max-table-size"
And stdout should contain "--max-matching-size" And stdout should contain "--max-matching-size"
And stdout should contain "--default-bearings-radius" And stdout should contain "--default-radius"
And it should exit successfully And it should exit successfully
Scenario: osrm-routed - Help, long Scenario: osrm-routed - Help, long
@ -64,5 +64,5 @@ Feature: osrm-routed command line options: help
And stdout should contain "--max-table-size" And stdout should contain "--max-table-size"
And stdout should contain "--max-table-size" And stdout should contain "--max-table-size"
And stdout should contain "--max-matching-size" And stdout should contain "--max-matching-size"
And stdout should contain "--default-bearings-radius" And stdout should contain "--default-radius"
And it should exit successfully And it should exit successfully

View File

@ -45,13 +45,13 @@ template <typename Algorithm> class Engine final : public EngineInterface
explicit Engine(const EngineConfig &config) explicit Engine(const EngineConfig &config)
: route_plugin(config.max_locations_viaroute, : route_plugin(config.max_locations_viaroute,
config.max_alternatives, config.max_alternatives,
config.default_bearing_radius), // config.default_radius), //
table_plugin(config.max_locations_distance_table, config.default_bearing_radius), // table_plugin(config.max_locations_distance_table, config.default_radius), //
nearest_plugin(config.max_results_nearest, config.default_bearing_radius), // nearest_plugin(config.max_results_nearest, config.default_radius), //
trip_plugin(config.max_locations_trip, config.default_bearing_radius), // trip_plugin(config.max_locations_trip, config.default_radius), //
match_plugin(config.max_locations_map_matching, match_plugin(config.max_locations_map_matching,
config.max_radius_map_matching, config.max_radius_map_matching,
config.default_bearing_radius), // config.default_radius), //
tile_plugin() // tile_plugin() //
{ {

View File

@ -83,7 +83,7 @@ struct EngineConfig final
int max_locations_map_matching = -1; int max_locations_map_matching = -1;
double max_radius_map_matching = -1.0; double max_radius_map_matching = -1.0;
int max_results_nearest = -1; int max_results_nearest = -1;
boost::optional<double> default_bearing_radius; boost::optional<double> default_radius;
int max_alternatives = 3; // set an arbitrary upper bound; can be adjusted by user int max_alternatives = 3; // set an arbitrary upper bound; can be adjusted by user
bool use_shared_memory = true; bool use_shared_memory = true;
boost::filesystem::path memory_file; boost::filesystem::path memory_file;

View File

@ -22,11 +22,11 @@ class MatchPlugin : public BasePlugin
MatchPlugin(const int max_locations_map_matching, MatchPlugin(const int max_locations_map_matching,
const double max_radius_map_matching, const double max_radius_map_matching,
const boost::optional<double> default_bearing_radius) const boost::optional<double> default_radius)
: max_locations_map_matching(max_locations_map_matching), : max_locations_map_matching(max_locations_map_matching),
max_radius_map_matching(max_radius_map_matching) max_radius_map_matching(max_radius_map_matching)
{ {
this->default_bearing_radius = default_bearing_radius; this->default_radius = default_radius;
} }
Status HandleRequest(const RoutingAlgorithmsInterface &algorithms, Status HandleRequest(const RoutingAlgorithmsInterface &algorithms,

View File

@ -14,7 +14,7 @@ class NearestPlugin final : public BasePlugin
{ {
public: public:
explicit NearestPlugin(const int max_results, explicit NearestPlugin(const int max_results,
const boost::optional<double> default_bearing_radius); const boost::optional<double> default_radius);
Status HandleRequest(const RoutingAlgorithmsInterface &algorithms, Status HandleRequest(const RoutingAlgorithmsInterface &algorithms,
const api::NearestParameters &params, const api::NearestParameters &params,

View File

@ -237,7 +237,7 @@ class BasePlugin
phantom_nodes[i] = facade.NearestPhantomNodes( phantom_nodes[i] = facade.NearestPhantomNodes(
parameters.coordinates[i], parameters.coordinates[i],
number_of_results, number_of_results,
use_radiuses ? parameters.radiuses[i] : default_bearing_radius, use_radiuses ? parameters.radiuses[i] : default_radius,
use_bearings ? parameters.bearings[i] : boost::none, use_bearings ? parameters.bearings[i] : boost::none,
use_approaches && parameters.approaches[i] ? parameters.approaches[i].get() use_approaches && parameters.approaches[i] ? parameters.approaches[i].get()
: engine::Approach::UNRESTRICTED); : engine::Approach::UNRESTRICTED);
@ -279,7 +279,7 @@ class BasePlugin
alternatives[i] = facade.NearestCandidatesWithAlternativeFromBigComponent( alternatives[i] = facade.NearestCandidatesWithAlternativeFromBigComponent(
parameters.coordinates[i], parameters.coordinates[i],
use_radiuses ? parameters.radiuses[i] : default_bearing_radius, use_radiuses ? parameters.radiuses[i] : default_radius,
use_bearings ? parameters.bearings[i] : boost::none, use_bearings ? parameters.bearings[i] : boost::none,
use_approaches && parameters.approaches[i] ? parameters.approaches[i].get() use_approaches && parameters.approaches[i] ? parameters.approaches[i].get()
: engine::Approach::UNRESTRICTED, : engine::Approach::UNRESTRICTED,
@ -321,7 +321,7 @@ class BasePlugin
std::to_string(missing_index); std::to_string(missing_index);
} }
boost::optional<double> default_bearing_radius; boost::optional<double> default_radius;
}; };
} // namespace osrm::engine::plugins } // namespace osrm::engine::plugins

View File

@ -15,7 +15,7 @@ class TablePlugin final : public BasePlugin
{ {
public: public:
explicit TablePlugin(const int max_locations_distance_table, explicit TablePlugin(const int max_locations_distance_table,
const boost::optional<double> default_bearing_radius); const boost::optional<double> default_radius);
Status HandleRequest(const RoutingAlgorithmsInterface &algorithms, Status HandleRequest(const RoutingAlgorithmsInterface &algorithms,
const api::TableParameters &params, const api::TableParameters &params,

View File

@ -33,10 +33,10 @@ class TripPlugin final : public BasePlugin
public: public:
explicit TripPlugin(const int max_locations_trip_, explicit TripPlugin(const int max_locations_trip_,
const boost::optional<double> default_bearing_radius) const boost::optional<double> default_radius)
: max_locations_trip(max_locations_trip_) : max_locations_trip(max_locations_trip_)
{ {
this->default_bearing_radius = default_bearing_radius; this->default_radius = default_radius;
} }
Status HandleRequest(const RoutingAlgorithmsInterface &algorithms, Status HandleRequest(const RoutingAlgorithmsInterface &algorithms,

View File

@ -27,7 +27,7 @@ class ViaRoutePlugin final : public BasePlugin
public: public:
explicit ViaRoutePlugin(int max_locations_viaroute, explicit ViaRoutePlugin(int max_locations_viaroute,
int max_alternatives, int max_alternatives,
const boost::optional<double> default_bearing_radius); const boost::optional<double> default_radius);
Status HandleRequest(const RoutingAlgorithmsInterface &algorithms, Status HandleRequest(const RoutingAlgorithmsInterface &algorithms,
const api::RouteParameters &route_parameters, const api::RouteParameters &route_parameters,

View File

@ -285,7 +285,7 @@ inline engine_config_ptr argumentsToEngineConfig(const Napi::CallbackInfo &args)
auto max_results_nearest = params.Get("max_results_nearest"); auto max_results_nearest = params.Get("max_results_nearest");
auto max_alternatives = params.Get("max_alternatives"); auto max_alternatives = params.Get("max_alternatives");
auto max_radius_map_matching = params.Get("max_radius_map_matching"); auto max_radius_map_matching = params.Get("max_radius_map_matching");
auto default_bearing_radius = params.Get("default_bearing_radius"); auto default_radius = params.Get("default_radius");
if (!max_locations_trip.IsUndefined() && !max_locations_trip.IsNumber()) if (!max_locations_trip.IsUndefined() && !max_locations_trip.IsNumber())
{ {
@ -317,9 +317,9 @@ inline engine_config_ptr argumentsToEngineConfig(const Napi::CallbackInfo &args)
ThrowError(args.Env(), "max_alternatives must be an integral number"); ThrowError(args.Env(), "max_alternatives must be an integral number");
return engine_config_ptr(); return engine_config_ptr();
} }
if (!default_bearing_radius.IsUndefined() && !default_bearing_radius.IsNumber()) if (!default_radius.IsUndefined() && !default_radius.IsNumber())
{ {
ThrowError(args.Env(), "default_bearing_radius must be an integral number"); ThrowError(args.Env(), "default_radius must be an integral number");
return engine_config_ptr(); return engine_config_ptr();
} }
@ -339,8 +339,8 @@ inline engine_config_ptr argumentsToEngineConfig(const Napi::CallbackInfo &args)
engine_config->max_alternatives = max_alternatives.ToNumber().Int32Value(); engine_config->max_alternatives = max_alternatives.ToNumber().Int32Value();
if (max_radius_map_matching.IsNumber()) if (max_radius_map_matching.IsNumber())
engine_config->max_radius_map_matching = max_radius_map_matching.ToNumber().DoubleValue(); engine_config->max_radius_map_matching = max_radius_map_matching.ToNumber().DoubleValue();
if (default_bearing_radius.IsNumber()) if (default_radius.IsNumber())
engine_config->default_bearing_radius = default_bearing_radius.ToNumber().DoubleValue(); engine_config->default_radius = default_radius.ToNumber().DoubleValue();
return engine_config; return engine_config;
} }

View File

@ -11,10 +11,10 @@ namespace osrm::engine::plugins
{ {
NearestPlugin::NearestPlugin(const int max_results_, NearestPlugin::NearestPlugin(const int max_results_,
const boost::optional<double> default_bearing_radius_) const boost::optional<double> default_radius_)
: max_results{max_results_} : max_results{max_results_}
{ {
this->default_bearing_radius = default_bearing_radius_; this->default_radius = default_radius_;
} }
Status NearestPlugin::HandleRequest(const RoutingAlgorithmsInterface &algorithms, Status NearestPlugin::HandleRequest(const RoutingAlgorithmsInterface &algorithms,

View File

@ -15,10 +15,10 @@ namespace osrm::engine::plugins
{ {
TablePlugin::TablePlugin(const int max_locations_distance_table, TablePlugin::TablePlugin(const int max_locations_distance_table,
const boost::optional<double> default_bearing_radius) const boost::optional<double> default_radius)
: max_locations_distance_table(max_locations_distance_table) : max_locations_distance_table(max_locations_distance_table)
{ {
this->default_bearing_radius = default_bearing_radius; this->default_radius = default_radius;
} }
Status TablePlugin::HandleRequest(const RoutingAlgorithmsInterface &algorithms, Status TablePlugin::HandleRequest(const RoutingAlgorithmsInterface &algorithms,

View File

@ -17,10 +17,10 @@ namespace osrm::engine::plugins
ViaRoutePlugin::ViaRoutePlugin(int max_locations_viaroute, ViaRoutePlugin::ViaRoutePlugin(int max_locations_viaroute,
int max_alternatives, int max_alternatives,
const boost::optional<double> default_bearing_radius) const boost::optional<double> default_radius)
: max_locations_viaroute(max_locations_viaroute), max_alternatives(max_alternatives) : max_locations_viaroute(max_locations_viaroute), max_alternatives(max_alternatives)
{ {
this->default_bearing_radius = default_bearing_radius; this->default_radius = default_radius;
} }
Status ViaRoutePlugin::HandleRequest(const RoutingAlgorithmsInterface &algorithms, Status ViaRoutePlugin::HandleRequest(const RoutingAlgorithmsInterface &algorithms,

View File

@ -81,7 +81,7 @@ Napi::Object Engine::Init(Napi::Env env, Napi::Object exports)
* @param {Number} [options.max_radius_map_matching] Max. radius size supported in map matching query (default: 5). * @param {Number} [options.max_radius_map_matching] Max. radius size supported in map matching query (default: 5).
* @param {Number} [options.max_results_nearest] Max. results supported in nearest query (default: unlimited). * @param {Number} [options.max_results_nearest] Max. results supported in nearest query (default: unlimited).
* @param {Number} [options.max_alternatives] Max. number of alternatives supported in alternative routes query (default: 3). * @param {Number} [options.max_alternatives] Max. number of alternatives supported in alternative routes query (default: 3).
* @param {Number} [options.default_bearing_radius] Default radius for queries containing a bearings parameter (default: unlimited). * @param {Number} [options.default_radius] Default radius for queries (default: unlimited).
* *
* @class OSRM * @class OSRM
* *

View File

@ -148,9 +148,9 @@ inline unsigned generateServerProgramOptions(const int argc,
("max-matching-radius", ("max-matching-radius",
value<double>(&config.max_radius_map_matching)->default_value(-1.0), value<double>(&config.max_radius_map_matching)->default_value(-1.0),
"Max. radius size supported in map matching query. Default: unlimited.") // "Max. radius size supported in map matching query. Default: unlimited.") //
("default-bearings-radius", ("default-radius",
value<boost::optional<double>>(&config.default_bearing_radius), value<boost::optional<double>>(&config.default_radius),
"Default radius size for queries with bearings. Default: unlimited."); "Default radius size for queries. Default: unlimited.");
// hidden options, will be allowed on command line, but will not be shown to the user // hidden options, will be allowed on command line, but will not be shown to the user
boost::program_options::options_description hidden_options("Hidden options"); boost::program_options::options_description hidden_options("Hidden options");

View File

@ -112,16 +112,16 @@ test('constructor: throws if dataset_name is not a string', function(assert) {
assert.throws(function() { new OSRM({dataset_name: "unsued_name___", shared_memory: true}); }, /Could not find shared memory region/, 'Does not accept wrong name'); assert.throws(function() { new OSRM({dataset_name: "unsued_name___", shared_memory: true}); }, /Could not find shared memory region/, 'Does not accept wrong name');
}); });
// test('constructor: takes a default_bearing_radius argument', function(assert) { // test('constructor: takes a default_radius argument', function(assert) {
// assert.plan(1); // assert.plan(1);
// var osrm = new OSRM({default_bearing_radius: 1}); // var osrm = new OSRM({default_radius: 1});
// assert.ok(osrm); // assert.ok(osrm);
// }); // });
// test('constructor: throws if default_bearing_radius is not a number', function(assert) { // test('constructor: throws if default_radius is not a number', function(assert) {
// assert.plan(2); // assert.plan(2);
// assert.throws(function() { new OSRM({default_bearing_radius: 'abc'}); }, /default_bearing_radius must be an integral number/, 'Does not accept string'); // assert.throws(function() { new OSRM({default_radius: 'abc'}); }, /default_radius must be an integral number/, 'Does not accept string');
// assert.ok(new OSRM({default_bearing_radius: 1}), 'Does accept number'); // assert.ok(new OSRM({default_radius: 1}), 'Does accept number');
// }); // });
test('constructor: parses custom limits', function(assert) { test('constructor: parses custom limits', function(assert) {