R树是空间数据索引结构中重要的一种层次结构,R树是基于B树索引改造的二叉树索引结构。目前已成为许多空间索引方法的基础,不少前沿的空间索引都使用到R树或者对R树改良。其构建思想是以最小边界矩形(MBR)递归地对空间数据集的空间按照“面积”规划进行划分。它的特点如下:
1. R树中非叶子节点代表一个划分的空间区域,即一个矩形空间区域;
2. R树中的叶子节点包含的矩形区域对应空间对象的MBR;
R+树主要针对R树中兄弟节点的MBR重叠后,导致空间搜索性能较差的特点提出的。R+树中,兄弟节点之间的MBR不允许重叠,这使得空间搜索的性能较好,但由于在插入和删除时需保证兄弟节点之间的MBR不能重叠,因此R+树的插入和删除操作的效率较低。
R+树中间节点的所有矩形都是不相交的。如果一个对象的MBR被两个或多个R+树高层节点中的矩形分割,与这些非叶节点中矩形相联系的每个项都有指向这个对象的一个后继叶节点。这样树的高度增加,但搜索操作的性能会大大提高。
接下来,本文主要讲述的是一款高性能的R树空间索引工具库 ——RBush