CN112597190A - 点近邻轨迹查询方法、装置、电子设备和可读存储介质 - Google Patents
点近邻轨迹查询方法、装置、电子设备和可读存储介质 Download PDFInfo
- Publication number
- CN112597190A CN112597190A CN202011583513.1A CN202011583513A CN112597190A CN 112597190 A CN112597190 A CN 112597190A CN 202011583513 A CN202011583513 A CN 202011583513A CN 112597190 A CN112597190 A CN 112597190A
- Authority
- CN
- China
- Prior art keywords
- queried
- point
- trajectory
- area
- candidate
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 83
- 238000013138 pruning Methods 0.000 claims abstract description 86
- 238000012545 processing Methods 0.000 claims abstract description 39
- 238000004590 computer program Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 11
- 238000004364 calculation method Methods 0.000 abstract description 8
- 238000012795 verification Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 4
- 108091026890 Coding region Proteins 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Remote Sensing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供了一种点近邻轨迹查询方法、装置、电子设备和可读存储介质,涉及计算机技术领域。其中,点近邻轨迹查询方法包括:确定所述待查询点与待查询区域之间的第一弗雷歇距离,对所述待查询区域进行区域剪枝处理;确定区域剪枝后的待查询区域的候选轨迹;根据所述待查询点的下界位置和所述候选轨迹的下界位置,对所述待查询区域的候选轨迹进行下界剪枝处理;将所述下界剪枝处理后的候选轨迹确定为查询轨迹结果。通过本公开的技术方案,减少了点近邻轨迹查询过程中的时间复杂度的计算量,提高了索引和查询的效率,减少了磁盘读写和验证计算的开销。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种点近邻轨迹查询方法、装置、电子设备和可读存储介质。
背景技术
点k邻近轨迹查询,是指找到给定点的空间距离最近的k条轨迹。
许多应用依赖于该技术,例如:1)交通流量建模,实时查询给定地点周围的轨迹,并计算通过该点的时间和速度;2)轨迹数据挖掘,查询多个点的近邻轨迹,并做交集得到经过这些点的公共轨迹,可用于进行路径推荐。
目前的查询算法思路主要如下:基于关系型数据库,将所有轨迹数据读入内存中,然后以查询点为中心,不断扩展周围的空间范围,同时遍历该空间中的所有轨迹,并按与查询点的距离排序,直到最近k条轨迹找到为止。
但是,由于轨迹上的轨迹点数量巨大,因此,空间距离的计算量大,进而导致现有的轨迹近邻查询存在严重的效率问题。
另外,随着车载导航系统的普及,海量的轨迹数据正在源源不断的产生,传统的关系型数据库已经无法支持存储和分析如此庞大的数据量。因此,基于传统关系型数据库的现有技术也随之遇到了瓶颈,即有限的内存资源无法容纳和分析海量数据。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种点近邻轨迹查询方法、装置、电子设备和可读存储介质,至少在一定程度上克服由于相关技术中点近邻轨迹查询的效率低的问题。
本公开的其他特性和优点将通过后续的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的一个方面,提供一种点近邻轨迹查询方法,包括:确定待查询点与待查询区域之间的第一弗雷歇距离,对待查询区域进行区域剪枝处理;确定区域剪枝后的待查询区域的候选轨迹;根据待查询点的下界位置和候选轨迹的下界位置,对待查询区域的候选轨迹进行下界剪枝处理;将下界剪枝处理后的候选轨迹确定为查询轨迹结果。
在本公开的一个实施例中,确定待查询点与待查询区域之间的第一弗雷歇距离,对待查询区域进行区域剪枝处理包括:确定待查询点与待查询区域之间的第一弗雷歇距离;判断第一弗雷歇距离是否大于或等于最大距离阈值;若判定第一弗雷歇距离大于或等于最大距离阈值,则对待查询区域进行区域剪枝处理。
在本公开的一个实施例中,下界位置包括起点下界位置、终点下界位置和轨迹签名下界位置中的至少一种。
在本公开的一个实施例中,根据待查询点的下界位置和候选轨迹的下界位置,对候选轨迹进行下界剪枝处理包括:确定待查询点的起点下界位置和候选轨迹的起点下界位置之间的起点弗雷歇距离;根据起点弗雷歇距离与第一预设距离之间的大小关系,对待查询区域进行第一下界剪枝处理。
在本公开的一个实施例中,根据待查询点的下界位置和候选轨迹的下界位置,对候选轨迹进行下界剪枝处理还包括:确定待查询点的终点下界位置和候选轨迹的终点下界位置之间的终点弗雷歇距离;根据终点弗雷歇距离与第二预设距离之间的大小关系,对候选轨迹进行第二下界剪枝处理。
在本公开的一个实施例中,在确定待查询点与待查询区域之间的第一弗雷歇距离前,还包括:获取待查询点,并确定待查询点的空间位置信息;根据待查询点的空间位置信息与待查询区域之间的位置关系,生成轨迹签名;通过XZ-Ordering确定待查询点的空间位置索引编码;根据轨迹签名和空间位置索引编码,构建待查询点的空间范围索引。
在本公开的一个实施例中,根据待查询点的空间位置信息与待查询区域之间的位置关系,生成轨迹签名还包括:对任一待查询区域的四个子节点待查询区域进行有序编码;将被待查询点所属的子节点待查询区域记作第一编码,以及将待查询点不属于的子节点待查询区域记作第二编码;根据有序编码、第一编码和第二编码,确定待查询点的轨迹签名。
在本公开的一个实施例中,根据待查询点的下界位置和候选轨迹的下界位置,对待查询区域的候选轨迹进行下界剪枝处理还包括:根据候选轨迹的空间位置信息与待查询区域之间的位置关系,生成候选轨迹的轨迹签名;确定待查询点的轨迹签名下界和候选轨迹的轨迹签名下界的之间的轨迹签名弗雷歇距离;根据轨迹签名弗雷歇距离与第三预设距离之间的大小关系,对候选轨迹进行第三下界剪枝处理。
在本公开的一个实施例中,根据待查询点的下界位置和候选轨迹的下界位置,对待查询区域的候选轨迹进行下界剪枝处理还包括:确定待查选点与进行区域剪枝处理后的任一待查询区域之间的最小距离;按照最小距离由小到大的顺序,对待查询区域的候选轨迹依次进行下界剪枝处理;根据每次下界剪枝处理的结果,对最大距离阈值进行更新。
在本公开的一个实施例中,还包括:确定待查询点的标识;将待查询点的标识添加至空间范围索引的后缀。
在本公开的一个实施例中,还包括:获取待查询点的随机数;将随机数添加至空间范围索引的前缀;根据前缀将空间范围索引随机存储至分布式服务器。
在本公开的一个实施例中,还包括:从存储待查询区域的第一优先队列中取出一个待查询区域;确定待查询区域的空间范围索引的编码长度;根据编码长度与预设长度之间的大小关系,对待查询区域进行扩展或对停止对待查询区域进行分裂。
在本公开的一个实施例中,根据编码长度与预设长度之间的大小关系,对待查询区域进行扩展或对停止对待查询区域进行分裂包括:判断空间范围索引的编码长度是否大于预设长度;若判定编码长度大于预设长度,则不对待查询区域进行分裂;在所待查询区域内执行空间范围查询处理。
在本公开的一个实施例中,根据编码长度与预设长度之间的大小关系,对待查询区域进行扩展或对停止对待查询区域进行分裂还包括:判断空间范围索引的空间范围索引的编码长度是否大于预设长度;若判定编码长度小于或等于预设长度,则对待查询区域进行四叉树递归分裂,以生成待查询区域的子节点待查询区域,至子节点待查询区域的空间范围索引的编码长度大于或等于预设长度为止。
在本公开的一个实施例中,还包括:在停止对待查询区域进行四叉树递归分裂后,确定待查询区域内的候选轨迹,并将候选轨迹存储至第二优先队列。
根据本公开的另一个方面,提供一种点近邻轨迹查询装置,包括:剪枝模块,用于确定所述待查询点与待查询区域之间的第一弗雷歇距离,对所述待查询区域进行区域剪枝处理;确定模块,用于确定区域剪枝后的待查询区域的候选轨迹;所述剪枝模块还用于,根据所述待查询点的下界位置和所述候选轨迹的下界位置,对所述待查询区域的候选轨迹进行下界剪枝处理;所述确定模块还用于,将所述下界剪枝处理后的候选轨迹确定为查询轨迹结果。
根据本公开的再一个方面,提供一种电子设备,包括:处理器;以及存储器,用于存储处理器的可执行指令;其中,处理器配置为经由执行可执行指令来执行上述任意一项的点近邻轨迹查询方法。
根据本公开的又一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任意一项的点近邻轨迹查询方法。
本公开的实施例所提供的点近邻轨迹查询方案,通过区域剪枝对待查询区域进行剪枝处理,精简了候选轨迹的查询范围,提高了空间范围查询的效率,加快了查询过程。
进一步地,通过对候选轨迹进行下界剪枝处理,降低了弗雷歇距离的计算量,减少了不必要的查询轨迹数量和查询时间。
更进一步地,通过构建第一轨迹的空间范围索引,提高了待查询区域的索引和查询的效率,进而提升了在待查询区域内确定与待查询轨迹临近的轨迹的效率和准确性。
最后,通过将空间范围索引随机存储至分布式服务器,降低了轨迹数据的维护压力,提升了点近邻轨迹查询的可靠性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1A示出本公开实施例中一种点近邻轨迹查询方案的编码示意图;
图1B示出本公开实施例中一种点近邻轨迹查询方案的编码示意图;
图1C示出本公开实施例中一种点近邻轨迹查询方案的编码示意图;
图1D示出本公开实施例中一种点近邻轨迹查询方案的编码示意图;
图2示出本公开实施例中一种点近邻轨迹查询方法的流程图;
图3示出本公开实施例中另一种点近邻轨迹查询方法的流程图;
图4示出本公开实施例中另一种点近邻轨迹查询方法的流程图;
图5示出本公开实施例中另一种点近邻轨迹查询方法的流程图;
图6示出本公开实施例中又一种点近邻轨迹查询方法的流程图;
图7示出本公开实施例中又一种点近邻轨迹查询方法的流程图;
图8示出本公开实施例中又一种点近邻轨迹查询方法的流程图;
图9示出本公开实施例中又一种点近邻轨迹查询方法的流程图;
图10示出本公开实施例中又一种点近邻轨迹查询方法的流程图;
图11示出本公开实施例中又一种点近邻轨迹查询方法的流程图;
图12示出本公开实施例中又一种点近邻轨迹查询方法的流程图;
图13示出本公开实施例中又一种点近邻轨迹查询方法的流程图;
图14示出本公开实施例中又一种点近邻轨迹查询方法的流程图;
图15示出本公开实施例中又一种点近邻轨迹查询方案的示意图;
图16示出本公开实施例中一种点近邻轨迹查询装置的示意图;
图17示出本公开实施例中一种电子设备的示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
本公开提供的方案,通过区域剪枝对待查询区域进行剪枝处理,精简了候选轨迹的查询范围,提高了空间范围查询的效率,加快了查询过程。进一步地,通过对候选轨迹进行下界剪枝处理,降低了弗雷歇距离的计算量,减少了不必要的查询轨迹数量和查询时间。更进一步地,通过构建第一轨迹的空间范围索引,提高了待查询区域的索引和查询的效率,进而提升了在待查询区域内确定与待查询轨迹临近的轨迹的效率和准确性。最后,通过将空间范围索引随机存储至分布式服务器,降低了轨迹数据的维护压力,提升了点近邻轨迹查询的可靠性。
结合图1A、图1B、图1C和图1D所示,在本公开的点近邻轨迹查询方案中,涉及到以下几个关键概念:
(1)GPS点(GPSPoint):GPS点p=(lat;lng;t)包含一个纬度lat,一个经度lng,以及一个时间戳t。
如图1A所示,表示移动物体在t时刻,位于待查询区域102内的地理坐标位置(lat;lng)。
(3)路径(Path):路径P=<e1→e2→…→en>是一组连续路段的集合,其中路段的顺序即为对象移动的顺序。通常使用一个自然数代表路段标识。
(4)匹配后的轨迹(MapMatchTrajectory):轨迹经过地图匹配算法后可映射至路段的路段,形成匹配后的轨迹tr=<(e1,t1)→(e2,t2)→…→(en,tn)>。其中,ei指的是路网上路段的标识,ti指的是移动对象进入该路段的时间。下文中,如无特殊说明,所说的轨迹均为匹配后的轨迹。
(5)点近邻轨迹查询(PathTemporalRangeQuery):给定一条路径P,一个时间范围[ts,te]以及一个匹配轨迹集合T,点近邻轨迹查询找到T中所有匹配轨迹tri,其存在某条子轨迹tr′i=<(e1,t1)→(e2,t2)→…→(ek,tk)>恰好在给定时间段内经过路径P,即:t1≥ts,tk≤te。
(6)NoSQL:泛指非关系型数据库,其数据存储无需固定的表格模式,其产生是为了解决大数据集合多重数据种类带来的挑战,尤其是大数据应用难题。
(7)HBase:一个高可靠性、高性能、面向列和可伸缩的分布式存储系统,可在廉价机器上搭建起大规模结构化存储集群,是NoSQL的一种。
(8)弗雷歇距离:Fréchet Distance,一种路径空间相似性描述,常用来衡量轨迹之间的相似度。
(9)XZ-Ordering:一种结合时间信息的空间填充曲线的编码方式。
(10)优先队列:一种常见的数据结构,其元素被赋予优先级,具有最高优先级的元素最先删除,故于普通队列的先进先出相比,优先队列具有最高级先出的特征。
本公开实施例提供的方案涉及后缀树、路径分解和分布式架构等技术,具体通过如下实施例进行说明。
上述点近邻轨迹查询方案可以通过多个终端和服务器集群的交互实现。
终端可以是手机、游戏主机、平板电脑、电子书阅读器、智能眼镜、MP4(MovingPicture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、智能家居设备、AR(Augmented Reality,增强现实)设备、VR(Virtual Reality,虚拟现实)设备等移动终端,或者,终端也可以是个人计算机(Personal Computer,PC),比如膝上型便携计算机和台式计算机等等。
其中,终端中可以安装有用于提供点近邻轨迹查询的应用程序。
终端与服务器集群之间通过通信网络相连。可选的,通信网络是有线网络或无线网络。
服务器集群是一台服务器,或者由若干台服务器组成,或者是一个虚拟化平台,或者是一个云计算服务中心。服务器集群用于为提供点近邻轨迹查询的应用程序提供后台服务。可选地,服务器集群承担主要计算工作,终端承担次要计算工作;或者,服务器集群承担次要计算工作,终端承担主要计算工作;或者,终端和服务器集群之间采用分布式计算架构进行协同计算。
在一些可选的实施例中,后缀树索引最开始是用来索引字符串,能够提高字符串后缀搜索的性能。在轨迹数据管理中,匹配后的轨迹可以看作是一个字符串,每个路段的标识等价于字符串的一个字符,路径查询(不考虑时间过滤条件)可以映射成字符串的后缀搜索问题,即:利用路段标识序列进行搜索可以看作是利用字符序列进行搜索。
可选地,不同的终端中安装的应用程序的客户端是相同的,或两个终端上安装的应用程序的客户端是不同控制系统平台的同一类型应用程序的客户端。基于终端平台的不同,该应用程序的客户端的具体形态也可以不同,比如,该应用程序客户端可以是手机客户端、PC客户端或者全球广域网客户端等。
本领域技术人员可以知晓,上述终端的数量可以更多或更少。比如上述终端可以仅为一个,或者上述终端为几十个或几百个,或者更多数量。本公开实施例对终端的数量和设备类型不加以限定。
可选的,该系统还可以包括管理设备,该管理设备与服务器集群之间通过通信网络相连。可选的,通信网络是有线网络或无线网络。
可选的,上述的无线网络或有线网络使用标准通信技术和/或协议。网络通常为因特网、但也可以是任何网络,包括但不限于局域网(Local Area Network,LAN)、城域网(Metropolitan Area Network,MAN)、广域网(W标识e Area Network,WAN)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合)。在一些实施例中,使用包括超文本标记语言(Hyper Text Mark-up Language,HTML)、可扩展标记语言(ExtensibleMarkupLanguage,XML)等的技术和/或格式来代表通过网络交换的数据。此外还可以使用诸如安全套接字层(Secure Socket Layer,SSL)、传输层安全(Transport Layer Security,TLS)、虚拟专用网络(Virtual Private Network,VPN)、网际协议安全(InternetProtocolSecurity,IPsec)等常规加密技术来加密所有或者一些链路。在另一些实施例中,还可以使用定制和/或专用数据通信技术取代或者补充上述数据通信技术。
下面,将结合附图及实施例对本示例实施方式中的点近邻轨迹查询方法的各个步骤进行更详细的说明。
图2示出本公开实施例中一种点近邻轨迹查询方法流程图。本公开实施例提供的方法可以由任意具备计算处理能力的电子设备执行,以服务器集群为执行主体进行示例说明。
如图2所示,服务器集群执行点近邻轨迹查询方法,包括以下步骤:
步骤S202,确定待查询点与待查询区域之间的第一弗雷歇距离,对待查询区域进行区域剪枝处理。
步骤S204,确定区域剪枝后的待查询区域的候选轨迹。
步骤S206,根据待查询点的下界位置和候选轨迹的下界位置,对待查询区域的候选轨迹进行下界剪枝处理。
步骤S208,将下界剪枝处理后的候选轨迹确定为查询轨迹结果。
在上述实施例中,通过待查询点的下界位置和候选轨迹的下界位置之间的弗雷歇距离进行剪枝处理,避免了对第一轨迹和候选轨迹的全部轨迹点进行距离计算的运算量,降低了时间复杂度。
基于图2所示的步骤,如图3所示,确定待查询点与待查询区域之间的第一弗雷歇距离,对待查询区域进行区域剪枝处理包括:
步骤S3022,确定待查询点与待查询区域之间的第一弗雷歇距离。
步骤S3024,判断第一弗雷歇距离是否大于或等于最大距离阈值,若是,则执行步骤S3026,若否,则执行步骤S204。
步骤S3026,若判定第一弗雷歇距离大于或等于最大距离阈值,则对待查询区域进行区域剪枝处理。
在本公开的一个实施例中,下界位置包括起点下界位置、终点下界位置和轨迹签名下界位置中的至少一种。
基于图2所示的步骤,如图4所示,根据待查询点的下界位置和候选轨迹的下界位置,对候选轨迹进行下界剪枝处理包括:
步骤S4062,确定待查询点的起点下界位置和候选轨迹的起点下界位置之间的起点弗雷歇距离。
步骤S4064,根据起点弗雷歇距离与第一预设距离之间的大小关系,对待查询区域进行第一下界剪枝处理。
基于图2所示的步骤,如图5所示,根据待查询点的下界位置和候选轨迹的下界位置,对候选轨迹进行下界剪枝处理还包括:
步骤S5062,确定待查询点的终点下界位置和候选轨迹的终点下界位置之间的终点弗雷歇距离。
步骤S064,根据终点弗雷歇距离与第二预设距离之间的大小关系,对候选轨迹进行第二下界剪枝处理。
在上述实施例中,基于轨迹的起始和终点,本公开提出了相似轨迹的起止点距离下界(Lower Bound,lower_bound()返回值是一个迭代器,返回指向大于等于key的第一个值的位置)。如果该距离下界大于给定的相似度阈值ε,那么待查询点和候选轨迹必定不会临近,基于此,对待查询区域的候选轨迹进行快速剪枝。
基于图2所示的步骤,如图6所示,在确定待查询点与待查询区域之间的第一弗雷歇距离前,还包括:
步骤S602,获取待查询点,并确定待查询点的空间位置信息。
步骤S604,根据待查询点的空间位置信息与待查询区域之间的位置关系,生成轨迹签名。
步骤S606,通过XZ-Ordering确定待查询点的空间位置索引编码。
步骤S608,根据轨迹签名和空间位置索引编码,构建待查询点的空间范围索引。
结合图1A、图1B、图1C和图1D所示,对空间范围索引的构建实施例进行具体说明。
如图1A所示,待查询区域编码为“00”、“01”、“02”、“03”、“30”、“31”、“32”、“33”、“1”和“2”。
其中,点k邻近轨迹查询需使用空间范围查询(即,给定一个空间范围,找出所有穿过该空间范围内的那些轨迹)找出给定点周围的轨迹,为此本公开建立空间范围索引表,该表创建在基于键值存储的非关系型数据库NoSQL之上(这里采用的HBase数据库),所以主键索引的设计显得便十分重要。
传统的索引无法精确表示轨迹的空间信息。例如,传统的XZ2索引是为非点数据设计的,它基于XZ-ordering曲线。对于一条轨迹,XZ2索引首先抽取出其MBR(MinimumBounding Rectangle,最小边界矩形),然后对空间平面按四叉树进行递归划分。
此MBR的左下角,即点(lngmin;latmin),决定采用哪个子空间r来表示该数据,MBR的高度和宽度决定一个合适的递归层次。一个合适的递归层次是指,子空间r的扩大空间(即固定r的左下角,同时扩大r的高度和宽度到原来的两倍)刚好能够完全覆盖MBR。
如图1A所示,轨迹tr的编码为“03”,因为子空间“03”的扩大空间(即标记为橙色的部分)刚好能够覆盖轨迹tr的MBR。然而,子空间“03”的扩展元素对轨迹tr来说还是太大了,因为轨迹tr仅仅穿过橙色区域很小的一部分。
如图1B、图1C和图1D所示,空间范围索引包括空间位置索引编码、轨迹签名和轨迹标识三部分,具体如下:
如图1B所示,XZ2编码:这是基于XZ-Ordering生成的编码,可以获得一个轨迹的四进制序列(例如图1A中的03),然后将这个四进制序列转化成一个十进制的长整型数字。
如图1C所示,位置编码PosCode:本公开将对应的扩展元素划分成β×β个大小相同的区域,并对每个区域从0开始进行编码。轨迹tr的空间位置信息可以通过一个β×β二进制序列来表示,本实施中β=2。
注意,β值越大,表明轨迹的空间表示越精确,但是需要更多的存储空间,同时也会对查询效率有影响。
如果轨迹tr内至少有一个GPS点落在某个区域中,其对应的二进制位置为1,否则置为0。
图1C给出了图1A中轨迹tr的PosCode。PosCode本公开也称之为轨迹签名(Trajectory Signature)。
如图1D所示,空间范围索引(表)的键的组成,其中shard是一个随机数,能够有效地将数据分散到不同的数据服务器中,从而达到负载均衡、防止热点问题的目的。tid为轨迹id,为轨迹的唯一标识。
有了空间范围索引表,本公开便可以高效地支持空间范围查询,即给定查询空间,便可查询出该空间内所有的轨迹记录。
基于图2和图6所示的步骤,如图7所示,根据待查询点的空间位置信息与待查询区域之间的位置关系,生成轨迹签名还包括:
步骤S7042,对任一待查询区域的四个子节点待查询区域进行有序编码。
步骤S7044,将被待查询点所属的子节点待查询区域记作第一编码,以及将待查询点不属于的子节点待查询区域记作第二编码。
步骤S7046,根据有序编码、第一编码和第二编码,确定待查询点的轨迹签名。
在上述实施例中,第一编码可以为二进制的“1”,第二编码可以为二进制的“0”,按照有序编码的顺序来生成具备唯一性的轨迹签名。
基于图2所示的步骤,如图8所示,根据待查询点的下界位置和候选轨迹的下界位置,对待查询区域的候选轨迹进行下界剪枝处理还包括:
步骤S8062,根据候选轨迹的空间位置信息与待查询区域之间的位置关系,生成候选轨迹的轨迹签名。
步骤S8064,确定待查询点的轨迹签名下界和候选轨迹的轨迹签名下界的之间的轨迹签名弗雷歇距离。
步骤S8066,根据轨迹签名弗雷歇距离与第三预设距离之间的大小关系,对候选轨迹进行第三下界剪枝处理。
基于图2所示的步骤,如图9所示,根据待查询点的下界位置和候选轨迹的下界位置,对待查询区域的候选轨迹进行下界剪枝处理还包括:
步骤S9062,确定待查选点与进行区域剪枝处理后的任一待查询区域之间的最小距离。
步骤S9064,按照最小距离由小到大的顺序,对待查询区域的候选轨迹依次进行下界剪枝处理。
在上述实施例中,按照最小距离由小到大的顺序,对待查询区域的候选轨迹依次进行下界剪枝处理,能够更快地确定满足数量要求的最邻近的k条轨迹。
步骤S9064,根据每次下界剪枝处理的结果,对最大距离阈值进行更新。
基于图2所示的步骤,如图10所示,还包括:
步骤S1002,确定待查询点的标识。
步骤S1004,将待查询点的标识添加至空间范围索引的后缀。
在上述实施例中,通过将所述待查询点的标识添加至所述空间范围索引的后缀,支持空间范围查询,即给定查询空间,便可查询出该空间内所有的轨迹记录。
基于图2所示的步骤,如图11所示,还包括:
步骤S1102,获取待查询点的随机数。
步骤S1104,将随机数添加至空间范围索引的前缀。
步骤S1106,根据前缀将空间范围索引随机存储至分布式服务器。
在上述实施例中,根据前缀将空间范围索引随机存储至分布式服务器,能够有效地将数据分散到不同的数据服务器中,从而达到负载均衡、防止热点问题的目的。
基于图2所示的步骤,如图12所示,还包括:
步骤S1202,从存储待查询区域的第一优先队列中取出一个待查询区域。
步骤S1204,确定待查询区域的空间范围索引的编码长度。
步骤S1206,根据编码长度与预设长度之间的大小关系,对待查询区域进行扩展或对停止对待查询区域进行分裂。
在上述实施例中,由于待查询区域的空间位置索引编码的编码长度越大,表明轨迹的空间表示越精确,因此,通过预设长度来控制待查询区域的精度。
基于图2所示的步骤,如图13所示,根据编码长度与预设长度之间的大小关系,对待查询区域进行扩展或对停止对待查询区域进行分裂包括:
步骤S1302,判断空间范围索引的编码长度是否大于预设长度,若是,则执行步骤S1304。
步骤S1304,若判定编码长度大于预设长度,则不对待查询区域进行分裂。
步骤S1306,在所待查询区域内执行空间范围查询处理。
在上述实施例中,若判定所述编码长度大于所述预设长度,则不对所述待查询区域进行分裂,并且在所待查询区域内执行空间范围查询处理,在保证查询精度的前提下,有效地缩减了候选轨迹的查询范围。
基于图2所示的步骤,如图13所示,根据编码长度与预设长度之间的大小关系,对待查询区域进行扩展或对停止对待查询区域进行分裂还包括:
步骤S1302,判断空间范围索引的空间范围索引的编码长度是否大于预设长度,若否,则执行步骤S1308。
步骤S1308,若判定编码长度小于或等于预设长度,则对待查询区域进行四叉树递归分裂,以生成待查询区域的子节点待查询区域,至子节点待查询区域的空间范围索引的编码长度大于或等于预设长度为止。
在上述实施例中,若判定所述编码长度小于或等于所述预设长度,通过对所述待查询区域进行四叉树递归分裂,至所述子节点待查询区域的编码长度大于或等于所述预设长度为止,以准确地控制待查询区域的分裂过程。
具体地,如果待查询区域的编码序列长度小于系统给定的一个常数g,将待查询区域的四个四叉树的子节点加入到第一优先队列中,然后检查第一优先队列中的下一个区域。如果待查询区域的编码序列长度达到了给定的常数g,不再对待查询区域进行分裂,直接利用待查询区域执行空间范围查询,得到轨迹结果集TSR。
基于图2所示的步骤,如图14所示,还包括:
步骤S1402,在停止对待查询区域进行四叉树递归分裂后,确定待查询区域内的候选轨迹,并将候选轨迹存储至第二优先队列。
在上述实施例中,在停止对所述待查询区域进行四叉树递归分裂后,确定所述待查询区域内的候选轨迹,并将所述候选轨迹存储至第二优先队列,且第二优先队列中的候选轨迹的数量满足查询数量的要求。
另外,第二优先队列中的第二轨迹也是具有优先级的,具有最高优先级的元素最先删除,也即在后续的下界剪枝处理过程中,优先被剪枝处理,以更快地获得满足查询距离要求的第二轨迹。
图15示出了点近邻轨迹查询方案的一个实施例,在轨迹k邻近查询中,本公开将空间范围查询看作一个子操作。
结合图15所示,发明人针对待查询点q和候选轨迹tr的相似度,提出了下界剪枝和轨迹签名剪枝,提出并验证了以下定理来提升点近邻轨迹查询的可靠性和效率。
定理1.相似轨迹查询完整性定理:对于弗雷歇距离fF而言,与给定查询轨迹形似的所有轨迹都在集合T′中。
定理3.MBR剪枝定理:如果轨迹tr未完全包含于区域S中,即:tr中至少存在一个GPS点p落在了区域S之外,那么对于弗雷歇距离而言,tr必定不会与q相似。
根据本公开的实施例,通过输入查询点q、弗雷歇距离函数fF、要返回的轨迹数目k,输出为k-近邻点查询轨迹结果集Tknn,具体可以分为以下三个阶段:
查询第一阶段:主要是初始化一些变量,其中,cdq是用于存储候选轨迹的第二优先队列,req标识第一优先队列,记录着将要检查的空间区域范围,dmax是当前待查询点q与cdq内所有轨迹距离的最大距离阈值。
查询第二阶段:从req中取出一个空间区域r。如果在候选集cdq中已经有k条轨迹,并且空间区域r与待查询点q的距离大于dmax,那么意味着那些未检索到的轨迹肯定不会在结果集中(见定理2,本公开称之为区域剪枝),查询过程可以结束。
如果r的编码序列长度小于系统给定的一个常数g,本公开将r的四个四叉树的孩子节点加入到req中,然后检查req中的下一个区域。
如果r的编码序列长度达到了给定的常数g,本公开不再对r进行分裂,直接利用r执行一个空间范围查询,得到结果集TSR。
对于每条轨迹tr∈TSR,由于轨迹之间的相似度时间开销过大,本公开提出了两个下界剪枝策略。
如果tr满足以上所有的下界,本公开将其加入到候选结果集cdq中,然后更新dmax。
查询第三阶段:当req所有的候选区域都被检查完毕,本公开将候选结果cdq中的轨迹作为最后的结果并返回。
如图15所示的3-临近点查询区域中,包括四条候选轨迹分别为第一候选轨迹tr1、第二候选轨迹tr2、第三候选轨迹tr3和第四候选轨迹tr4,与待查询点q之间的距离分别为d1、d2、d3和d4,具体包括以下查询步骤:
(1)在查询之前,req=<02,2,03,00,01,1,3>,cdq=<>,dmax=0。
(2)查询02,req=<20,03,21,00,01,22,23,1,3>,cdq=<tr1>,dmax=d1。
(3)查询20,req=<03,21,00,01,22,23,1,3>,cdq=<tr1,tr2>,dmax=d2。
(4)查询03,req=<21,00,01,22,23,1,3>,cdq=<tr1,tr3,tr2>,dmax=d2。
(5)查询21,req=<00,01,22,23,1,3>,cdq=<tr1,tr3,tr2>,dmax=d2。
(6)查询00,req=<01,22,23,1,3>,cdq=<tr1,tr4,tr3>,dmax=d3。
(7)由于d(01,q)>dmax并且k=3,(6)中的查询区域cdq即为结果,结束。
下面参照图16来描述根据本公开的这种实施方式的点近邻轨迹查询装置1600。图16所示的点近邻轨迹查询装置1600仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
点近邻轨迹查询装置1600以硬件模块的形式表现。点近邻轨迹查询装置1600的组件可以包括但不限于:剪枝模块1602和确定模块1604。
剪枝模块1602,用于确定所述待查询点与待查询区域之间的第一弗雷歇距离,对所述待查询区域进行区域剪枝处理。
确定模块1604,用于确定区域剪枝后的待查询区域的候选轨迹。
所述剪枝模块1602还用于,根据所述待查询点的下界位置和所述候选轨迹的下界位置,对所述待查询区域的候选轨迹进行下界剪枝处理。
所述确定模块1604还用于,将所述下界剪枝处理后的候选轨迹确定为查询轨迹结果。
本公开提出了一种基于非关系型数据NoSQL的点邻近轨迹查询方法,通过精心设计的键值提高了空间范围索引的效率,同时提出了两种剪枝策略,能够尽早终止扩展过程,减少了点k邻近轨迹查询的时间。
针对点k邻近轨迹查询的问题,与传统的解决方案相比,本公开在保证正确性的前提下,通过设计高效的算法和结合非关系型数据库NoSQL的处理能力,有效减少了查询时间,提高了查询效率。
下面参照图17来描述根据本公开的这种实施方式的电子设备1700。图17显示的电子设备1700仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图17所示,电子设备1700以通用计算设备的形式表现。电子设备1700的组件可以包括但不限于:上述至少一个处理单元1710、上述至少一个存储单元1720、连接不同系统组件(包括存储单元1720和处理单元1710)的总线1730。
其中,存储单元存储有程序代码,程序代码可以被处理单元1710执行,使得处理单元1710执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。例如,处理单元1710可以执行如图2至图13中所示的点近邻轨迹查询方法的步骤,以及本公开的其他实施例的点近邻轨迹查询方法中限定的其他步骤。
存储单元1720可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)17201和/或高速缓存存储单元17202,还可以进一步包括只读存储单元(ROM)17203。
存储单元1720还可以包括具有一组(至少一个)程序模块17205的程序/实用工具17204,这样的程序模块17205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线1730可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备1700也可以与一个或多个外部设备1740(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备交互的设备通信,和/或与使得该电子设备1700能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口1750进行。并且,电子设备1700还可以通过网络适配器1760与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器1760通过总线1730与电子设备1700的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RA标识系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。
根据本公开的实施方式的用于实现上述方法的程序产品,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由所附的权利要求指出。
Claims (18)
1.一种点近邻轨迹查询方法,其特征在于,包括:
确定所述待查询点与待查询区域之间的第一弗雷歇距离,对所述待查询区域进行区域剪枝处理;
确定区域剪枝后的待查询区域的候选轨迹;
根据所述待查询点的下界位置和所述候选轨迹的下界位置,对所述待查询区域的候选轨迹进行下界剪枝处理;
将所述下界剪枝处理后的候选轨迹确定为查询轨迹结果。
2.根据权利要求1所述的点近邻轨迹查询方法,其特征在于,确定所述待查询点与所述待查询区域之间的第一弗雷歇距离,对所述待查询区域进行区域剪枝处理包括:
确定所述待查询点与所述待查询区域之间的第一弗雷歇距离;
判断所述第一弗雷歇距离是否大于或等于最大距离阈值;
若判定所述第一弗雷歇距离大于或等于所述最大距离阈值,则对所述待查询区域进行区域剪枝处理。
3.根据权利要求1所述的点近邻轨迹查询方法,其特征在于,
所述下界位置包括起点下界位置、终点下界位置和轨迹签名下界位置中的至少一种。
4.根据权利要求1所述的点近邻轨迹查询方法,其特征在于,根据所述待查询点的下界位置和所述候选轨迹的下界位置,对所述候选轨迹进行下界剪枝处理包括:
确定所述待查询点的起点下界位置和所述候选轨迹的起点下界位置之间的起点弗雷歇距离;
根据所述起点弗雷歇距离与第一预设距离之间的大小关系,对所述待查询区域进行第一下界剪枝处理。
5.根据权利要求1所述的点近邻轨迹查询方法,其特征在于,根据所述待查询点的下界位置和所述候选轨迹的下界位置,对所述候选轨迹进行下界剪枝处理还包括:
确定所述待查询点的终点下界位置和所述候选轨迹的终点下界位置之间的终点弗雷歇距离;
根据所述终点弗雷歇距离与第二预设距离之间的大小关系,对所述候选轨迹进行第二下界剪枝处理。
6.根据权利要求1至5中任一项所述的点近邻轨迹查询方法,其特征在于,在确定所述待查询点与待查询区域之间的第一弗雷歇距离前,还包括:
获取所述待查询点,并确定所述待查询点的空间位置信息;
根据所述待查询点的空间位置信息与所述待查询区域之间的位置关系,生成轨迹签名;
通过XZ-Ordering确定所述待查询点的空间位置索引编码;
根据所述轨迹签名和所述空间位置索引编码,构建所述待查询点的空间范围索引。
7.根据权利要求6所述的点近邻轨迹查询方法,其特征在于,根据所述待查询点的空间位置信息与待查询区域之间的位置关系,生成轨迹签名还包括:
对任一所述待查询区域的四个子节点待查询区域进行有序编码;
将被所述待查询点所属的子节点待查询区域记作第一编码,以及将所述待查询点不属于的子节点待查询区域记作第二编码;
根据所述有序编码、所述第一编码和所述第二编码,确定所述待查询点的轨迹签名。
8.根据权利要求1所述的点近邻轨迹查询方法,其特征在于,根据所述待查询点的下界位置和所述候选轨迹的下界位置,对所述待查询区域的候选轨迹进行下界剪枝处理还包括:
根据候选轨迹的空间位置信息与所述待查询区域之间的位置关系,生成所述候选轨迹的轨迹签名;
确定所述待查询点的轨迹签名下界和所述候选轨迹的轨迹签名下界的之间的轨迹签名弗雷歇距离;
根据所述轨迹签名弗雷歇距离与第三预设距离之间的大小关系,对所述候选轨迹进行第三下界剪枝处理。
9.根据权利要求2所述的点近邻轨迹查询方法,其特征在于,根据所述待查询点的下界位置和所述候选轨迹的下界位置,对所述待查询区域的候选轨迹进行下界剪枝处理还包括:
确定所述待查选点与进行区域剪枝处理后的任一待查询区域之间的最小距离;
按照所述最小距离由小到大的顺序,对所述待查询区域的候选轨迹依次进行下界剪枝处理;
根据每次所述下界剪枝处理的结果,对所述最大距离阈值进行更新。
10.根据权利要求6所述的点近邻轨迹查询方法,其特征在于,还包括:
确定所述待查询点的标识;
将所述待查询点的标识添加至所述空间范围索引的后缀。
11.根据权利要求6所述的点近邻轨迹查询方法,其特征在于,还包括:
获取所述待查询点的随机数;
将所述随机数添加至所述空间范围索引的前缀;
根据所述前缀将所述空间范围索引随机存储至分布式服务器。
12.根据权利要求6所述的点近邻轨迹查询方法,其特征在于,还包括:
从存储所述待查询区域的第一优先队列中取出一个待查询区域;
确定所述待查询区域的空间范围索引的编码长度;
根据所述编码长度与预设长度之间的大小关系,对所述待查询区域进行扩展或对停止对所述待查询区域进行分裂。
13.根据权利要求6所述的点近邻轨迹查询方法,其特征在于,根据所述编码长度与预设长度之间的大小关系,对所述待查询区域进行扩展或对停止对所述待查询区域进行分裂包括:
判断所述空间范围索引的编码长度是否大于所述预设长度;
若判定所述编码长度大于所述预设长度,则不对所述待查询区域进行分裂;
在所待查询区域内执行空间范围查询处理。
14.根据权利要求6所述的点近邻轨迹查询方法,其特征在于,根据所述编码长度与预设长度之间的大小关系,对所述待查询区域进行扩展或对停止对所述待查询区域进行分裂还包括:
判断所述空间范围索引的空间范围索引的编码长度是否大于所述预设长度;
若判定所述编码长度小于或等于所述预设长度,则对所述待查询区域进行四叉树递归分裂,以生成所述待查询区域的子节点待查询区域,至所述子节点待查询区域的空间范围索引的编码长度大于或等于所述预设长度为止。
15.根据权利要求6所述的点近邻轨迹查询方法,其特征在于,还包括:
在停止对所述待查询区域进行四叉树递归分裂后,确定所述待查询区域内的候选轨迹,并将所述候选轨迹存储至所述第二优先队列。
16.一种点近邻轨迹查询装置,其特征在于,包括:
剪枝模块,用于确定所述待查询点与待查询区域之间的第一弗雷歇距离,对所述待查询区域进行区域剪枝处理;
确定模块,用于确定区域剪枝后的待查询区域的候选轨迹;
所述剪枝模块还用于,根据所述待查询点的下界位置和所述候选轨迹的下界位置,对所述待查询区域的候选轨迹进行下界剪枝处理;
所述确定模块还用于,将所述下界剪枝处理后的候选轨迹确定为查询轨迹结果。
17.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1-15中任一项所述的点近邻轨迹查询方法。
18.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,
所述计算机程序被处理器执行时实现权利要求1-15中任一项所述的点近邻轨迹查询方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011583513.1A CN112597190A (zh) | 2020-12-28 | 2020-12-28 | 点近邻轨迹查询方法、装置、电子设备和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011583513.1A CN112597190A (zh) | 2020-12-28 | 2020-12-28 | 点近邻轨迹查询方法、装置、电子设备和可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112597190A true CN112597190A (zh) | 2021-04-02 |
Family
ID=75202774
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011583513.1A Pending CN112597190A (zh) | 2020-12-28 | 2020-12-28 | 点近邻轨迹查询方法、装置、电子设备和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112597190A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113051360A (zh) * | 2021-04-16 | 2021-06-29 | 深圳前海中电慧安科技有限公司 | 一种相似轨迹的确定方法、装置、计算机设备及存储介质 |
CN116468825A (zh) * | 2023-06-09 | 2023-07-21 | 北京声影动漫科技有限公司 | 曲线剪切方法和装置、设备及存储介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040193615A1 (en) * | 2003-03-27 | 2004-09-30 | Kothuri Ravi Kanth V. | Delayed distance computations for nearest-neighbor queries in an R-tree index |
US20110093458A1 (en) * | 2009-09-25 | 2011-04-21 | Microsoft Corporation | Recommending points of interests in a region |
CN102156756A (zh) * | 2011-05-16 | 2011-08-17 | 复旦大学 | 一种基于图嵌入的在道路网络中查找最优路径的方法 |
US20110301832A1 (en) * | 2010-06-04 | 2011-12-08 | Microsoft Corporation | Searching Similar Trajectories by Locations |
CN102567497A (zh) * | 2011-12-23 | 2012-07-11 | 浙江大学 | 一种最匹配模糊轨迹问题的查询方法 |
CN106570062A (zh) * | 2016-10-08 | 2017-04-19 | 中国人民解放军理工大学 | 一种路网轨迹不确定移动对象范围查询系统及方法 |
CN106844409A (zh) * | 2016-06-16 | 2017-06-13 | 南京航空航天大学 | 快速连续历史轨迹距离查询技术 |
CN107480231A (zh) * | 2017-08-04 | 2017-12-15 | 深圳大学 | 基于带序兴趣区域的轨迹查询的启发式扩张搜索扩展算法 |
CN108536704A (zh) * | 2017-03-02 | 2018-09-14 | 华为技术有限公司 | 一种轨迹查询方法、系统及装置 |
CN108536813A (zh) * | 2018-04-04 | 2018-09-14 | 平安科技(深圳)有限公司 | 轨迹查询方法、电子设备及存储介质 |
CN109492150A (zh) * | 2018-10-30 | 2019-03-19 | 石家庄铁道大学 | 基于语义轨迹大数据的反向最近邻查询方法及装置 |
-
2020
- 2020-12-28 CN CN202011583513.1A patent/CN112597190A/zh active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040193615A1 (en) * | 2003-03-27 | 2004-09-30 | Kothuri Ravi Kanth V. | Delayed distance computations for nearest-neighbor queries in an R-tree index |
US20110093458A1 (en) * | 2009-09-25 | 2011-04-21 | Microsoft Corporation | Recommending points of interests in a region |
US20110301832A1 (en) * | 2010-06-04 | 2011-12-08 | Microsoft Corporation | Searching Similar Trajectories by Locations |
CN102156756A (zh) * | 2011-05-16 | 2011-08-17 | 复旦大学 | 一种基于图嵌入的在道路网络中查找最优路径的方法 |
CN102567497A (zh) * | 2011-12-23 | 2012-07-11 | 浙江大学 | 一种最匹配模糊轨迹问题的查询方法 |
CN106844409A (zh) * | 2016-06-16 | 2017-06-13 | 南京航空航天大学 | 快速连续历史轨迹距离查询技术 |
CN106570062A (zh) * | 2016-10-08 | 2017-04-19 | 中国人民解放军理工大学 | 一种路网轨迹不确定移动对象范围查询系统及方法 |
CN108536704A (zh) * | 2017-03-02 | 2018-09-14 | 华为技术有限公司 | 一种轨迹查询方法、系统及装置 |
CN107480231A (zh) * | 2017-08-04 | 2017-12-15 | 深圳大学 | 基于带序兴趣区域的轨迹查询的启发式扩张搜索扩展算法 |
CN108536813A (zh) * | 2018-04-04 | 2018-09-14 | 平安科技(深圳)有限公司 | 轨迹查询方法、电子设备及存储介质 |
CN109492150A (zh) * | 2018-10-30 | 2019-03-19 | 石家庄铁道大学 | 基于语义轨迹大数据的反向最近邻查询方法及装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113051360A (zh) * | 2021-04-16 | 2021-06-29 | 深圳前海中电慧安科技有限公司 | 一种相似轨迹的确定方法、装置、计算机设备及存储介质 |
CN113051360B (zh) * | 2021-04-16 | 2024-04-09 | 深圳前海中电慧安科技有限公司 | 一种相似轨迹的确定方法、装置、计算机设备及存储介质 |
CN116468825A (zh) * | 2023-06-09 | 2023-07-21 | 北京声影动漫科技有限公司 | 曲线剪切方法和装置、设备及存储介质 |
CN116468825B (zh) * | 2023-06-09 | 2023-11-10 | 北京声影动漫科技有限公司 | 曲线剪切方法和装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10817484B2 (en) | Apparatus, systems, and methods for providing location information | |
CN109614427B (zh) | 多源数据库的访问方法及装置、存储介质和电子设备 | |
CN107465656B (zh) | 一种基于云计算的安防监控大数据处理方法及系统 | |
US20200151170A1 (en) | Spark query method and system supporting trusted computing | |
US10997176B2 (en) | Massive time series correlation similarity computation | |
CN102395965B (zh) | 用于在数据库中搜索对象的方法 | |
US9646061B2 (en) | Distributed fuzzy search and join with edit distance guarantees | |
US20190026815A1 (en) | Elicit user demands for item recommendation | |
CN112597190A (zh) | 点近邻轨迹查询方法、装置、电子设备和可读存储介质 | |
CN113688193B (zh) | 轨迹数据的存储与索引方法、装置、电子设备及可读介质 | |
US20230315405A1 (en) | Discovering matching code segments according to index and comparative similarity | |
CN101996257A (zh) | 可重构路由交换平台构件的检索方法 | |
CN113806466A (zh) | 路径时间查询方法、装置、电子设备和可读存储介质 | |
WO2022142449A1 (zh) | 轨迹近邻查询方法、装置、电子设备和可读存储介质 | |
US9436715B2 (en) | Data management apparatus and data management method | |
CN114756837A (zh) | 一种基于区块链的数字内容溯源方法及系统 | |
CN114444441A (zh) | 名称相似度计算方法、装置、存储介质和计算设备 | |
CN113010642A (zh) | 语义关系的识别方法、装置、电子设备及可读存储介质 | |
Singh et al. | Indexing hs code-a hybrid indexer for an optimized search of geotagged data | |
CN112115099B (zh) | 数据归一化方法、装置、计算机可读介质和电子设备 | |
CN114003972B (zh) | 生成区块状态承诺和证明及验证区块状态证明的方法 | |
US11841857B2 (en) | Query efficiency using merged columns | |
CN113190645B (zh) | 一种索引结构建立方法、装置、设备及存储介质 | |
KR20240116242A (ko) | 문서 인코딩 및 질의 생성을 위한 방법, 컴퓨터 장치, 및 컴퓨터 프로그램 | |
JP2024126021A (ja) | ディープラーニングベースの光学文字認識方法およびシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |