Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/133.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Boost:R树的持久存储?_C++_Serialization_Boost_Boost Geometry - Fatal编程技术网

C++ Boost:R树的持久存储?

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:一

因此boost以R树的形式提供了很好的空间索引功能。这很好,但是在构建树之后,似乎还不可能序列化它,我错了吗

通常的“out_归档”
  • 包装算法与批量装载 可以加载包(使用打包算法)

    此外,还有一些算法创建包含一定数量对象的R-树。这种技术称为批量加载,使用打包算法[5][6]完成。这种方法速度更快,生成的R-树具有更好的内部结构。这意味着提高了查询性能

    [5] Leutenegger,Scott T.;Edgington,Jeffrey M.;Lopez,Mario A.(1997)。STR:一种简单有效的R-树布局算法

    [6] Garcia,Yvan J.;Lopez,Mario A.;Leutenegger,Scott T.(1997)。批量装载R-树的贪婪算法

    更多详情:

  • 使用内存映射文件 您可以将内存映射文件与自定义分配器一起使用。这样,您可以使用所需的任何表示形式,它将自动保持

    更多详情:


  • 请参阅,了解类似的问题。我认为,如果我们谈论的是145M个条目,那么在基于内存的R树实现中添加持久性是没有意义的。相反,请使用设计用于持久存储索引信息的实现。另一个想法是创建虚拟堆(使用磁盘文件作为虚拟存储),并将分配、访问和解除分配R树项的所有调用映射到相应的虚拟堆API“然后,虚拟内存堆的文件将成为您的持久索引,在运行时,您可以在内存中保存尽可能多的条目,并在内存可用时缓存交换文件。内存映射文件似乎可以实现我想要的功能,谢谢!生成的文件很大,但它们非常适合压缩,所以没问题。这有点令人困惑,因为您无法透明地映射压缩文件的内存。我想你应该保存(多个)离线拷贝。