Boost:R树的持久存储?

耶罗克斯

因此,boost以R树的形式提供了不错的空间索引功能。这很整洁,但是一旦树被构建,似乎还无法序列化,是吗?

常规的“ out_archive << rtree”语法不起作用,因为rtree没有serialize()成员。在boost 1.57中,似乎有一些实验代码,例如/boost/geometry/index/detail/serialization.hpp,但实际上似乎没有编译!

所以第一个问题:有人知道如何使用boost序列化R树吗?

如果不是,那么我的第二个问题是:您将如何将索引永久存储在磁盘上,以避免每次都重新构建索引?(我有一个包含1.45亿个条目的数据集,构建索引需要花费几个小时,所以我真的不想多次构建索引!)

  1. 打包算法和批量装载

    可以加载包(使用打包算法)。

    此外,还有创建包含一些对象的R树的算法。这项技术称为批量加载,是通过使用打包算法[5] [6]完成的。此方法速度更快,并导致R树具有更好的内部结构。这意味着查询性能得到提高。

    [5] Leutenegger,Scott T .;Edgington,Jeffrey M .;洛佩兹,马里奥·A(1997)。STR:一种简单高效的R树打包算法

    [6] Garcia,Yvan J .;洛佩兹,马里奥·A。Leutenegger,Scott T.(1997)。批量加载R树的贪婪算法

    更多详细信息:http : //www.boost.org/doc/libs/1_57_0/libs/geometry/doc/html/geometry/spatial_indexes/introduction.html

  2. 使用内存映射文件

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

    更多详细信息:http : //www.boost.org/doc/libs/1_57_0/libs/geometry/doc/html/geometry/spatial_indexes/rtree_examples/index_stored_in_mapped_file_using_boost_interprocess.html

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何持久存储NSManagedObjectID?

来自分类Dev

iOS持久存储框架

来自分类Dev

如何持久存储NSManagedObjectID?

来自分类Dev

Python中的共享持久存储

来自分类Dev

Swift中的简单持久存储

来自分类Dev

持久存储在kubernetes容器中

来自分类Dev

在Swift中持久存储对象数组

来自分类Dev

使用Cassandra在JanusGraph中持久存储

来自分类Dev

通过卷的docker持久存储

来自分类Dev

PWA持久存储最佳实践

来自分类Dev

CoreData持久存储异步保存

来自分类Dev

持久存储html中的值(javascript)

来自分类Dev

在Swift中持久存储对象数组

来自分类Dev

如何使用SQL Server 2008 R2作为ActiveMQ 5.9的持久存储

来自分类Dev

r Shiny:从以前持久存储的数据中加载数据以形成字段

来自分类Dev

在Boost R树中存储或访问对象

来自分类Dev

持久存储更改后如何刷新fetchedResultsController

来自分类Dev

如何在NeDB中实现持久存储?

来自分类Dev

使用OS.File在文件中持久存储JSON

来自分类Dev

持久存储在Spark中不起作用

来自分类Dev

确定保存NSManagedObjectContext是否会导致对持久存储的更改

来自分类Dev

如何持久存储代数数据类型

来自分类Dev

如何持久存储对象的值而不是其名称?

来自分类Dev

将数据写入具有持久存储的文件,快速

来自分类Dev

Core Data和Swift中的计算属性与持久存储

来自分类Dev

使用TTL最好的海量数据持久存储?

来自分类Dev

React-Native android:持久存储选项有哪些?

来自分类Dev

如何拥有持久存储的包的PyPI

来自分类Dev

如何从Redux持久存储中读取(localstorage)