基于网格R树混合索引构建方法、检索方法和装置与流程

文档序号:34595807发布日期:2023-06-28 20:35阅读:26来源:国知局
基于网格R树混合索引构建方法、检索方法和装置与流程

本发明涉及信息,具体涉及一种基于网格r树混合索引构建方法、检索方法和装置。


背景技术:

1、近年来,随着地理信息系统在电力行业、交通运输、气象预警、水文监测、车辆物流、防灾减灾、农林渔业、公共安全等领域得到广泛应用,空间数据信息的价值在各行各业体现尤为明显,针对日积月累的空间大数据的统一存储、集中管理、高效访问成为了研究地理信息系统的关键处理技术。

2、当前,由于空间数据信息的数据量规模庞大,且这些空间数据信息具有多样性和复杂性,因而在实际运用过程中对于空间数据的查询性能要求极高,并将空间查询性能作为衡量空间数据操作的重要指标。

3、需要指出的是,空间数据查询技术主要是构建各类空间索引,以实现空间数据查询操作,从而满足空间数据高性能访问要求。其中,空间索引主要包括:网格索引、kd树索引、四叉树索引、r树索引等类型。

4、然而,发明人研究发现,传统空间索引主要采用单一性内存索引结构进行空间数据管理,其只能满足数据量规模较小的空间数据访问,且空间索引数据结构全量加载到内存中,这种技术手段的内存开销较大,构建索引速度慢,查询效率低,实际应用效果不佳。

5、由此,当前传统的空间索引手段存在以下几个缺点:

6、(1)传统单一内存空间索引仅支持数据规模较小的空间数据。

7、(2)传统单一内存空间索引查询效率低。空间数据检索效率作为空间索引的重要指标,由于大规模多样化无规则空间矢量数据,空间分布没有规律,采用单一二维树索引结构,将会导致索引树高度变高,空间数据检索代价较大,查询变慢。

8、(3)传统单一内存空间索引,将空间矢量数据全量加载到内存中,对内存开销较大。

9、(4)传统单一内存空间索引顺序构建速度慢,其采用r树、四叉树、kd树索引等二维树索引结构,构建大规模空间数据速度慢,难于进行并行化构建。

10、(5)复杂几何对象构成的点集合总数比较大,一般达到几万个点数甚至更多,采用传统单一内存空间索引对复杂几何对象精确空间几何关系判断需要消耗较多cpu运算时间。


技术实现思路

1、为了克服上述现有技术的缺陷,本发明所要解决的技术问题是:提供一种基于网格r树混合索引构建方法、检索方法和装置,该方案设计简单,其通过采用混合索引构建方式,可以支持超大规模的空间矢量数据索引构建,同时对复杂几何对象进行了三角剖分优化构建流程,以在降低内存使用开销同时,提升数据检索性能,并能够根据检索范围进行高效空间数据检索。

2、为了解决上述技术问题,本发明采用的第一个技术方案为:一种基于网格r树混合索引构建方法,其包括步骤:

3、s1:利用网格初始化参数初始化网格混合索引数据结构;

4、s2:生成全局网格索引分区映射文件,并在所述全局网格索引分区映射文件中存储记录每个地物要素的地物要素顺序编号和地物要素唯一编号;

5、s3:生成地物要素存储文件,并在所述地物要素存储文件中存储记录每个地物要素的地物要素信息;

6、s4:对每个地物要素的地物要素信息中的几何范围参数、构成点数、构成的多面孔洞个数进行分析判断,若所述几何范围参数、构成点数、构成的多面孔洞个数超过设定阈值,则判断该地物要素为复杂几何对象,并采用三角剖分算法将该地物要素的复杂几何对象拆分成若干个地物要素剖分三角形;

7、s5:结合地物要素和/或地物要素剖分三角形的最小外接矩形及所述网格初始化参数计算获得地物要素的网格分区集合;

8、s6:遍历所述地物要素的网格分区集合,为每个网格分区对应建立r树索引。

9、在本发明所设计的这种基于网格r树混合索引构建方法中,采用分而治之的思路进行存储优化,通过将超大规模的空间矢量数据按照网格一级索引分区,每个分区对应一个存储文件,以使每个分区文件对应一棵r树索引。本发明创造性地将网格索引与r树索引结合,有效发挥两个索引的优点,混合索引优势互补。其中,在分区后的r树索引降低了只有唯一r树的树高度,减小了查询矩形范围与更多层次的节点矩形范围进行几何相交判断,从而提高查询效率。

10、此外,在本发明中,通过将复杂几何对象进行三角剖分,能够将复杂几何对象化解为若干简化的地物要素剖分三角形,以提高复杂对象精确化几何运算效率,提高查询效率,降低cpu资源使用率。

11、将本发明所设计的技术方案与传统空间索引采用单一内存索引结构进行空间数据管理的技术方案进行对比不难看出:

12、(1)传统单一内存空间索引仅支持数据规模较小的空间数据。而本发明所提出的这种基于网格r树混合索引方案,能够将海量数据先通过网格进行分区,再在每个分区上对应独立构建一棵r树索引,以此满足海量空间矢量数据的存储组织管理。

13、(2)传统单一内存空间索引查询效率低。而本发明提出的这种基于网格r树混合索引方案,通过网格划分出多棵r树索引,以使得每棵r树的索引矩形范围控制在一定的范围,减小了单棵树的几何对象数据量,降低了树高度,其在检索查询时的树路径较小,可快速获得查询结果集,从而提高检索查询效率。

14、(3)传统单一内存空间索引,将空间矢量数据全量加载到内存中,对内存开销较大。而本发明提出的这种基于网格r树混合索引方案,首先将海量空间矢量数据进行分区管理,减小每个分区的空间数据量,同时构建一棵基于磁盘的r树索引,以支持按需从磁盘中访问相关空间数据。

15、(4)传统单一内存空间索引顺序构建速度慢。而本发明提出的这种基于网格r树混合索引方案,采用一级网格索引进行分区,将数据规模划小,并且每个网格二级索引都相互独立,可开展独立索引构建,其易于实现并行化多棵树索引结构同时构建,能够有效缩短整体空间索引构建时间。

16、(5)传统内存空间索引针对复杂几何对象的查询精确化几何关系运算耗时。而本发明提出的这种基于网格r树混合索引方案,特地针对复杂几何对象进行了索引构建处理,其将复杂对象进行三角剖分处理,然后再构建索引。当精确匹配时,由于复杂对象由若干个简单的地物要素剖分三角形组成,在大部分情况下查询范围只需要跟剖分几何对象进行精细化匹配,其能够有效提高查询效率,并减少cpu的运算消耗。

17、进一步的,在本发明所述的基于网格r树混合索引构建方法中,在步骤s6中,为每个网格分区对应建立r树索引,具体包括如下步骤:

18、s61:初始化r树索引,创建r树索引文件,并设定r树节点的最大节点数量n;

19、s62:在插入r树索引文件时,首先从根节点出发选择地物要素索引项插入的合适路径,将地物要素的最小外接矩形与每个节点的矩形范围进行几何关系运算,找出一条从根节点到叶子节点的插入路径;

20、s63:将所述地物要素索引项以追加的方式插入到所述插入路径的叶子节点;

21、s64:若所述叶子节点的节点数量已满,即超过了r树节点的最大节点数量n,则该叶子节点将分裂为两个节点,整个过程自底向上沿着所述插入路径由叶子节点向根节点传播;若根节点进行分裂,则整棵r树索引将增加一层。

22、进一步的,在本发明所述的基于网格r树混合索引构建方法中,在步骤s1中,根据网格最小经度grid_minx、网格最小纬度grid_miny、网格最大经度grid_maxx、网格最大纬度grid_maxy、网格大小grid_cellsize、网格行数grid_rows、网格列数grid_columns初始化网格混合索引数据结构。

23、进一步的,在本发明所述的基于网格r树混合索引构建方法中,在步骤s2中,所述地物要素顺序编号在地物要素索引构建时按照整数序列号从1开始依次递增生成,所述地物要素唯一编号为地物要素唯一标识的字符串。

24、进一步的,在本发明所述的基于网格r树混合索引构建方法中,在步骤s3中,所述地物要素信息包括地物要素空间属性信息和地物要素实体属性信息,所述地物要素空间属性信息包括地物要素几何对象形状,所述地物要素实体属性信息包括地物要素唯一编号标识、地物要素名称。

25、为了解决上述技术问题,本发明采用的第二个技术方案为:一种基于网格r树混合索引检索方法,所述网格r树混合索引是根据上述任一项所述的基于网格r树混合索引构建方法构建,本发明所述的基于网格r树混合索引检索方法具体包括步骤:

26、100:根据输入几何对象形状,计算所述几何对象的最小外接矩形作为空间数据的查询矩形范围;

27、200:结合网格初始化参数计算所述查询矩形范围所在网格分区集合;

28、300:遍历所述网格分区集合,并加载对应网格分区的r树索引,根据所述查询矩形范围并行对所述对应网格分区的r树索引开展空间检索操作,以收集每个r树索引的结果集,并去除结果集中重复的地物要素顺序编号,合并成候选地物要素编号结果集;

29、400:遍历候选地物要素编号结果集,从全局网格索引分区映射文件的关系中获得每个地物要素的地物要素唯一编号,然后再从地物要素存储文件中获取对应地物要素的地物要素信息,以构成完整的候选地物要素结果集;

30、500:遍历候选地物要素结果集,获取地物要素剖分三角形筛选出的候选地物要素,并将其他的地物要素几何对象形状和输入几何对象形状进行精确几何相交判断,以筛选出相交的地物要素结果集,将所述地物要素剖分三角形筛选出的候选地物要素直接加入所述相交的地物要素结果集,以生成最终地物要素结果集。

31、进一步的,在本发明所述的基于网格r树混合索引检索方法中,在上述步骤100中,所述几何对象的最小外接矩形由左下角点和右上角点信息组成,其包括最小经度query_minx、最小纬度query_miny、最大经度query_maxx和最大纬度query_maxy。

32、进一步的,在本发明所述的基于网格r树混合索引检索方法中,在上述步骤200中,通过已计算出的所述查询矩形范围跨越的网格区域的最小网格x方向编号cell_minx、最小网格y方向编号cell_miny、最大网格x方向编号cell_maxx、最大网格y方向编号cell_maxy,获得网格区域的网格分区集合。

33、进一步的,在本发明所述的基于网格r树混合索引检索方法中,在上述步骤300中,根据所述查询矩形范围并行对所述对应网格分区的r树索引开展空间检索操作,以收集每个r树索引的结果集,具体包括如下步骤301-302:

34、301:从r树索引的根节点开始查询匹配,将所述查询矩形范围与所述根节点进行几何相交判断,若所述查询矩形范围与途经的根节点有交集,则需要与该根节点的所有子节点进行几何相交判断;

35、302:按照深度优先算法遍历r树索引,迭代遍历r树索引各个分支直至叶子节点,并收集有交集的叶子节点结果集;

36、303:将检索获取的所有结果集去除重复后,合并成对应r树的结果集。

37、为了解决上述技术问题,本发明采用的第三个技术方案为:一种基于网格r树混合索引构建检索装置,其包括:

38、索引元数据模块,所述索引元数据模块用以记录网格r树混合索引的基础数据信息,所述基础数据信息包括网格初始化参数信息和r树参数信息;

39、三角剖分模块,所述三角剖分模块用以判断地物要素是否为复杂几何对象,并针对复杂几何对象进行三角剖分,以将地物要素的复杂几何对象剖分为若干个地物要素剖分三角形;

40、网格索引模块,所述网格索引模块用于计算地物要素网格索引,并根据索引元数据信息生成网格索引结构;

41、r树索引模块,所述r树索引模块用以实现r树索引文件的生成和加载,并提供r树索引的数据节点插入算法、r树空间查询算法;

42、全局网格索引分区模块,所述全局网格索引分区模块用以实现全局网格索引分区映射文件生成和加载,并提供地物要素顺序编号与地物要素唯一编号的映射关系建立功能;

43、地物要素存储模块,所述地物要素存储模块用以实现地物要素存储文件的生成和加载,提供对地物要素的基础属性信息存储,地物要素空间几何对象的序列化和地物要素相关属性信息的序列化存储功能;

44、查询数据预处理模块,所述查询数据预处理模块用以实现对输入几何对象的数据预处理,根据几何对象要素类型生成对应的最小外接矩形,调用网格索引模块和r树索引模块实现空间检索;

45、查询结果集生成模块,所述查询结果集生成模块能够对查询候选地物要素结果集的合并,并对查询输入几何对象和候选结果集进行精确几何匹配生成最终地物要素结果集。

46、本发明的有益效果在于:本发明所设计的这种基于网格r树混合索引构建方法、检索方法和装置的方案设计简单,其通过为大规模空间矢量数据构建一级网格索引分区,再对每个网格索引分区构建基于磁盘的二级r树索引,以实现对海量空间矢量数据索引存储,并提供高效的混合索引空间查询方法,能够满足高性能空间矢量数据访问要求。

47、本发明创造性地将网格索引与r树索引结合,有效发挥两个索引的优点,混合索引优势互补,以利用混合索引构建方式,支持超大规模的空间矢量数据索引构建;此外,本发明还针对复杂几何对象进行了三角剖分优化构建流程,其基于内外存结合的方式能够根据检索范围进行高效空间数据检索,以在降低内存使用开销的同时,提升数据检索性能。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1