Subject: [Boost-bugs] [Boost C++ Libraries] #12287: rtree.query(bgi::contains(point), std::back_inserter(result)) fails
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2016-06-19 13:37:07
#12287: rtree.query(bgi::contains(point), std::back_inserter(result)) fails
---------------------------------+---------------------------
Reporter: martin.liebenberg@⦠| Owner: barendgehrels
Type: Bugs | Status: new
Milestone: To Be Determined | Component: geometry
Version: Boost 1.61.0 | Severity: Problem
Keywords: index, rtree |
---------------------------------+---------------------------
When adding several points to an rtree, a query with bgi::contains(point)
fails for some of these points. The reason seems to be that
rtree.insert(point) expands a box in the rtree in
boost/geometry/algorithms/expand.hpp so that the coordinate of a point can
lie on the edge of a box. A query with bgi::contains(point) then checks
with boost::geometry::strategy::within::within_range::apply(Value1 const&
value, Value2 const& min_value, Value2 const& max_value) value > min_value
&& value < max_value so that a point on the edge of a box is not captured.
The probability of the concurrency of this failure depends on the number
of inserted points and the template value of the compile-time parameters
of rtree as for instance in bgi::linear<32>. The greater the template
parameter, the more points can be added until the failure occurs.
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/12287> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:20 UTC