一种面向路网通信场景的邻近对象索引查询方法与流程

文档序号:15558269发布日期:2018-09-29 01:38阅读:148来源:国知局

本发明涉及一种面向路网通信场景的邻近对象索引查询方法,属于地理信息空间索引及物联网通信技术领域。



背景技术:

近几年,物联网技术发展迅猛,在现代社会中扮演了重要的角色,为人们的生活提供了各种各样便利的服务。物联网通信技术通过利用局部网络或互联网把传感器、控制器等通过新的方式联在一起,形成人与物、物与物相联的信息化、智能化网络。而邻近对象之间的通信是物联网应用领域的一个重要方面,邻近对象通信应用更为常见,尤其是以道路为载体的物联网应用,如车联网、应急救援、紧急疏散等。为了实现邻近对象间的通信,部分物联网应用借助硬件,以自组网的方式实现邻近对象通信,而这种方式受制于硬件的限制,且其应用范围有限。

在基于位置服务(lbs)应用中,进行空间邻近对象查询时,往往会借助r树或b树型索引结构,查找时需要自顶向下对树型结构进行遍历,相对更适用于从全局到局部的查询,而对于基于位置的动态目标邻近查询来说,该方法的查询效率并不高,很难满足实时通信的需要。受到自组网以及基于位置服务的空间索引的启发,可基于道路网场景,通过应用程序建立一种新的索引结构协助查询邻近,使每个对象都可以平等地对邻近对象收发信息,进行区域内邻近对象间的通信。



技术实现要素:

发明目的:针对以道路为载体的物联网应用中缺少一种高效、普适的邻近移动对象通信方法的问题,提出一种基于位置的、面向路网通信场景的邻近对象索引查询方法。

技术方案:为实现上述目的,本发明采用的技术方案为:

一种面向路网通信场景的邻近对象索引查询方法,将路网所在的空间区域划分为若干规则的虚拟网格,并对虚拟网格进行z形peano空间填充曲线编码,以道路空间对象为基础,建立缓冲区域,并以缓冲区为参照对虚拟网格进行过滤筛选,过滤后的相邻网格在路网场景中具有连通性,保留连通区域内的z码值,同时根据保留z码值所对应的网格中心点建立规则的voronoi索引结构,借助其明确的邻近关系与距离关系表示来进行邻近对象索引查询;以虚拟网格z编码对空间划分实现通信对象的快速定位,以delaunay三角网及voronoi结构确定邻近关系,查找到邻近voronoi单元,获取查询对象邻近区域z码值,并由z码值与通信对象的对应关系,快速查找到邻近对象,完成邻近对象间的数据通信,并通过通信通道进行数据的传递与转发。

优选的:所述邻近索引包括空间索引和邻近对象索引,其中,所述空间索引的建立方法包括以下步骤:

步骤111:区域范围确定与虚拟网格的建立,假设区域为平面,首先确定区域的范围,根据经纬度的最小值与最大值计算出区域的长度与宽度,然后根据最小网格单元的边长将整个区域进行m行×n列的虚拟网格划分;

步骤112:对虚拟网格进行编码处理,对二维网格采用z形空间填充曲线的方式编码,根据边界范围及单位网格的边长,使用公式其中,m表示查询点所在网格的行号,n表示列号;查询点坐标为(x,y),最大经纬坐标为(x2,y2),最小经纬坐标为(x1,y1))分别计算网格的行号与列号,将两者的数值大小减一之后分别转换成二进制的形式,按照奇数位为行号二进制字符串,偶数位为列号二进制字符串的方式,从低位开始逐位将两串二进制码交叉结合生成一串新的二进制串,即z形peano空间填充曲线的编码方式,最后将此二进制字符串转换成唯一对应的十进制整数,得到代表虚拟网格的编码值,同时将此编码作为网格内部对象的位置属性,用以代表对象所属网格;

步骤113:根据道路缓冲区判定对象间连通性,在实际路网场景环境下,对道路进行缓冲区处理,将缓冲好的道路图层与网格图层叠加,转换成栅格图层后再导出数据,并以此为根据判断对象与查询点的连通性,以路网缓冲区为参照,对虚拟网格进行筛选,保留路网缓冲区内部的网格,并记录其编码值;

步骤114:建立voronoi索引结构,以保留的路网缓冲区内部虚拟网格的中心点为节点建立区域delaunay三角网,在此基础之上连接具有相同顶点三角形的外接圆圆心,形成规则的voronoi结构,每个voronoi单元中有且仅有一个网格中心点,通过此voronoi结构快速获取网格单元之间的邻近关系及距离关系。

优选的:所述步骤111中的最小网格单元的宽度与高度根据所要查询邻近的范围需求来确定,或者根据空间中所有的点对之间横向距离最小值及纵向距离最小值来确定。

优选的:步骤113中将导出数据的保存为文本格式。

优选的:所述邻近对象索引查询方法包括以下步骤:

步骤121:移动对象信息上报,移动对象根据自身坐标位置计算所在网格的z码值,在与服务端通信过程中,一并将该z码值、广播距离及广播信息发送至通信服务器,同时将z码作为标志存储于信道中;

步骤122:查询邻近voronoi单元所包含唯一节点的z码值,服务端接收到后移动对象上报信息后,根据查询点的z码值,查找到其具有相同z值的节点,对应到所属voronoi单元,并根据规则voronoi结构查找到直接邻近或者间接邻近且在一定距离范围内的voronoi单元,即在delaunay三角网中找出,以查询点所在虚拟网格中心点为顶点的所有的三角形顶点,和一定距离范围内包含这些顶点的三角形的其他顶点,以具有相同z值的为中心进行邻近节点递归查询,广播距离随递归深度,以距离精度为单位递减,直至广播距离小于零为止,查找到所有节点,并记录其z码值;

步骤123:根据z码值找出对应的所有对象,z码值为虚拟网格行列号的编码,而虚拟网格以其中心节点来表示,此中心节点还代表了voronoi单元所包含的唯一节点,不同的对象点根据其所在位置可能具有相同z码标记,因为它们可能属于同一个虚拟网格单元,借助对象点与z编码之间的对应关系,根据这些查询结果z码值标记,找出具有相同z码值标记的所有对象点,即为同一时刻位于此查询对象一定范围内的所有邻近对象。

优选的:所述邻近对象间的数据通信的方法包括以下步骤:

步骤211:在基于路网通信场景的邻近对象通信过程中,每个移动目标实时计算自身位置所属虚拟网格划分区域的z码值并存储于信道列表中;

步骤212:当进行邻近目标数据通信时,根据预先建立好的路网虚拟网格与voronoi结构空间索引,实时查询满足邻近要求的z码;

步骤213:由服务器根据邻近z码值进行选择性信息转发,与这些邻近z码值具有相同值的移动对象接收到数据信息,进而实现移动对象到多个邻近对象的数据通信。

本发明相比现有技术,具有以下有益效果:

不同于树型索引结构的遍历查找,本发明的邻近查询算法,以虚拟网格z编码对空间划分实现通信对象的快速定位,以delaunay三角网及voronoi结构确定邻近关系,查找到邻近voronoi单元,获取查询对象邻近区域z码值,并由z码值与通信对象的对应关系,快速查找到邻近对象,实现邻近索引查询功能。

本发明不是直接在通信对象间做邻近查询,而是根据路网场景需要,通过查询与查询对象所在区域直接(或间接)邻近的区域,找到邻近区域内的所有对象,减小了查找难度,提高了查询效率。

该方法通过虚拟网格与voronoi图相结合的索引结构,实现了具体路网场景下动态对象的邻近空间索引查询以及邻近对象间的消息通信与数据传递,实现了路网场景下基于位置服务的动态目标间的实时数据通信,对路网场景下的区域内邻近对象间的数据通信、应急广播、预警通知等应用具有重要意义。

本发明提出的一种面向路网通信场景的邻近对象索引查询方法,为解决以道路为载体的物联网应用中,缺少一种高效、普适的邻近移动对象通信方法的问题提供了一种有效途径。

附图说明

图1为本发明的网格编码方式与组合索引结构(局部)示意图;

图2为本发明的网格连通区域内规则voronoi结构示意图;

图3为本发明的网格连通区域内delaunay三角网结构示意图;

图4为本发明的实现邻近查询效果示意图;

图5为本发明的实现邻近对象查询与数据通信的过程示意图。

图6为本发明的结构示意图。

具体实施方式

下面结合附图和具体实施例,进一步阐明本发明,应理解这些实例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。

一种面向路网通信场景的邻近对象索引查询方法,如图1-6所示,将路网所在的空间区域划分为若干规则的虚拟网格,并对虚拟网格进行z形peano空间填充曲线编码,以道路空间对象为基础,建立缓冲区域,并以缓冲区为参照对虚拟网格进行过滤筛选,过滤后的相邻网格在路网场景中具有连通性,保留连通区域内的z码值,同时根据保留z码值所对应的网格中心点建立规则的voronoi索引结构,借助其明确的邻近关系与距离关系表示来进行邻近对象索引查询;以虚拟网格z编码对空间划分实现通信对象的快速定位,以delaunay三角网及voronoi结构确定邻近关系,查找到邻近voronoi单元,获取查询对象邻近区域z码值,并由z码值与通信对象的对应关系,快速查找到邻近对象(即获得查询结果后,借助虚拟网格,建立移动通信目标对象与其邻近对象的关联),完成邻近对象间的数据通信,并通过通信通道进行数据的传递与转发。该方法解决了具体路网场景下动态对象的邻近空间索引查询以及邻近对象间进行消息通信与数据传递的问题,实现了路网场景下,基于位置服务的动态目标间的实时数据通信。

在路网场景环境下,建立具有空间特征的动态通信对象邻近索引查询,所述邻近索引包括空间索引和邻近对象索引,所述空间索引的建立方法包括以下步骤:

步骤111:区域范围确定与虚拟网格的建立:假设区域为平面,首先确定区域的范围,根据经纬度的最小值与最大值计算出区域的长度与宽度,然后根据最小网格单元的边长将整个区域进行m行×n列的虚拟网格划分;其中,单位网格的宽度与高度可以根据所要查询邻近的范围需求来确定(或者根据空间中所有的点对之间横向距离最小值及纵向距离最小值来确定,见公式k=d/√2,k为网格边长,d为相邻最近两点之间的距离)。

步骤112:对虚拟网格进行z编码处理:对二维网格采用z形空间填充曲线的方式编码,不仅能够降低维度表示网格与对象的对应关系,还可以通过编码数值大小比较大致判断网格是否邻近。根据边界范围及单位网格的边长,使用公式其中,m表示查询点所在网格的行号,n表示列号;查询点坐标为(x,y),最大经纬坐标为(x2,y2),最小经纬坐标为(x1,y1))分别计算网格的行号与列号,将两者的数值大小减一之后分别转换成二进制的形式,按照奇数位为行号二进制字符串,偶数位为列号二进制字符串的方式,从低位开始逐位将两串二进制码交叉结合生成一串新的二进制串,即z形peano空间填充曲线的编码方式,最后将此二进制字符串转换成唯一对应的十进制整数,得到代表虚拟网格的编码值,同时将此编码作为网格内部对象的位置属性,用以代表对象所属网格;

步骤113:根据道路缓冲区判定对象间连通性:在实际路网场景环境下,对道路进行缓冲区处理,将缓冲好的道路图层与网格图层叠加,转换成栅格图层后再导出数据,将导出数据的保存为文本格式,文本格式为txt格式。并以此为根据判断对象与查询点的连通性,以路网缓冲区为参照,对虚拟网格进行筛选,保留路网缓冲区内部的网格,并记录其编码值;

步骤114:建立voronoi索引结构:以保留的路网缓冲区内部虚拟网格的中心点为节点建立区域delaunay三角网,在此基础之上连接具有相同顶点三角形的外接圆圆心,形成规则的voronoi结构,每个voronoi单元中有且仅有一个网格中心点,(即delaunay三角形的顶点)。实际上,此规则voronoi结构的边与虚拟网格的边是重合的,由于voronoi可以清晰的表示各单元间的邻近关系,且相邻虚拟网格中心点的距离是确定的,通过此voronoi结构快速获取网格单元之间的邻近关系及距离关系。

所述邻近对象索引查询方法包括以下步骤:

步骤121:移动对象信息上报:移动对象根据自身坐标位置计算所在网格的z码值,在与服务端通信过程中,一并将该z码值、广播距离及广播信息发送至通信服务器,同时将z码作为标志存储于信道中;

步骤122:查询邻近voronoi单元所包含唯一节点的z码值:服务端接收到后移动对象上报信息后,根据查询点的z码值,查找到其具有相同z值的节点,对应到所属voronoi单元,并根据规则voronoi结构查找到直接邻近或者间接邻近且在一定距离范围内的voronoi单元,即在delaunay三角网中找出,以查询点所在虚拟网格中心点为顶点的所有的三角形顶点,和一定距离范围内包含这些顶点的三角形的其他顶点,以具有相同z值的为中心进行邻近节点递归查询,广播距离随递归深度,以距离精度为单位递减,直至广播距离小于零为止,查找到所有节点,并记录其z码值;

步骤123:根据z码值找出对应的所有对象:z码值为虚拟网格行列号的编码,而虚拟网格以其中心节点来表示,此中心节点还代表了voronoi单元所包含的唯一节点,不同的对象点根据其所在位置可能具有相同z码标记,因为它们可能属于同一个虚拟网格单元(具有相同z码标记的不同对象点属于同一个虚拟网格单元),借助对象点与z编码之间的对应关系,根据这些查询结果z码值标记,找出具有相同z码值标记的所有对象点,即为同一时刻位于此查询对象一定范围内的所有邻近对象。

实施在路网场景环境下邻近对象间的数据通信,基于道路连通性的虚拟网格编码,及利用以虚拟网格中心点为参照的voronoi索引结构,对动态通信对象的邻近索引查询。

所述邻近对象间的数据通信的方法包括以下步骤:

步骤211:在基于路网通信场景的邻近对象通信过程中,每个移动目标实时计算自身位置所属虚拟网格划分区域的z码值并存储于信道列表中;

步骤212:当进行邻近目标数据通信时,根据预先建立好的路网虚拟网格与voronoi结构空间索引,实时查询满足邻近要求的z码;

步骤213:由服务器根据邻近z码值进行选择性信息转发,与这些邻近z码值具有相同值的移动对象接收到数据信息,进而实现移动对象到多个邻近对象的数据通信。

举例

本发明中虚拟网格(以4×4为例)编码方式如图1(a)所示,局部组合索引结构如图1(b)所示。图1(a),对于虚拟网格和移动对象的索引编码,采用z形peano空间填充曲线的方式,由行列号对网格单元唯一编码,且在同一网格中的对象点具有相同的编码。编码方法为:根据经纬度的最小值与最大值计算出区域的长度与宽度范围,然后根据精度要求,确定最小网格单元的边长,将整个区域进行m行×n列的虚拟网格划分;分别计算网格的行号m与列号n,将两者的数值大小减一之后分别转换成二进制的形式,从虚拟网格左下角开始,按照先列后行的顺序从低位开始逐位将两个字符串交叉拼接成一个新的字符串,便得到虚拟网格中心点点位置的编码;最后再将此编码转换成唯一对应的十进制整数,完成编码后存储到信道列表中。图1(b)细实线为结合虚拟网格,虚线为delaunay三角形,而规则voronoi图与虚拟网格重合。粗实线上的点为中心点的第一层邻近voronoi单元的中心点。

图2与图3分别表示了本发明所述的网格连通区域规则voronoi索引结构及delaunay三角网结构示意图。图2中,黑色点为虚拟网格的中心点而黑色实线表示规则voronoi单元。图3中,delaunay三角形是连接虚拟网格中心点与其邻近的其他中心点所形成的结构。图2的voronoi结构是在图3delaunay三角形的基础上连接各三角形外接圆圆心构成的。对于连通性网格的邻近索引查询,可借助规则voronoi的邻近关系与距离关系特性,查找到指定移动通信对象周边一定范围内的邻近voronoi单元,获取其中唯一节点(即虚拟网格中心节点)的z编码,并通过z编码找到移动通信对象的邻近对象。

图4为本发明的实现邻近查询效果示意图。一个简单的实现示例如图所示,本图主要分为三个部分,即通信对象部分、通信服务端部分及邻近查询部分。如图中黑色实线及箭头所示,对象点p2作为客户端上报自己的位置及所属网格的z码值,服务端接收到数据后,根据z码值在索引结构中找到对应的voronoi单元,按照邻近查询算法查找出周围voronoi单元(效果同网格单元)。由voronoi单元对应到网格单元,而根据周围邻近网格单元的编码可以反向找出位于这些网格单元内的所有对象点,如图中虚线及箭头所示。

图5为本发明实现移动通信对象的索引查询与数据通信过程的示意图,主要可分为以下三步:

1)索引建立过程

步骤一:区域范围确定与虚拟网格的划分与z编码,对应图中序号1。假设区域为平面,首先确定区域的范围,根据经纬度的最小值与最大值计算出区域的长度与宽度,然后,根据查找需求确定最小网格单元的边长,将整个区域进行m行×n列的虚拟网格划分。根据网格的行号与列号对每个网格进行编码,此编码便是代表对象点所在网格位置的z编码。

步骤二:处理道路缓冲区图层,对虚拟网格进行筛选,对应图中序号2。在实际路网场景环境下,对道路进行缓冲区分析,将缓冲好的道路图层与网格图层叠加,转换成栅格图层之后再导出数据,保存为txt文本格式,并以此为根据判断对象与查询点的连通性。以路网缓冲区为参照,筛选保留路网缓冲区内部的网格,并记录z码值,同时按照z码的大小对节点进行排序,以方便查找。

步骤三:建立voronoi索引结构,对应图中序号3。以保留的路网缓冲区内部网格的中心点为节点,建立delaunay三角网,在此基础之上连接三角形的外接圆圆心形成规则的voronoi结构,并记录这些节点的z码值,同时按照z码的大小对节点进行排序,以方便查找。通过此voronoi网络可以快速获取网格单元之间的邻近关系与距离关系。图中黑色粗体箭头表示具体建立过程。

2)邻近查询过程

步骤一:移动对象信息上报,对应图中序号4。移动对象计算所在网格及z码值,在与服务端通信过程中,一并将该z码值、广播距离及广播信息发送至通信服务器,同时将z码作为标志存储于信道中。

步骤二:邻近对象查询,对应图中序号5。服务端接收到后移动对象上报信息后,根据其所在虚拟网格位置的z码值,找到对应的voronoi图中具有相同z码值的节点,并根据规则voronoi结构查找到周边邻近且在一定距离范围内的voronoi单元,即以该节点为中心进行邻近节点递归查询,广播距离随递归深度,以距离精度为单位递减直至广播距离小于零为止,查找到所有节点,并记录其z码值,与这些voronoi单元具有相同z码值的所有对象点,即为查询点所邻近的移动对象点。图中黑色细虚线箭头表示邻近查询过程。

3)数据通信过程

步骤一:查询点与所邻近对象间的消息传递与数据通信,对应图中序号6。在邻近对象的通信过程中,每个移动目标都会实时计算自身位置所属区域的z码值并存储于信道。

步骤二:进行邻近目标通信时,会根据预先建立好的路网虚拟网格与voronoi结构空间索引,实时查询满足邻近要求的z码,进而再由服务器根据z码值进行选择性信息转发,实现移动对象到多个邻近对象的数据通信。图中黑色细实线箭头表示具体数据发送过程。

本发明在路网场景环境下,建立具有空间特征的动态通信对象邻近索引查询(分为空间索引建立过程和邻近对象索引查询过程两个阶段)以及邻近对象间的数据通信。该方法以虚拟网格z编码对空间划分实现通信对象的快速定位,以delaunay三角网及voronoi结构确定邻近关系,查找到邻近voronoi单元,获取查询对象邻近区域z码值,并由z码值与通信对象的对应关系,快速查找到邻近对象,解决了具体路网场景下动态对象的邻近空间索引查询以及邻近对象间进行消息传递的问题,实现了基于位置服务的动态目标与其周边一定范围内的邻近对象之间的数据通信。

以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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