System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于空间大数据处理,更具体地,涉及一种基于格网的空间对象拓扑关系计算方法及系统。
技术介绍
1、近年来,随着全球定位系统和物联网等技术的发展,空间数据呈现爆发式增长。例如,在2021年第四季度,某出行服务公司在全球拥有1.18亿月度活跃用户,平均每天产生1900万次出行记录。从这些海量的空间数据中挖掘有价值的信息能够应用到城市规划、犯罪数据分析、流行病分析等各个领域。空间数据挖掘依赖基础的空间关系计算,尤其是拓扑关系的计算。例如,研究人员经常统计每个行政区内包含哪些兴趣点。但是传统拓扑关系计算方法复杂度高,这给上层应用的时效性和大规模推广带来了巨大的挑战。
2、传统的拓扑关系计算主要包含过滤和求精两个步骤。在过滤过程中,通常以空间对象的最小包围矩形(minimum bounding rectangle,mbr)作为输入来粗略判断空间对象间的拓扑关系。然而,由于mbr是对空间对象的粗略逼近,单纯依赖mbr的过滤过程往往会导致大量不匹配的候选对象进入耗时的求精阶段。在求精过程中,使用精确的空间坐标进行几何运算来确定它们的拓扑关系,这是非常耗时的。为了缓解这一问题,研究人员提出了各种的空间对象逼近模型。例如,有研究人员提出了多边形被栅格化为一组网格单元的方案,又例如,有研究人员使用tile-mbr来近似表达多边形。然而,现有的方案大多侧重于提高过滤阶段的效率,极少优化求精过程,计算效率较低。此外,现有技术方案通常也未考虑如何平衡过滤和求精成本的问题。
技术实现思路
2、本专利技术提供一种基于格网的空间对象拓扑关系计算方法,包括以下步骤:
3、s1:对空间对象进行自适应剖分;
4、所述空间对象为点对象或非点对象,将每个所述点对象自适应地剖分为一个固定层级格网,将每个所述非点对象根据设置的剖分阈值自适应地剖分为一组多层级的格网单元的集合,对所有空间对象进行自适应剖分后得到格网集;
5、s2:基于自适应格网进行过滤处理;
6、使用所述s1得到的格网集进行空间对象间拓扑关系的粗略判断,并计算得到重叠格网集;
7、s3:基于自适应格网进行求精处理;
8、对过滤处理后无法判定拓扑关系的候选对,使用所述s2得到的重叠格网集中记录的坐标片段判断空间对象间精确的拓扑关系。
9、优选的,所述s1中,通过对过滤和求精处理过程进行成本分析得到最优seg,根据最优seg确定seg的取值;或者,通过在预先得到的seg的推荐取值范围内进行选取确定seg的取值,seg的推荐取值范围为5~15;
10、确定seg的取值后,结合空间对象包含的点数量计算得到所述非点对象的剖分阈值,计算公式如下:
11、ng=np/seg
12、式中,ng为格网单元的数量阈值,ng作为非点对象的剖分阈值;np为空间对象包含的点数量,seg为每个格网单元所包含的线段数。
13、优选的,对过滤和求精处理过程进行成本分析时,将基于自适应格网的空间对象拓扑关系计算所需的总耗时记为cost,总耗时cost为过滤处理过程的耗时costf与求精处理过程的耗时costr之和,表示如下:
14、
15、式中,tf为在基于自适应格网过滤处理过程中每次格网拓扑关系的计算耗时,tr为在基于自适应格网的求精处理过程中每个相交测试的耗时,p为重叠格网的比例;
16、通过计算cost对seg的导数得到最优seg,表示如下:
17、
18、当时,f′(seg)=0,总耗时cost达到最小值。
19、优选的,所述s1中,将每个所述非点对象根据设置的剖分阈值自适应地剖分为一组多层级的格网单元的集合的具体实现方式包括:
20、根据非点对象最小包围矩形的大小计算初始剖分层级;根据非点对象最小包围矩形的四个角点坐标及所述初始剖分层级计算初始剖分格网;
21、将非点对象的初始剖分格网添加到候选队列中,递归拆分候选队列中的格网单元;采用自顶向下的方式剖分非点对象,包括:如果空间对象与剖分得到的格网不相交,则丢弃该格网;如果空间对象完全包含剖分得到的格网,则将该格网记为内部格网,并直接加入到内部格网集中;如果空间对象与剖分得到的格网相交,则将该格网记为边缘格网,并添加到候选队列中;
22、重复执行上述拆分、剖分操作,直到候选队列中的格网数量达到所述剖分阈值,合并内部格网集和候选队列中的格网得到结果集,完成格网化;
23、对所述结果集中的格网依格网编码进行升序排序,并计算非点对象与各个格网单元相交的坐标片段,记录在格网单元中。
24、优选的,所述s1中,将每个所述点对象自适应地剖分为一个固定层级格网的具体实现方式包括:根据点对象所在的经纬度和给定的格网级别计算点对象所在格网单元的行号和列号;按位交叉编码的方式计算该点对象的z-order编码。
25、优选的,所述s2包括以下子步骤:
26、s201:判断两个空间对象的最小包围矩形是否相交;若不相交,则两个空间对象为相离关系;若相交,则转入s202;
27、s202:判断两个空间对象的格网集的编码区间是否相交;若不相交,则两个空间对象为相离关系;若相交,则转入s203;
28、s203:顺序遍历两个空间对象的格网集,计算两个空间对象的格网集的重叠格网集,基于重叠格网集完成过滤处理。
29、优选的,所述s203中,过滤处理的结果有以下几种情况:
30、若重叠格网集为空,则两个空间对象为相离关系;
31、若重叠格网集不为空,且重叠格网集中存在内部格网,则两个空间对象为相交关系;
32、若重叠格网集不为空,且重叠格网集中均为边缘格网,则该候选对需要进一步求精,转入s3。
33、优选的,所述s3包括以下子步骤:
34、s301:取出两个空间对象在重叠格网集中的坐标片段,形成线段集;
35、s302:使用扫描线索引算法判断两个空间对象是否相交;如果存在相交线段,则两个空间对象为相交关系;否则,转入s303;
36、s303:基于最小包围矩形粗略判断是否存在包含关系;如果两个空间对象的最小包围矩形不存在包含或被包含关系时,则两个空间对象为相离关系;否则,转入s304;
37、s304:利用射线法进一步判断两个空间对象是否存在包含关系,从最小包围矩形较小的空间对象中任选取一点,使用射线法判断另一个空间对象是否包含该点;如果包含,则两个对象为包含关系;否则,两个空间对象为相离关系。
38、另一方面,本专利技术提供一种基于格网的空间对象拓扑关系计算系统,包括:
39、自适应剖分模块,用于对空间对象进行自适应剖分;
...【技术保护点】
1.一种基于格网的空间对象拓扑关系计算方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的基于格网的空间对象拓扑关系计算方法,其特征在于,所述S1中,通过对过滤和求精处理过程进行成本分析得到最优SEG,根据最优SEG确定SEG的取值;或者,通过在预先得到的SEG的推荐取值范围内进行选取确定SEG的取值,SEG的推荐取值范围为5~15;
3.根据权利要求2所述的基于格网的空间对象拓扑关系计算方法,其特征在于,对过滤和求精处理过程进行成本分析时,将基于自适应格网的空间对象拓扑关系计算所需的总耗时记为cost,总耗时cost为过滤处理过程的耗时costf与求精处理过程的耗时costr之和,表示如下:
4.根据权利要求1所述的基于格网的空间对象拓扑关系计算方法,其特征在于,所述S1中,将每个所述非点对象根据设置的剖分阈值自适应地剖分为一组多层级的格网单元的集合的具体实现方式包括:
5.根据权利要求1所述的基于格网的空间对象拓扑关系计算方法,其特征在于,所述S1中,将每个所述点对象自适应地剖分为一个固定层级格网的具体实现方式包括:根据点
6.根据权利要求4所述的基于格网的空间对象拓扑关系计算方法,其特征在于,所述S2包括以下子步骤:
7.根据权利要求6所述的基于格网的空间对象拓扑关系计算方法,其特征在于,所述S203中,过滤处理的结果有以下几种情况:
8.根据权利要求6所述的基于格网的空间对象拓扑关系计算方法,其特征在于,所述S3包括以下子步骤:
9.一种基于格网的空间对象拓扑关系计算系统,其特征在于,包括:
10.根据权利要求9所述的基于格网的空间对象拓扑关系计算系统,其特征在于,还包括:
...【技术特征摘要】
1.一种基于格网的空间对象拓扑关系计算方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的基于格网的空间对象拓扑关系计算方法,其特征在于,所述s1中,通过对过滤和求精处理过程进行成本分析得到最优seg,根据最优seg确定seg的取值;或者,通过在预先得到的seg的推荐取值范围内进行选取确定seg的取值,seg的推荐取值范围为5~15;
3.根据权利要求2所述的基于格网的空间对象拓扑关系计算方法,其特征在于,对过滤和求精处理过程进行成本分析时,将基于自适应格网的空间对象拓扑关系计算所需的总耗时记为cost,总耗时cost为过滤处理过程的耗时costf与求精处理过程的耗时costr之和,表示如下:
4.根据权利要求1所述的基于格网的空间对象拓扑关系计算方法,其特征在于,所述s1中,将每个所述非点对象根据设置的剖分阈值自适应地剖分为一组多层级的格网单元的集合的具体实现方式包...
【专利技术属性】
技术研发人员:关雪峰,杨向阳,吴华意,向隆刚,殷鹏成,刘启航,
申请(专利权)人:武汉大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。