0
我想創建dynamic_quadratic的rtree,並在承包商處給它一個使用包裝算法的範圍。 在這裏我的代碼用正則二次方法來完成它。使用dynamic_quadratic進行boost中的包裝算法
namespace bg = boost::geometry;
namespace bgi = boost::geometry::index;
typedef bg::model::point<double , 3, bg::cs::cartesian> BoostPoint;
typedef std::pair<BoostPoint, unsigned> PointValue;
std::vector<PointValue> points;
for(...)
{
//fill in the points vector
}
bgi::rtree< PointValue, bgi::quadratic<16> > rtree_points(points);
如何我可以做到這一點:
bgi::rtree< PointValue, bgi::dynamic_quadratic > rtree_points(points);
?
Alredy看看下面這個例子:
packing algorithm in rtree in boost
你要通過'BGI :: dynamic_quadratic'對象作爲第二個構造參數但'BGI構造:: dynamic_quadratic'取RTREE的節點的元素的最大數量(這對應於'BGI: :二次模板參數)。在你的例子中,std :: vector'點的大小被隱式轉換爲'bgi :: dynamic_quadratic'(這可能根本不應該被允許),所以你創建的rtree只有一個包含所有元素的巨大節點。這rtree不會加快速度。您應該傳遞bgi :: dynamic_quadratic(16)作爲第二個參數。 –