使用空间indexex库选择r*树的参数
choice of parameters for R* Tree using SpatialIndex library
我正在使用http://libspatialindex.github.com/
的spatialIndex库我在主内存中创建了一个r*树:
size_t capacity = 10;
bool bWriteThrough = false;
fileInMem = StorageManager
::createNewRandomEvictionsBuffer(*memStorage, capacity, bWriteThrough);
double fillFactor = 0.7;
size_t indexCapacity = 10;
size_t leafCapacity = 10;
size_t dimension = 2;
RTree::RTreeVariant rv = RTree::RV_RSTAR;
tree = RTree::createNewRTree(*fileInMem, fillFactor, indexCapacity,
leafCapacity, dimension, rv, indexIdentifier);
然后,我正在插入大量边界盒,目前约为250万(德国巴伐利亚的路网)。稍后,我将旨在插入欧洲的所有道路。
对于存储管理器和RTREE的参数选择是什么?通常,我正在使用rtree找到最接近给定查询的道路(Bbox交叉路口)。
由于您的数据是静态的,因此良好的批量负载可能对您有用。最受欢迎的(也是一个相当简单)的Bluk负载具有分类的回报。但是,它在某种程度上围绕点数据而设计。当您插入空间对象时,它可能也可能不起作用。
如果您使用的是散装负载,它将不再是r*-tree,而是普通的R-Tree。
容量10声音方式对我来说太少了。您想要更大的粉丝。但是您需要基准测试,这是数据集,并查询依赖的内容。我一定会尝试100或更多。
相关文章:
- 如何使用默认参数等选择模板专业化
- 对可变参数使用声明.如何选择正确的功能
- 表达式 SFINAE:如何根据类型是否包含具有一个或多个参数的函数来选择模板版本
- 使模板函数按函数参数选择类型
- 根据模板参数选择宏定义
- 使用 std::条件根据模板参数选择成员类型
- 根据 C++11 中的模板参数选择数组大小
- 为什么 lambda 自动和参数选择常量重载?
- 如何使用模板参数选择方法调用
- 如何根据参数选择变量
- 根据函数参数选择派生类
- 如何根据模板参数选择替代成员函数实现
- 使用mpl::if_和integer模板参数选择类型
- 根据模板参数选择合适的复制构造函数
- 参数选择的问题
- 通过模板参数选择子类与实例化成员变量的区别
- 根据模板整数参数选择一个整数类型
- 根据模板参数选择枚举类型
- 根据模板参数选择函数名称
- 根据模板参数选择联合成员