C++ Boost:R树的持久存储?
因此boost以R树的形式提供了很好的空间索引功能。这很好,但是在构建树之后,似乎还不可能序列化它,我错了吗 通常的“out_归档”C++ Boost:R树的持久存储?,c++,serialization,boost,boost-geometry,C++,Serialization,Boost,Boost Geometry,因此boost以R树的形式提供了很好的空间索引功能。这很好,但是在构建树之后,似乎还不可能序列化它,我错了吗 通常的“out_归档” 包装算法与批量装载 可以加载包(使用打包算法) 此外,还有一些算法创建包含一定数量对象的R-树。这种技术称为批量加载,使用打包算法[5][6]完成。这种方法速度更快,生成的R-树具有更好的内部结构。这意味着提高了查询性能 [5] Leutenegger,Scott T.;Edgington,Jeffrey M.;Lopez,Mario A.(1997)。STR:一
请参阅,了解类似的问题。我认为,如果我们谈论的是145M个条目,那么在基于内存的R树实现中添加持久性是没有意义的。相反,请使用设计用于持久存储索引信息的实现。另一个想法是创建虚拟堆(使用磁盘文件作为虚拟存储),并将分配、访问和解除分配R树项的所有调用映射到相应的虚拟堆API“然后,虚拟内存堆的文件将成为您的持久索引,在运行时,您可以在内存中保存尽可能多的条目,并在内存可用时缓存交换文件。内存映射文件似乎可以实现我想要的功能,谢谢!生成的文件很大,但它们非常适合压缩,所以没问题。这有点令人困惑,因为您无法透明地映射压缩文件的内存。我想你应该保存(多个)离线拷贝。