空间索引笔记

因为多维坐标的索引与一维数据索引存在差别,所以一般对于多维数据会采取以下的几种方法建立索引

1、网格索引——对于二维坐标集合,使用网格将其划分成不同的细分区域并建立索引,这样对兴趣点的搜索从所有点的集合减少到某一个范围内点的集合的搜索。

2、四叉树索引——类似于网格索引通过建立细分区域减少搜索次数。不过四叉树索引通过迭代的方法将每一个区域划分为四份(类似平面直角坐标系)。根据不同区域内点的数量,四叉树索引可能最后会生成一个极不平衡树。

3、Kd树索引——kd树可以建立多维数据的划分索引。通过找到每一维方差最大的维度,以这个维度的中位数为根节点将数据集合划分为左右两子树,然后对左右两子树递归进行上述步骤建立kd树。Kd的查找过程类似于二叉排序树,但当找到叶子节点时,计算一个最短距离,然后回到父节点通过条件判断是否查找另外一颗子树(也就是说kd树通过相应的查找设置避免了查找不到的缺陷,但是这种方法增加了复杂度)。

4、R树索引——建立节点的最小外接矩形,然后迭代的方式给这些最小外接矩形建立最小外接矩形,以此来对空间进行分割。R树的搜索只需判断兴趣点是否在这些矩形内就好。

你可能感兴趣的:(空间索引笔记)