【发布时间】:2011-08-05 00:26:06
【问题描述】:
我的应用程序从地图文件中加载约 100k 项(矩形)的集合,然后构建 MX-CIF 四叉树作为快速查找的索引。四叉树是在启动时构建的,其内容在运行时不会改变。
(在 MX-CIF 四叉树中,项目由完全包含它的最小节点存储......内部和叶节点都可能包含项目)
在第一遍中,我找到了集合的外部范围,因此我知道根节点有多大。
在第二遍中,我将每个项目添加到完全包含它的最小节点。一旦一个节点传递了一定数量的项目,它就会被拆分,并且子节点会在新的父节点和 4 个子节点之间重新分配。
鉴于我已预先准备好所有项目,我怎样才能更有效地构建树?
【问题讨论】:
-
您能否根据 MBR 以一种有效的方式预先从每个对象中导出一个空间键,然后从键构建索引?