【发布时间】:2012-11-28 07:02:31
【问题描述】:
如何将 R* 树实现为持久(基于磁盘)的树?保存 R* 树索引或保存叶值的文件架构是什么?
注意:此外,如何在这样的持久性 R* 树中执行插入、更新和删除操作?
Notes II:我已经实现了一个具有批量加载功能的内存 R-Tree。但我认为当我们谈论基于磁盘的磁盘时,这完全无关紧要。
【问题讨论】:
-
您考虑过使用数据库吗?
-
几年前,我们使用 Oracle 地理空间工具。但它有两个问题:1)我们的工作量很慢,2)在某些时候我们需要在一组地理围栏(多边形)中搜索,以查看给定点是否在其中。另一个原因是我们计划离开甲骨文。同时,我正在通过我自己编写的内存应用程序处理该搜索(并查找 NN 和路由等)。我的新问题是我编写它时好像我的原始数据是只读的,所以我将平衡树加载到内存中。但是添加新项目迫使我重新平衡树。
-
MongoDB 非常擅长地理空间索引。
-
好吧,刚开始,当你遇到困难时更具体地询问。目前,这不是一个可以回答的问题。
-
并非如此。问题仍然是“我应该从哪里开始”。无论你在哪里,从那里继续!
标签: c# java gis geospatial r-tree