From 2b63eb82432533cef489f72ce909e4ca511ccb4b Mon Sep 17 00:00:00 2001 From: Dennis Luxen Date: Wed, 24 Dec 2014 10:40:03 +0100 Subject: [PATCH] remove zoom level from nearest neighbor calls --- Server/DataStructures/BaseDataFacade.h | 4 +-- Server/DataStructures/InternalDataFacade.h | 7 ++-- Server/DataStructures/SharedDataFacade.h | 7 ++-- data_structures/static_rtree.hpp | 41 +--------------------- plugins/distance_table.hpp | 1 - plugins/nearest.hpp | 1 - plugins/viaroute.hpp | 3 +- 7 files changed, 7 insertions(+), 57 deletions(-) diff --git a/Server/DataStructures/BaseDataFacade.h b/Server/DataStructures/BaseDataFacade.h index a73b6db72..23d2aaf2e 100644 --- a/Server/DataStructures/BaseDataFacade.h +++ b/Server/DataStructures/BaseDataFacade.h @@ -101,13 +101,11 @@ template class BaseDataFacade virtual bool IncrementalFindPhantomNodeForCoordinate(const FixedPointCoordinate &input_coordinate, std::vector &resulting_phantom_node_vector, - const unsigned zoom_level, const unsigned number_of_results) = 0; virtual bool IncrementalFindPhantomNodeForCoordinate(const FixedPointCoordinate &input_coordinate, - PhantomNode &resulting_phantom_node, - const unsigned zoom_leve) = 0; + PhantomNode &resulting_phantom_node) = 0; virtual unsigned GetCheckSum() const = 0; diff --git a/Server/DataStructures/InternalDataFacade.h b/Server/DataStructures/InternalDataFacade.h index 05cc831af..27805559d 100644 --- a/Server/DataStructures/InternalDataFacade.h +++ b/Server/DataStructures/InternalDataFacade.h @@ -379,13 +379,11 @@ template class InternalDataFacade : public BaseDataFacade resulting_phantom_node_vector; auto result = IncrementalFindPhantomNodeForCoordinate(input_coordinate, resulting_phantom_node_vector, - zoom_level, 1); if (result) { @@ -398,7 +396,6 @@ template class InternalDataFacade : public BaseDataFacade &resulting_phantom_node_vector, - const unsigned zoom_level, const unsigned number_of_results) final { if (!m_static_rtree.get()) @@ -407,7 +404,7 @@ template class InternalDataFacade : public BaseDataFacadeIncrementalFindPhantomNodeForCoordinate( - input_coordinate, resulting_phantom_node_vector, zoom_level, number_of_results); + input_coordinate, resulting_phantom_node_vector, number_of_results); } unsigned GetCheckSum() const final { return m_check_sum; } diff --git a/Server/DataStructures/SharedDataFacade.h b/Server/DataStructures/SharedDataFacade.h index 26b9dc52d..df08384db 100644 --- a/Server/DataStructures/SharedDataFacade.h +++ b/Server/DataStructures/SharedDataFacade.h @@ -371,13 +371,11 @@ template class SharedDataFacade : public BaseDataFacade resulting_phantom_node_vector; auto result = IncrementalFindPhantomNodeForCoordinate(input_coordinate, resulting_phantom_node_vector, - zoom_level, 1); if (result) { @@ -390,7 +388,6 @@ template class SharedDataFacade : public BaseDataFacade &resulting_phantom_node_vector, - const unsigned zoom_level, const unsigned number_of_results) final { if (!m_static_rtree.get() || CURRENT_TIMESTAMP != m_static_rtree->first) @@ -399,7 +396,7 @@ template class SharedDataFacade : public BaseDataFacadesecond->IncrementalFindPhantomNodeForCoordinate( - input_coordinate, resulting_phantom_node_vector, zoom_level, number_of_results); + input_coordinate, resulting_phantom_node_vector, number_of_results); } unsigned GetCheckSum() const final { return m_check_sum; } diff --git a/data_structures/static_rtree.hpp b/data_structures/static_rtree.hpp index 865931711..147e5d015 100644 --- a/data_structures/static_rtree.hpp +++ b/data_structures/static_rtree.hpp @@ -37,6 +37,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "shared_memory_vector_wrapper.hpp" #include "../Util/floating_point.hpp" +#include "../Util/integer_range.hpp" #include "../Util/MercatorUtil.h" #include "../Util/OSRMException.h" #include "../Util/simple_logger.hpp" @@ -649,21 +650,11 @@ class StaticRTree bool IncrementalFindPhantomNodeForCoordinate(const FixedPointCoordinate &input_coordinate, std::vector &result_phantom_node_vector, - const unsigned zoom_level, const unsigned number_of_results, const unsigned max_checked_segments = 4*LEAF_NODE_SIZE) { - // TIMER_START(samet); - // SimpleLogger().Write(logDEBUG) << "searching for " << number_of_results << " results"; std::vector min_found_distances(number_of_results, std::numeric_limits::max()); - - // unsigned dequeues = 0; - // unsigned inspected_mbrs = 0; - // unsigned loaded_leafs = 0; unsigned inspected_segments = 0; - // unsigned pruned_elements = 0; - // unsigned ignored_segments = 0; - // unsigned ignored_mbrs = 0; unsigned number_of_results_found_in_big_cc = 0; unsigned number_of_results_found_in_tiny_cc = 0; @@ -677,13 +668,9 @@ class StaticRTree const IncrementalQueryCandidate current_query_node = traversal_queue.top(); traversal_queue.pop(); - // ++dequeues; - const float current_min_dist = min_found_distances[number_of_results-1]; - if (current_query_node.min_dist > current_min_dist) { - // ++pruned_elements; continue; } @@ -692,13 +679,6 @@ class StaticRTree const TreeNode & current_tree_node = current_query_node.node.template get(); if (current_tree_node.child_is_on_disk) { - // ++loaded_leafs; - // SimpleLogger().Write(logDEBUG) << "loading leaf: " << current_tree_node.children[0] << " w/ mbr [" << - // current_tree_node.minimum_bounding_rectangle.min_lat/COORDINATE_PRECISION << "," << - // current_tree_node.minimum_bounding_rectangle.min_lon/COORDINATE_PRECISION << "," << - // current_tree_node.minimum_bounding_rectangle.max_lat/COORDINATE_PRECISION << "-" << - // current_tree_node.minimum_bounding_rectangle.max_lon/COORDINATE_PRECISION << "]"; - LeafNode current_leaf_node; LoadLeafFromDisk(current_tree_node.children[0], current_leaf_node); // Add all objects from leaf into queue @@ -717,23 +697,10 @@ class StaticRTree { traversal_queue.emplace(current_perpendicular_distance, current_edge); } - // else - // { - // ++ignored_segments; - // } } - // SimpleLogger().Write(logDEBUG) << "added " << current_leaf_node.object_count << " roads into queue of " << traversal_queue.size(); } else { - // ++inspected_mbrs; - // explore inner node - // SimpleLogger().Write(logDEBUG) << "explore inner node w/ mbr [" << - // current_tree_node.minimum_bounding_rectangle.min_lat/COORDINATE_PRECISION << "," << - // current_tree_node.minimum_bounding_rectangle.min_lon/COORDINATE_PRECISION << "," << - // current_tree_node.minimum_bounding_rectangle.max_lat/COORDINATE_PRECISION << "-" << - // current_tree_node.minimum_bounding_rectangle.max_lon/COORDINATE_PRECISION << "," << "]"; - // for each child mbr for (uint32_t i = 0; i < current_tree_node.child_count; ++i) { @@ -750,12 +717,7 @@ class StaticRTree { traversal_queue.emplace(lower_bound_to_element, child_tree_node); } - // else - // { - // ++ignored_mbrs; - // } } - // SimpleLogger().Write(logDEBUG) << "added " << current_tree_node.child_count << " mbrs into queue of " << traversal_queue.size(); } } else @@ -866,7 +828,6 @@ class StaticRTree bool IncrementalFindPhantomNodeForCoordinateWithDistance(const FixedPointCoordinate &input_coordinate, std::vector> &result_phantom_node_vector, - const unsigned zoom_level, const unsigned number_of_results, const unsigned max_checked_segments = 4*LEAF_NODE_SIZE) { diff --git a/plugins/distance_table.hpp b/plugins/distance_table.hpp index 816d33d76..5f7e6bd50 100644 --- a/plugins/distance_table.hpp +++ b/plugins/distance_table.hpp @@ -90,7 +90,6 @@ template class DistanceTablePlugin final : public BasePlugin } facade->IncrementalFindPhantomNodeForCoordinate(route_parameters.coordinates[i], phantom_node_vector[i], - route_parameters.zoom_level, 1); BOOST_ASSERT(phantom_node_vector[i].front().is_valid(facade->GetNumberOfNodes())); diff --git a/plugins/nearest.hpp b/plugins/nearest.hpp index 1bdf1bfca..ac1079be4 100644 --- a/plugins/nearest.hpp +++ b/plugins/nearest.hpp @@ -60,7 +60,6 @@ template class NearestPlugin final : public BasePlugin std::vector phantom_node_vector; facade->IncrementalFindPhantomNodeForCoordinate(route_parameters.coordinates.front(), phantom_node_vector, - route_parameters.zoom_level, static_cast(number_of_results)); JSON::Object json_result; diff --git a/plugins/viaroute.hpp b/plugins/viaroute.hpp index af5843e3c..4c564db85 100644 --- a/plugins/viaroute.hpp +++ b/plugins/viaroute.hpp @@ -93,8 +93,7 @@ template class ViaRoutePlugin final : public BasePlugin } } facade->IncrementalFindPhantomNodeForCoordinate(route_parameters.coordinates[i], - phantom_node_vector[i], - route_parameters.zoom_level); + phantom_node_vector[i]); } RawRouteData raw_route;