面向海量矢量数据检索的QRB树索引方法技术

技术编号:31983756 阅读:19 留言:0更新日期:2022-01-20 02:00
本发明专利技术提供一种面向海量矢量数据检索的QRB树索引方法,包含索引构建和精确检索两个步骤。索引构建时,选择不超过四叉树网格边界且最接近当前矢量要素大小的四叉树网格为隶属网格;将当前矢量要素分别插入至隶属网格关联的R树和桶中;形成QRB树索引;精确检索时,给定一个矩形检索框,分解矩形检索框为若干命中网格;得到内部候选要素集、边界候选要素集和角点候选要素集;通过精细求交测试排除角点命中网格候选集中不与矩形检索框相交的要素后得到新的角点候选要素集;进而得最终的结果集。该方法能够加快QR树索引中R树的定位与读取步骤,减少不必要的R树检索及精细求交测试操作,从而显著提升空间检索的效率。从而显著提升空间检索的效率。从而显著提升空间检索的效率。

【技术实现步骤摘要】
面向海量矢量数据检索的QRB树索引方法


[0001]本专利技术涉及一种面向海量矢量数据检索的QRB树索引方法,属于大数据检索查询


技术介绍

[0002]随着空间信息技术的发展,采集手段的多元化,地理空间数据的规模呈几何级增长,如何有效地组织和管理海量空间数据,使其发挥最大效益,已成为了目前迫切需要解决的问题。空间索引的检索性能决定了空间数据组织与管理的效率,直接影响后续的分析与使用。矢量数据是最常见的一种空间数据。面向矢量数据的空间索引大体可分为树状索引、网格索引和混合索引三类。
[0003]其中,树状索引的典型代表为R树及其变种,其检索性能易受树高、节点范围重叠度等因素影响。网格索引的典型代表为GeoHash索引,其检索性能易受网格大小的影响。混合索引是树状索引和网格索引的综合,以QR树为典型代表,基本思想为:利用四叉树将索引空间划分为不同层级的网格(称为四叉树网格),每个四叉树网格对应一颗R树;索引构建时,将要素插入至要素所在网格所关联的R树中;检索时,将检索框分解为若干不同层级的四叉树网格,然后逐一检索这些四叉树网格所关联的R树获取最终检索结果。QR树索引的本质是借助四叉树网格将一棵大的R树分解为若干小的R树,以提高数据的检索效率,兼具网格索引和树状索引的优势。与R树的变种类似,QR树也存在多个变种,例如,Mao等及邱建华等将QR树索引中的R树分别用R+树或R*树替代提出了QR+树和QR*树索引;杨泽雪等利用松散四叉树(格网边界膨胀)代替常规四叉树提出了LQR树索引;Wang等对QR*树进行了三维扩展提出了3DOR*树索引。
[0004]空间索引常使用要素的最小包络框(Minimum Bounding Rectangle,MBR)来替代要素的真实范围以提升检索性能。为此,实际检索中可分为粗略和精确两种不同的检索方式。前者的检索结果为与检索框存在交集的MBR(而非要素本身),为此存在一定的误差;后者在前者的基础上进一步排除不与检索框相交的要素。与树状索引及网格索引相比,混合索引具备一定的优势,但该类索引目前在粗略检索和精确检索阶段均存在较多的冗余操作,影响该类索引的检索性能。上述问题是在海量矢量数据检索过程中应当予以考虑并解决的问题。

技术实现思路

[0005]本专利技术的目的是提供一种面向海量矢量数据检索的QRB树索引方法解决现有技术因冗余操作而影响其检索性能的问题。
[0006]本专利技术的技术解决方案是:
[0007]一种面向海量矢量数据检索的QRB树索引方法,包括以下步骤,
[0008]S1、构建QRB树索引:利用四叉树将矢量数据所在空间划分为不同层级的四叉树网格,为每个四叉树网格设置一颗R树和一个桶;给定一个矢量要素,选择不超过四叉树网格
边界且最接近当前矢量要素范围的四叉树网格作为隶属网格;将该矢量要素分别插入至隶属网格相关联的R树和桶中;当所有矢量要素插入完毕后,建立随机访问结构存储所有的非空R树和非空桶,形成QRB树索引;
[0009]S2、利用QRB树进行精确检索:给定一个矩形检索框,分解矩形检索框为若干命中网格,将命中网格分类为内部命中网格、边界命中网格和角点命中网格,根据命中网格的类型分别从其关联的桶或R树中检索,进而得到内部候选要素集、边界候选要素集和角点候选要素集;通过精细求交测试排除角点候选要素集中不与矩形检索框相交的要素后得到新的角点候选要素集;将内部候选要素集、边界候选要素集和新的角点候选要素集合并,形成最终的检索结果集。
[0010]进一步地,步骤S1中,选择不超过四叉树网格边界且最接近当前矢量要素范围的四叉树网格作为隶属网格,具体为,
[0011]S11、给定一个矢量要素,计算当前要素MBR对应的四叉树网格的层级l;
[0012]S12、根据当前要素MBR的范围和位置,计算当前要素MBR在层级l下的四叉树网格作为隶属网格。
[0013]进一步地,步骤S11中,计算当前要素MBR对应的四叉树网格的层级l,具体为:
[0014][0015]其中,Ω
x
和Ω
y
分别为当前要素MBR沿x轴的维度大小和沿y轴的维度大小;若四叉树网格为全球范围的网格,则L0=a,否则,其中,ω
x
和ω
y
分别为包含所有矢量要素的整个数据集的MBR沿x轴的维度大小和沿y轴的维度大小,a为一固定常数。
[0016]进一步地,步骤S1中,将矢量要素插入至隶属网格相关联的桶中,具体为,
[0017]S13、根据R树索引的插入算法,将当前要素插入至隶属网格所关联的R树中;
[0018]S14、将当前要素的ID或指针追加至隶属网格所关联的桶所对应的数组中。
[0019]进一步地,步骤S1中,建立随机访问结构存储所有的非空R树和非空桶,具体为,
[0020]S15、初始化R树地址数组和桶地址数组,初值设置为空地址,R树地址数组和桶地址数组的大小均为且N
k
为第k层级四叉树网格的总数量,L0为最大允许层级;
[0021]S16、依照四叉树网格编码的顺序依次对所有非空的R树进行拼接,将结果保存至R树集文件,将每个非空的R树在R树集文件的首地址登记在R树地址数组的第c个元素上,且c为当前非空R树所关联的四叉树网格的编码;
[0022]S17、依照四叉树网格编码的顺序依次对所有非空的桶进行拼接,将结果保存至桶集文件,将每个非空的桶在桶集文件的首地址登记在桶地址数组的第c个元素上,且c为当前非空桶所关联的四叉树网格的编码;
[0023]S18、将R树地址数组和桶地址数组分别写入对应的文件中,R树地址数组文件、桶地址数组文件、R树集文件及桶集文件共同形成随机访问结构即QRB树索引。
[0024]进一步地,步骤S16和步骤S17中,四叉树网格的编码,具体计算方式为:
[0025][0026]其中,N
k
为第k层级四叉树网格的总数,M为当前网格单元在第l层级四叉树网格的
列数,i和j为当前网格单元在第l层级四叉树网格的列和行序号。
[0027]步骤S2中,分解矩形检索框为若干命中网格,具体为,采用四叉树网格的划分方法划分当前矩形检索框,生成所有层级小于L0且与当前矩形检索框相交的四叉树网格为命中网格。
[0028]进一步地,步骤S2中,将命中网格分类为内部命中网格、边界命中网格和角点命中网格,根据命中网格的类型分别从其关联的桶或R树中检索,进而得到内部候选要素集、边界候选要素集和角点候选要素集;通过精细求交测试排除角点候选要素集中不与矩形检索框相交的要素后得到新的角点候选要素集,具体为,
[0029]S21、从QRB树索引中加载R树地址数组文件、桶地址数组文件至内存并常驻;
[0030]S22、根据命中网格与矩形检索框的位置关系,将命中网格分为内部命中网格、边界命中网格和角点命中网格;由公式(2)计算每个命中网格的编码,分别得到内部命本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种面向海量矢量数据检索的QRB树索引方法,其特征在于:包括以下步骤,S1、构建QRB树索引:利用四叉树将矢量数据所在空间划分为不同层级的四叉树网格,为每个四叉树网格设置一颗R树和一个桶;给定一个矢量要素,选择不超过四叉树网格边界且最接近当前矢量要素范围的四叉树网格作为隶属网格;将该矢量要素分别插入至隶属网格相关联的R树和桶中;当所有矢量要素插入完毕后,建立随机访问结构存储所有的非空R树和非空桶,形成QRB树索引;S2、利用QRB树进行精确检索:给定一个矩形检索框,分解矩形检索框为若干命中网格,将命中网格分为内部命中网格、边界命中网格和角点命中网格;根据命中网格的类型分别从其关联的桶或R树中检索,进而得到内部候选要素集、边界候选要素集和角点候选要素集;通过精细求交测试排除角点候选要素集中不与矩形检索框相交的要素后得到新的角点候选要素集;将内部候选要素集、边界候选要素集和新的角点候选要素集合并,形成最终的检索结果集。2.如权利要求1所述的面向海量矢量数据检索的QRB树索引方法,其特征在于:步骤S1中,选择不超过四叉树网格边界且最接近当前矢量要素范围的四叉树网格作为隶属网格,具体为,S11、给定一个矢量要素,计算当前矢量要素MBR对应的四叉树网格的层级l;S12、根据当前要素MBR的范围和位置,计算当前要素MBR在层级l下的四叉树网格作为隶属网格。3.如权利要求2所述的面向海量矢量数据检索的QRB树索引方法,其特征在于:步骤S11中,计算当前要素MBR对应的四叉树网格的层级l,具体为:其中,Ω
x
和Ω
y
分别为当前要素MBR沿x轴的维度大小和沿y轴的维度大小;若四叉树网格为全球范围的网格,则L0=a,否则,其中,ω
x
和ω
y
分别为包含所有矢量要素的整个数据集的MBR沿x轴的维度大小和沿y轴的维度大小,a为一固定常数。4.如权利要求1所述的面向海量矢量数据检索的QRB树索引方法,其特征在于:步骤S1中,将矢量要素插入至隶属网格相关联的桶中,具体为,S13、根据R树索引的插入算法,将当前要素插入至隶属网格所关联的R树中;S14、将当前要素的ID或指针追加至隶属网格所关联的桶所对应的数组中。5.如权利要求1

4任一项所述的面向海量矢量数据检索的QRB树索引方法,其特征在于:步骤S1中,建立随机访问结构存储所有的非空R树和非空桶,具体为,S15、初始化R树地址数组和桶地址数组,初值设置为空地址,R树地址数组和桶地址数组的大小均为且N
k
为第k层级四叉树网格的总数量,L0为最大允许层级;S16、依照四叉树网格编码的顺序依次对所有非空的R树进行拼接,将结果保存至R树集文件,将每个非空的R树在R树集文件的首地址登记在R树地址数组的第c个元素上,且c为当前非空R树所关联的四叉树网格的编码;S17、依照四叉树网格编码的顺序依次对所有非空的桶进行拼接,将结果保存至桶集文
件,将每个非空的桶在桶集文件的首地址登记在桶地址数组的第c个元素上,且c为当前非空桶所关联的四叉树网格的编码;S18、将R树地址数组和桶地址数组分别写入对应的文件中,R树地址数组文件、桶地址数组文件、R树集文件及桶集文件共同形成随机访问结构即QRB树索引。6.如权利要求5所述的面向海量矢量数据检索的QRB树索引方法,其特征在于:步骤S16和步骤S17中,四叉树网格的编码,具体计算方式为:其中,N
k
为第k层级四叉树网格的总数,M为当前网格单元在第l层级四叉树网格的列数,i和j为当前网格单元在第l层级四叉树网格的列和行序号。步骤S2中,分解矩形检索框为若干命中网格,具体为,采用四叉树网格的划分方法划分当前矩形检索框,生成所有层级小于L0且与当前矩形检索框相交的四叉树网格为命中网格。7.如权利要求1

4任一项所述的面向海量矢量数据检索的QRB树索引方法,其特征在于:步骤S2中,将命中网格分为内部命中网格、边界命中网格和角点命中网格;根据命中网格的类型分别从其关联的桶或R树中检索,进而得到内部候选要素集、边界候选要素集和角点候选要素集;通过精细求交测试排除角点候选要素集中不与矩形检索...

【专利技术属性】
技术研发人员:余接情韦祎梁洁吴立新张绍良吴晓光
申请(专利权)人:内蒙古自治区土地调查规划院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1