1.一种三维自适应网格R+树混合索引构建方法,其特征在于:包括以下步骤:S1:多级网格结构的构建与划分;
S2:实际划分网格;
S3:利用基于正态分布的多级网格自动划分算法构建多级网格结构;
S4:网格划分完成后,网格结点的数量小于阈值ε,对网格中的结点构建R+树;
S5:构建整体三维自适应网格R+树混合索引结构。
2.根据权利要求1所述的一种三维自适应网格R+树混合索引构建方法,其特征在于:S1中,多级网格结构的构建与划分,具体包括以下步骤:S101:在三维空间中,将空间分成m×n×t块,一个m×n×t网格就有m×n×t个桶,第i个桶表示为Buck[index],其中,0
S102:设定分布密度,用disd来表示,计算公式如下所示:其中,count表示子网格内的对象个数,volume表示子网格的体积;
S103:这里密度分布大小阈值为ε,ε为人为设定的;
当子网格disd≥ε时,所述子网格被设定为稠密区间,需对其继续划分;
当子网格disd<ε时,所述子网格被设定为稀疏区间,不再继续往下划分。
3.根据权利要求1所述的一种三维自适应网格R+树混合索引构建方法,其特征在于:S2中,实际划分网格,具体包括以下步骤:S201:由所给的数据集可以得到其边界坐标:Xmax、Xmin、Ymax、Ymin、Zmax、Zmin,根结点在X轴,Y轴,Z轴上的长度如下所示:LX=Xmax‑Xmin
LY=Ymax‑Ymin
LZ=Zmax‑Zmin
其中,LX表示根结点在X轴上的长度,LY表示根节点在Y轴上的长度,LZ表示根节点在Z轴上的长度;
S202:网格划分,利用基于正态分布的多级网格自动划分算法,划分为m×n×t个基本网格G111、G112…Gijk…Gmnt,其中1≤i≤m,1≤j≤n,1≤k≤t;并按照Z→Y→X轴的顺序,依次对第一次网格划分后形成的子网格进行编码;子网格接下来的划分也按Z→Y→X轴的顺序优先对子网格进行划分,并将网格中不存在对象的子网格去掉,释放存储空间;
S203:子网格划分,统计各子网格空间中所包含的对象个数,计算此子网格内的分布密度,并根据密集程度,决定是否再对子网格进行划分,如果满足继续划分的条件,则进行划分并将其中所有的元素按照网格划分后的编码顺序将其划入对应的子集中;
S204:循环递归子网格划分操作,直至所有子集中分布密度小于所设定的阈值或者多级网格已经完成三次划分,则完成了多级网格的全部构建。
4.根据权利要求1所述的一种三维自适应网格R+树混合索引构建方法,其特征在于:S3中,利用基于正态分布的多级网格自动划分算法构建多级网格结构,具体包括以下步骤:S301:将三维空间实体的最小边界立方体MBB的长作为研究对象,先对样本进行快速排序,得到一组从小到大排序好的数组集合;
S302:求得样本的均值μ;
S303:求得样本的标准差σ;
S304:若数据服从Gauss分布,则μ+σ的值为网格划分的长,得到网格划分的行数M、网格划分的列数N与层数T;
S305:若数据不服从Gauss分布,则以μ+σ为网格划分的初始值,每次增加0.1σ,增加m次,最终以μ+σ+m×0.1σ作为网格划分的长,得到了网格划分的行数、列数、层数,这里的m由比例系数K决定。
5.根据权利要求1所述的一种三维自适应网格R+树混合索引构建方法,其特征在于:S5中,构建整体三维自适应网格R+树混合索引结构,具体包括以下步骤:S501:利用基于正态分布的多级网格自动划分算法对数据集进行预处理,得到网格划分后的子网格的长宽高,获得划分的网格数m×n×t;
S502:判断网格内的分布密度是否超过阈值,若超过且划分次数小于三次,则继续划分;若没超过,则开始建立R+树索引,三维自适应网格R+树混合索引结构的构建完成。
6.一种三维自适应网格R+树混合索引维护方法,其特征在于:包括以下步骤:M1:三维自适应网格R+树混合索引结构的插入算法;
M2:三维自适应网格R+树混合索引结构的删除算法;
M3:三维自适应网格R+树混合索引结构的修改算法。
7.根据权利要求6所述的一种三维自适应网格R+树混合索引维护方法,其特征在于:M1中,插入算法具体包括以下步骤:
M101:indexID←Get_MultGrid(P),根据点对象的坐标,查找该坐标所在的网格;
M102:判断N是不是叶子结点,若是,则继续判断是否叶子结点已满,若满,则进行结点分裂,否则,直接将对象插入到该结点;
M103:若N不是叶子结点,则选择空间对象或实体的最小边界矩形MBR扩张最小的结点进行插入,算法结束。
8.根据权利要求6所述的一种三维自适应网格R+树混合索引维护方法,其特征在于:M2中,删除算法具体包括以下步骤:
M201:indexID←Get_MultGrid(P),根据点对象的坐标,查找该坐标所在的网格;
M202:判断N是不是叶子结点,若是,则继续判断该结点是否包含对象P;若包含,则直接将对象P从结点中删除,向上调整其父结点索引项,直至根结点为止;
M203:若N不是叶子结点,则遍历N的子结点,寻找包含对象P的叶子结点,然后将其删除,再调整父结点索引项,算法结束。
9.根据权利要求6所述的一种三维自适应网格R+树混合索引维护方法,其特征在于:M3中,修改算法具体包括以下步骤:
M301:调用M2删除算法,删除原来的点;
M302:调用M1插入算法,插入更新后的值,算法结束。
10.一种三维自适应网格R+树混合索引查询方法,其特征在于:包括以下步骤:E1:精确点查询;
E101:indexID←Get_MultGrid(P),根据点对象的坐标,查找该坐标所在的网格;
E102:将E101中网格的子网格作为二级结构R+树的根结点,然后从根结点开始遍历,直到遍历到叶子结点;
E103:如果该叶子结点包含查询点P的信息,则返回,否则继续遍历,直至遍历完该子树,算法结束;
E2:k近邻查询;
E201:利用自动划分算法,对网格进行划分,建立网格,得到桶结构;
E202:得到桶号后,判断桶中的对象个数是否大于k,若大于k,直接调用k近邻查询算法,进行k近邻查询,返回结果集;
E203:若小于k,则需进行剪枝查询,扩大候选集范围,E202,直至遍历完所有桶结构,返回k近邻查询的结果集,算法结束。