首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对于一个简单的更新,libspatialindex需要重新序列化吗?

对于一个简单的更新,libspatialindex需要重新序列化吗?
EN

Stack Overflow用户
提问于 2013-02-11 18:24:12
回答 1查看 597关注 0票数 1

我正在为桌面应用程序寻找c或c++库(没有服务器-客户机,只需要编辑存储在磁盘中的数据),具有以下特性

  • 将空间数据存储在虚拟内存中,因此空间查询是快速的。
  • 可以选择维护磁盘中的等效数据,并以智能方式进行更新。更新不需要是即时的,但可以缓冲。

。libspatialindex似乎满足了需求。但是有一件事从网页上还不清楚,那就是,让我们说,我从磁盘上加载了大量的数据,只想更新一个很小的对象。libspatialindex是重新序列化整个数据并将其写入磁盘,还是只更新需要更改的部分是明智的?

带有RTree的sqlite似乎正在实现这一目标。但是,我希望有一个简单的c++库,而不是所有的sql库。

还有其他的超级药物吗。GEOS是否有任何智能磁盘映像更新功能?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-11 20:43:40

libspatialindex的DiskStorageManager文档说:

磁盘存储管理器使用两个随机访问文件来存储信息。..。.idx文件在初始化时加载到主内存中,只有在刷新存储管理器或销毁对象时才会写入磁盘。如果发生意外故障,存储管理器的更改将因陈旧的.idx文件而丢失。避免这类灾害是今后的工作。

..。这意味着,每当索引项更改时,数据文件中的相应页面都会被更新。

这在本质上类似于SQLite数据库,只是SQLite文件在崩溃后不会损坏。( SQLite存储管理器似乎是libspatialindex的一个明显扩展。)

我建议考虑使用SQLite;如果您不喜欢它的wraps,请使用一个封装它的框架,例如Qt。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14818414

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档