参考链接:https://blog.csdn.net/zhshulin/article/details/19031177
问题:在一个平面层上面,给出一个矩形,找出这个矩形里的所有点。
- 暴力法:遍历所有点,判断是否在矩形里面
- 网格索引:划分网格,对于每个网格元素,作为集合对象,记录包含在这个网格里面的所有图元的信息(地址或引用)。
缺点:如果索引一条线的时候,一条线的引用在多个网格中都被记录,会存在索引的冗余。
- 四叉树索引: 首先把每一个图元用一个最小外包矩阵MBR包含。然后递归地给地理空间进行四分,知道自己设定的终止条件(如一个区域只有不超过两个的图元)
缺点:也会存在索引的冗余
- 改进的四叉树索引:在四叉树索引的基础上,让每一图元的MBR被一个最小区域完全包含。图元的标识不再仅仅存储在叶子节点上,而是每个节点都有可能存储,这样也就避免了索引冗余。同时每个节点存储本节点所在的地理范围。
优点:改进的四叉树索引解决了线,面对象的索引冗余,具有较好的性能