diff --git a/CHANGELOG.md b/CHANGELOG.md index 5d6428493..2565b91f2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,7 @@ # Unreleased - Changes from 5.27.1 - 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: - 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) diff --git a/docs/nodejs/api.md b/docs/nodejs/api.md index b6401464e..b24800210 100644 --- a/docs/nodejs/api.md +++ b/docs/nodejs/api.md @@ -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_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.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 diff --git a/features/options/routed/help.feature b/features/options/routed/help.feature index bab61ef09..401a5ba4f 100644 --- a/features/options/routed/help.feature +++ b/features/options/routed/help.feature @@ -22,7 +22,7 @@ Feature: osrm-routed command line options: help And stdout should contain "--max-trip-size" And stdout should contain "--max-table-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 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-table-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 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-matching-size" - And stdout should contain "--default-bearings-radius" + And stdout should contain "--default-radius" And it should exit successfully diff --git a/include/engine/engine.hpp b/include/engine/engine.hpp index 64356c1e7..233401bf4 100644 --- a/include/engine/engine.hpp +++ b/include/engine/engine.hpp @@ -45,13 +45,13 @@ template class Engine final : public EngineInterface explicit Engine(const EngineConfig &config) : route_plugin(config.max_locations_viaroute, config.max_alternatives, - config.default_bearing_radius), // - table_plugin(config.max_locations_distance_table, config.default_bearing_radius), // - nearest_plugin(config.max_results_nearest, config.default_bearing_radius), // - trip_plugin(config.max_locations_trip, config.default_bearing_radius), // + config.default_radius), // + table_plugin(config.max_locations_distance_table, config.default_radius), // + nearest_plugin(config.max_results_nearest, config.default_radius), // + trip_plugin(config.max_locations_trip, config.default_radius), // match_plugin(config.max_locations_map_matching, config.max_radius_map_matching, - config.default_bearing_radius), // + config.default_radius), // tile_plugin() // { diff --git a/include/engine/engine_config.hpp b/include/engine/engine_config.hpp index 711d4152a..5ca54ba1c 100644 --- a/include/engine/engine_config.hpp +++ b/include/engine/engine_config.hpp @@ -83,7 +83,7 @@ struct EngineConfig final int max_locations_map_matching = -1; double max_radius_map_matching = -1.0; int max_results_nearest = -1; - boost::optional default_bearing_radius; + boost::optional default_radius; int max_alternatives = 3; // set an arbitrary upper bound; can be adjusted by user bool use_shared_memory = true; boost::filesystem::path memory_file; diff --git a/include/engine/plugins/match.hpp b/include/engine/plugins/match.hpp index 2eb708a98..b31dc812a 100644 --- a/include/engine/plugins/match.hpp +++ b/include/engine/plugins/match.hpp @@ -22,11 +22,11 @@ class MatchPlugin : public BasePlugin MatchPlugin(const int max_locations_map_matching, const double max_radius_map_matching, - const boost::optional default_bearing_radius) + const boost::optional default_radius) : max_locations_map_matching(max_locations_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, diff --git a/include/engine/plugins/nearest.hpp b/include/engine/plugins/nearest.hpp index 71b7335c3..ac5a8511a 100644 --- a/include/engine/plugins/nearest.hpp +++ b/include/engine/plugins/nearest.hpp @@ -14,7 +14,7 @@ class NearestPlugin final : public BasePlugin { public: explicit NearestPlugin(const int max_results, - const boost::optional default_bearing_radius); + const boost::optional default_radius); Status HandleRequest(const RoutingAlgorithmsInterface &algorithms, const api::NearestParameters ¶ms, diff --git a/include/engine/plugins/plugin_base.hpp b/include/engine/plugins/plugin_base.hpp index 3e5973869..729e8063a 100644 --- a/include/engine/plugins/plugin_base.hpp +++ b/include/engine/plugins/plugin_base.hpp @@ -237,7 +237,7 @@ class BasePlugin phantom_nodes[i] = facade.NearestPhantomNodes( parameters.coordinates[i], 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_approaches && parameters.approaches[i] ? parameters.approaches[i].get() : engine::Approach::UNRESTRICTED); @@ -279,7 +279,7 @@ class BasePlugin alternatives[i] = facade.NearestCandidatesWithAlternativeFromBigComponent( 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_approaches && parameters.approaches[i] ? parameters.approaches[i].get() : engine::Approach::UNRESTRICTED, @@ -321,7 +321,7 @@ class BasePlugin std::to_string(missing_index); } - boost::optional default_bearing_radius; + boost::optional default_radius; }; } // namespace osrm::engine::plugins diff --git a/include/engine/plugins/table.hpp b/include/engine/plugins/table.hpp index ec7b8a8fe..e4cf9a33c 100644 --- a/include/engine/plugins/table.hpp +++ b/include/engine/plugins/table.hpp @@ -15,7 +15,7 @@ class TablePlugin final : public BasePlugin { public: explicit TablePlugin(const int max_locations_distance_table, - const boost::optional default_bearing_radius); + const boost::optional default_radius); Status HandleRequest(const RoutingAlgorithmsInterface &algorithms, const api::TableParameters ¶ms, diff --git a/include/engine/plugins/trip.hpp b/include/engine/plugins/trip.hpp index 285023820..cf84264a3 100644 --- a/include/engine/plugins/trip.hpp +++ b/include/engine/plugins/trip.hpp @@ -33,10 +33,10 @@ class TripPlugin final : public BasePlugin public: explicit TripPlugin(const int max_locations_trip_, - const boost::optional default_bearing_radius) + const boost::optional default_radius) : max_locations_trip(max_locations_trip_) { - this->default_bearing_radius = default_bearing_radius; + this->default_radius = default_radius; } Status HandleRequest(const RoutingAlgorithmsInterface &algorithms, diff --git a/include/engine/plugins/viaroute.hpp b/include/engine/plugins/viaroute.hpp index 964162e24..35f27af05 100644 --- a/include/engine/plugins/viaroute.hpp +++ b/include/engine/plugins/viaroute.hpp @@ -27,7 +27,7 @@ class ViaRoutePlugin final : public BasePlugin public: explicit ViaRoutePlugin(int max_locations_viaroute, int max_alternatives, - const boost::optional default_bearing_radius); + const boost::optional default_radius); Status HandleRequest(const RoutingAlgorithmsInterface &algorithms, const api::RouteParameters &route_parameters, diff --git a/include/nodejs/node_osrm_support.hpp b/include/nodejs/node_osrm_support.hpp index 3aea6f0d5..5296dc4ed 100644 --- a/include/nodejs/node_osrm_support.hpp +++ b/include/nodejs/node_osrm_support.hpp @@ -285,7 +285,7 @@ inline engine_config_ptr argumentsToEngineConfig(const Napi::CallbackInfo &args) auto max_results_nearest = params.Get("max_results_nearest"); auto max_alternatives = params.Get("max_alternatives"); 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()) { @@ -317,9 +317,9 @@ inline engine_config_ptr argumentsToEngineConfig(const Napi::CallbackInfo &args) ThrowError(args.Env(), "max_alternatives must be an integral number"); 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(); } @@ -339,8 +339,8 @@ inline engine_config_ptr argumentsToEngineConfig(const Napi::CallbackInfo &args) engine_config->max_alternatives = max_alternatives.ToNumber().Int32Value(); if (max_radius_map_matching.IsNumber()) engine_config->max_radius_map_matching = max_radius_map_matching.ToNumber().DoubleValue(); - if (default_bearing_radius.IsNumber()) - engine_config->default_bearing_radius = default_bearing_radius.ToNumber().DoubleValue(); + if (default_radius.IsNumber()) + engine_config->default_radius = default_radius.ToNumber().DoubleValue(); return engine_config; } diff --git a/src/engine/plugins/nearest.cpp b/src/engine/plugins/nearest.cpp index 0b1919b56..c91bfba0c 100644 --- a/src/engine/plugins/nearest.cpp +++ b/src/engine/plugins/nearest.cpp @@ -11,10 +11,10 @@ namespace osrm::engine::plugins { NearestPlugin::NearestPlugin(const int max_results_, - const boost::optional default_bearing_radius_) + const boost::optional default_radius_) : max_results{max_results_} { - this->default_bearing_radius = default_bearing_radius_; + this->default_radius = default_radius_; } Status NearestPlugin::HandleRequest(const RoutingAlgorithmsInterface &algorithms, diff --git a/src/engine/plugins/table.cpp b/src/engine/plugins/table.cpp index dedefe002..38b6658c4 100644 --- a/src/engine/plugins/table.cpp +++ b/src/engine/plugins/table.cpp @@ -15,10 +15,10 @@ namespace osrm::engine::plugins { TablePlugin::TablePlugin(const int max_locations_distance_table, - const boost::optional default_bearing_radius) + const boost::optional default_radius) : 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, diff --git a/src/engine/plugins/viaroute.cpp b/src/engine/plugins/viaroute.cpp index c89a4691c..062b57675 100644 --- a/src/engine/plugins/viaroute.cpp +++ b/src/engine/plugins/viaroute.cpp @@ -17,10 +17,10 @@ namespace osrm::engine::plugins ViaRoutePlugin::ViaRoutePlugin(int max_locations_viaroute, int max_alternatives, - const boost::optional default_bearing_radius) + const boost::optional default_radius) : 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, diff --git a/src/nodejs/node_osrm.cpp b/src/nodejs/node_osrm.cpp index a4e864880..5d5bb916f 100644 --- a/src/nodejs/node_osrm.cpp +++ b/src/nodejs/node_osrm.cpp @@ -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_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.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 * diff --git a/src/tools/routed.cpp b/src/tools/routed.cpp index 3f7c82035..e8fb36695 100644 --- a/src/tools/routed.cpp +++ b/src/tools/routed.cpp @@ -148,9 +148,9 @@ inline unsigned generateServerProgramOptions(const int argc, ("max-matching-radius", value(&config.max_radius_map_matching)->default_value(-1.0), "Max. radius size supported in map matching query. Default: unlimited.") // - ("default-bearings-radius", - value>(&config.default_bearing_radius), - "Default radius size for queries with bearings. Default: unlimited."); + ("default-radius", + value>(&config.default_radius), + "Default radius size for queries. Default: unlimited."); // 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"); diff --git a/test/nodejs/index.js b/test/nodejs/index.js index 7653b78af..2ebfe5071 100644 --- a/test/nodejs/index.js +++ b/test/nodejs/index.js @@ -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'); }); -// test('constructor: takes a default_bearing_radius argument', function(assert) { +// test('constructor: takes a default_radius argument', function(assert) { // assert.plan(1); -// var osrm = new OSRM({default_bearing_radius: 1}); +// var osrm = new OSRM({default_radius: 1}); // 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.throws(function() { new OSRM({default_bearing_radius: 'abc'}); }, /default_bearing_radius must be an integral number/, 'Does not accept string'); -// assert.ok(new OSRM({default_bearing_radius: 1}), 'Does accept number'); +// assert.throws(function() { new OSRM({default_radius: 'abc'}); }, /default_radius must be an integral number/, 'Does not accept string'); +// assert.ok(new OSRM({default_radius: 1}), 'Does accept number'); // }); test('constructor: parses custom limits', function(assert) {