CN112579921B - 基于倒排序索引及前缀树的轨迹索引和查询方法及系统 - Google Patents
基于倒排序索引及前缀树的轨迹索引和查询方法及系统 Download PDFInfo
- Publication number
- CN112579921B CN112579921B CN202011489554.4A CN202011489554A CN112579921B CN 112579921 B CN112579921 B CN 112579921B CN 202011489554 A CN202011489554 A CN 202011489554A CN 112579921 B CN112579921 B CN 112579921B
- Authority
- CN
- China
- Prior art keywords
- track
- road
- prefix tree
- road section
- ordered
- 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.)
- Active
Links
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/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9537—Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
-
- 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/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
-
- 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/23—Updating
-
- 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
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
- G06F16/24558—Binary matching operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/29—Graphical models, e.g. Bayesian networks
- G06F18/295—Markov models or related models, e.g. semi-Markov models; Markov random fields; Networks embedding Markov models
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)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明属于GPS轨迹数据索引技术领域,公开了一种基于倒排序索引及前缀树的轨迹索引和查询方法及系统。通过将原始轨迹数据路网匹配后划分为轨迹段,针对轨迹段倒排序索引并转换为前缀树来进行轨迹索引。本发明可以根据给定的路段和时间范围,查询在该时间范围内经过该路段的所有轨迹段。而传统的轨迹段索引方法面对大量轨迹数据时查询效率不高,或者没有保留车辆轨迹的语义完整性,本发明可以提高轨迹检索的效率、相比传统索引结构节省存储空间,保留轨迹的语义完整性。本发明适用于开发轨迹数据挖掘方法,推断居民的出行特征和模式,发现交通流的时空特征,预测出行时间等情况,在GPS轨迹数据处理技术领域有重要的应用价值。
Description
技术领域
本发明属于GPS轨迹数据索引技术领域,具体涉及一种基于倒排序索引及前缀树的轨迹索引和查询方法及系统。
背景技术
随着移动互联网的飞速发展和基于全球定位系统的广泛应用,大规模的时空序列轨迹数据被收集、存储。基于这些轨迹数据,研究者可以发现以前未知的但可能有价值的有关车辆运动及其交通的信息,例如开发轨迹数据挖掘方法,推断居民的出行特征和模式,发现交通流的时空特征,预测出行时间等等。在上述应用中,随着轨迹数据急剧增大,提供一种高效、灵活的时空轨迹查询方法是一种共性需求。
由于车辆的行驶通常受到道路网络的限制,因此车辆轨迹数据的空间分布与路段呈线性关系,通过预定义的时空粒度,可以将原始轨迹数据划分为轨迹段。基于轨迹段,已经提出了许多索引结构。其中大多数都是基于R树的索引结构并设置一些空间属性(例如经度和纬度)作为关键字来索引车辆轨迹段,R树的原理是基于对象的空间位置用存储在树节点中的最小边界矩形(MBR)来表示它们。但是在城市道路网中,长期且庞大的车辆轨迹数据必定生成大量重叠或冗余的MBR,并且相应的索引结构也必定是臃肿的多级R树。这样的R树索引结构难以维护,这极大地增加了操作成本并降低了查询效率。另外,随着轨迹数据的更新,必须更新R树索引,从而导致高昂的维护成本。
轨迹段索引的另一种方法是立方体索引,大多数立方体索引结构都通过固定的空间粒度或固定距离将轨迹数据划分为多个段,并将具有相同时空特征的轨迹段聚合到立方体的单元格中。可以使用给定的查询条件从立方体中进行轨迹段检索。但是,这种具有固定粒度的轨迹分割仅对给定粒度下的轨迹检索有利。此外,它分裂了车辆轨迹的语义完整性,从而对给定的起点和目的地的轨迹检索带来了障碍。
发明内容
本发明的目的在于提供一种基于倒排序索引及前缀树的轨迹索引和查询方法及系统,用以解决现有车辆轨迹轨迹索引针对大量轨迹数据查询效率低下且分割轨迹语义的问题。
为了实现上述任务,本发明采用以下技术方案:
一种基于倒排序索引及前缀树的轨迹索引方法,包括如下步骤:
步骤1:获取车辆所在城市的路网数据和车辆的原始轨迹数据,所述路网数据包括多个路段和每个路段的路段id,所述原始轨迹数据包括多条原始轨迹和每条原始轨迹的原始轨迹id,并对原始轨迹数据进行预处理;
步骤2:将路网数据匹配到步骤1进行预处理后得到的原始轨迹数据上,获得原子轨迹数据,所述每条原子轨迹包括路段id、原始轨迹id和属性特征;
步骤3:将原始轨迹id相同的原子轨迹作为一组,获得多组原子轨迹;
对每组原子轨迹进行判断,若该组中连续三个及以上的原子轨迹的属性特征相同,则将该组原子轨迹作为一个轨迹段,获得轨迹段数据,所述每个轨迹段包含一个原始轨迹id和一个路段id序列,每个轨迹段的路段id序列为该轨迹段所包含的所有原子轨迹对应的路段id的集合;
步骤4:根据步骤1得到的每个路段生成一棵前缀树;获取步骤3得到的所有轨迹段的原始轨迹id、所有路段id序列中的路段和所有路段id序列中每个路段在其所在路段id序列中的序号,将每个路段所对应的原始轨迹id和该路段在其所在路段id序列中的序号插入该路段的前缀树中得到有序前缀树,获得每个路段对应的有序前缀树,将全部有序前缀树作为轨迹索引库。
进一步的,步骤2中采用基于HMM模型的地图匹配方法将路网数据匹配到步骤1进行预处理后得到的原始轨迹数据上。
进一步的,步骤4中将每个路段所对应的原始轨迹id和该路段在其所在路段id序列中的序号插入该路段的前缀树中得到有序前缀树,包含如下步骤:
步骤a1:取前缀树的根节点为当前节点;
步骤a2:获取每个路段所对应的原始轨迹id的年月日、时、秒、车牌号和该路段在其所在路段id序列中的序号分别作为字符P1,P2,P3,P4,P5;
步骤a3:获取新节点Pi并令Pi=P1,将Pi与当前节点的所有子节点进行比较,如果有与Pi相同的子节点则将该子节点设为当前节点并执行步骤a4;如果没有与Pi相同的子节点则将Pi与当前节点的所有子节点一起排序,按序将Pi插入为新子节点,并将Pi设为当前节点并执行步骤a4;
步骤a4:如果i=5,则生成完成,获得有序前缀树;否则Pi=Pi+1,返回步骤a3。
进一步的,轨迹索引库更新时采用如下方法:
步骤b1:获取新产生的轨迹数据,对新产生的轨迹数据执行步骤1至步骤3,最后得到更新轨迹段数据;
步骤b2:对更新轨迹段数据经过的路段生成更新前缀树;获取更新轨迹段数据中包含的路段id,从数据库中查询相同路段对应的有序前缀树,将该有序前缀树与生成的更新前缀树做并集运算,得到更新后的有序前缀树,随后将更新后的有序前缀树覆盖掉数据库中与其路段id相同的有序前缀树,索引更新完成。
一种轨迹查询方法,包括如下步骤:
步骤Ⅰ:获取目标路段集合以及查询时间范围,所述目标路段集合包括起点路段、终点路段和中间路段;
步骤Ⅱ:按照所述的任一种基于倒排序索引及有序前缀树的轨迹索引方法获得轨迹索引库,从轨迹索引库中查询并获得起点路段、终点路段和查询路段所对应的所有有序前缀树;
步骤Ⅲ:根据查询时间范围对步骤Ⅱ获得的所有有序前缀树进行裁剪,剪切掉不符合时间范围的有序前缀树,保留符合查询时间范围的有序前缀树集合(T1,T2,...,Tn),其中T1为起点路段对应的有序前缀树,Tn为终点路段对应的有序前缀树,令T1与有序前缀树集合中除T1外的所有有序前缀树分别做交集运算,最终交集后的T1即为目标路段集合的有序前缀树;
步骤Ⅳ:将步骤Ⅲ得到的目标路段集合的有序前缀树还原,得到查询时间范围内经过目标路段的所有轨迹段id序列。
一种基于倒排序索引及前缀树的轨迹索引系统,包括数据采集模块、轨迹划分模块、轨迹段生成模块和前缀树生成模块;
所述数据采集模块用于获取车辆所在城市的路网数据和车辆的原始轨迹数据,所述路网数据包括多个路段和每个路段的路段id,所述原始轨迹数据包括多条原始轨迹和每条原始轨迹的原始轨迹id,并对原始轨迹数据进行预处理;
所述轨迹划分模块用于将路网数据匹配到步骤1进行预处理后得到的原始轨迹数据上,获得原子轨迹数据,所述每条原子轨迹包括路段id、原始轨迹id和属性特征;
所述轨迹段生成模块用于将原始轨迹id相同的原子轨迹作为一组,获得多组原子轨迹;对每组原子轨迹进行判断,若该组中连续三个及以上的原子轨迹的属性特征相同,则将该组原子轨迹作为一个轨迹段,所述每个轨迹段包括一个原始轨迹id和路段id序列,获得轨迹段数据;
所述前缀树生成模块用于根据数据采集模块得到的每个路段生成一棵前缀树;获取步骤3得到的所有轨迹段的原始轨迹id、所有路段id序列中的路段和所有路段id序列中每个路段在其所在路段id序列中的序号,将每个路段所对应的原始轨迹id和该路段在其所在路段id序列中的序号插入该路段的前缀树中得到有序前缀树,获得每个路段对应的有序前缀树,将全部有序前缀树作为轨迹索引库。
进一步的,采用基于HMM模型的地图匹配方法将路网数据匹配到进行预处理后得到的原始轨迹数据上。
进一步的,将每个路段所对应的原始轨迹id和该路段在其所在路段id序列中的序号插入该路段的前缀树中得到有序前缀树,包含如下步骤:
步骤a1:取前缀树的根节点为当前节点;
步骤a2:获取每个路段所对应的原始轨迹id的年月日、时、秒、车牌号和该路段在其所在路段id序列中的序号分别作为字符P1,P2,P3,P4,P5;
步骤a3:获取新节点Pi并令Pi=P1,将Pi与当前节点的所有子节点进行比较,如果有与Pi相同的子节点则将该子节点设为当前节点并执行步骤a4;如果没有与Pi相同的子节点则将Pi与当前节点的所有子节点一起排序,按序将Pi插入为新子节点,并将Pi设为当前节点并执行步骤a4;
步骤a4:如果i=5,则生成完成,获得有序前缀树;否则Pi=Pi+1,返回步骤a3。
进一步的,轨迹索引库更新时采用如下方法:
步骤b1:获取新产生的轨迹数据,对新产生的轨迹数据执行步骤1至步骤3,最后得到更新轨迹段数据;
步骤b2:对更新轨迹段数据经过的路段生成更新前缀树;获取更新轨迹段数据中包含的路段id,从数据库中查询相同路段对应的有序前缀树,将该有序前缀树与生成的更新前缀树做并集运算,得到更新后的有序前缀树,随后将更新后的有序前缀树覆盖掉数据库中与其路段id相同的有序前缀树,索引更新完成。
一种轨迹查询系统,包括输入模块、前缀树查询模块、前缀树剪裁模块、轨迹查询模块;
所述输入模块用于获取目标路段集合以及查询时间范围,所述目标路段集合包括起点路段、终点路段和中间路段;
所述前缀树查询模块用于按照所述的任一种基于倒排序索引及有序前缀树的轨迹索引系统获得轨迹索引库,从轨迹索引库中查询并获得起点路段、终点路段和查询路段所对应的所有有序前缀树;
所述前缀树剪裁模块用于根据查询时间范围对步骤Ⅱ获得的所有有序前缀树进行裁剪,剪切掉不符合时间范围的有序前缀树,保留符合查询时间范围的有序前缀树集合(T1,T2,...,Tn),其中T1为起点路段对应的有序前缀树,Tn为终点路段对应的有序前缀树,令T1与有序前缀树集合中除T1外的所有有序前缀树分别做交集运算,最终交集后的T1即为目标路段集合的有序前缀树;
所述轨迹查询模块用于将前缀树剪裁模块得到的目标路段集合的有序前缀树还原,得到查询时间范围内经过目标路段的所有轨迹段id序列。
本发明与现有技术相比具有以下技术特点:
(1)本发明基于倒排索引结合前缀树的方式进行轨迹索引,可以快速查询指定路段上经过的所有轨迹段。
(2)本发明与传统的基于R树的轨迹索引方法不同,传统的轨迹索引方法当索引大量轨迹数据时会生成大量MBR矩形,造成R树过于臃肿,致使存储空间开销增大、查询效率低下,本发明由于使用倒排序索引,相比于传统方法查询效率更高,同时由于使用前缀树,相比于传统方法,也更为节省存储空间。
(3)与传统的立方体索引结构相比,本发明可以保留轨迹的语义完整性,同时本发明可以查询到经过指定路段的所有轨迹段。
附图说明
图1为实施例1中获取的轨迹段以及路段的倒排索引示意图;
图2为实施例1中有序前缀树形式示意图;
图3为实施例1中更新前缀树示意图;
图4为实施例1中查询目标路段对应有序前缀树示意图。
具体实施方式
首先对本发明中出现的技术词语进行解释:
属性特征:在本发明中,属性特征是指根据要研究的问题选取的轨迹数据所包含的标签,如想要研究出租车轨迹时,则选择载客/空载作为属性特征;如想要研究高速路车辆轨迹数据时,则选取收费站出入口作为属性特征;如想要研究城市普通车辆轨迹数据,则可选取出发地\目的地作为特征。
预处理:包括数据清洗、异常点处理。用于将轨迹数据中重复的数据和经纬度坐标超出车辆所在城市坐标范围的数据过滤掉。
前缀树:又称单词查找树,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高。在本发明中,以键值对形式表示,key(键)为路段id,value(值)为前缀树。
倒排序索引:倒排索引源于实际应用中需要根据属性的值来查找记录。这种索引表中的每一项都包括一个属性值和具有该属性值的各记录的地址。由于不是由记录来确定属性值,而是由属性值来确定记录的位置。
在本实施例中公开了一种基于倒排序索引及前缀树的轨迹索引方法,包括如下步骤:
步骤1:获取车辆所在城市的路网数据和车辆的原始轨迹数据,所述路网数据包括多个路段和每个路段的路段id,所述原始轨迹数据包括多条原始轨迹和每条原始轨迹的原始轨迹id,并对原始轨迹数据进行预处理;
步骤2:对步骤1进行预处理后得到的原始轨迹数据和路网数据进行路网匹配,获得原子轨迹数据,所述每条原子轨迹包括一个路段id和一个原始轨迹id;
步骤3:将原始轨迹id相同的原子轨迹作为一组,获得多组原子轨迹;
对每组原子轨迹进行判断,若该组中连续三个及以上的原子轨迹的属性特征相同,则将该组原子轨迹作为一个轨迹段,获得轨迹段数据,所述每个轨迹段包含一个原始轨迹id和一个路段id序列,每个轨迹段的路段id序列为该轨迹段所包含的所有原子轨迹对应的路段id的集合;
步骤4:根据步骤1得到的每个路段生成一棵前缀树,步骤1里的路网上的每个路段都生成一棵空前缀树,以键值对形式表示,即key(键)为路段id,value(值)为前缀树;获取步骤3得到的所有轨迹段的原始轨迹id、所有路段id序列中的路段和所有路段id序列中每个路段在其所在路段id序列中的序号,将每个路段所对应的原始轨迹id和该路段在其所在路段id序列中的序号插入该路段的前缀树中得到有序前缀树,获得每个路段对应的有序前缀树,将全部有序前缀树作为轨迹索引库。
具体的,步骤2中采用基于HMM模型的地图匹配方法将路网数据匹配到步骤1进行预处理后得到的原始轨迹数据上,使由GPS点组成的轨迹数据转换为由路段序列组成的轨迹数据,其中由一个路段代表的轨迹称为原子轨迹。该方法出自[1]康军,郭佳豪,段宗涛,唐蕾,张凡.大规模轨迹数据并行化地图匹配算法[J].测控技术,2019,38(02):98-102。
具体的,属性特征包括以下几种情况:1.针对出租车轨迹数据选取载客/空载作为特征;2.针对高速路车辆轨迹数据选取收费站出入口作为特征;3.针对城市普通车辆轨迹数据选取出发地\目的地作为特征。
具体的,步骤4中将每个路段所对应的原始轨迹id和该路段在其所在路段id序列中的序号插入该路段的前缀树中得到有序前缀树,包含如下步骤:
步骤a1:取前缀树的根节点为当前节点;
步骤a2:获取每个路段所对应的原始轨迹id的年月日、时、秒、车牌号和该路段在其所在路段id序列中的序号分别作为字符P1,P2,P3,P4,P5;
步骤a3:获取新节点Pi并令Pi=P1,将Pi与当前节点的所有子节点进行比较,如果有与Pi相同的子节点则将该子节点设为当前节点并执行步骤a4;如果没有与Pi相同的子节点则将Pi与当前节点的所有子节点一起排序,按序将Pi插入为新子节点,并将Pi设为当前节点并执行步骤a4;
步骤a4:如果i=5,则生成完成,获得有序前缀树;否则Pi=Pi+1,返回步骤a3。最终当前路段与其对应的前缀树以键值对形式保存,即key(键)为路段id,value(值)为前缀树。
具体的,轨迹索引库更新时采用如下方法:
步骤b1:获取新产生的轨迹数据,对新产生的轨迹数据执行步骤1至步骤3,最后得到更新轨迹段数据;
步骤b2:对更新轨迹段数据经过的路段生成更新前缀树;获取更新轨迹段数据中包含的路段id,从数据库中查询相同路段对应的有序前缀树,将该有序前缀树与生成的更新前缀树做并集运算,得到更新后的有序前缀树,随后将更新后的有序前缀树覆盖掉数据库中与其路段id相同的有序前缀树,索引更新完成。
本实施方式中还公开了一种轨迹查询方法,包括如下步骤:
步骤Ⅰ:获取目标路段集合以及查询时间范围,所述目标路段集合包括起点路段、终点路段和中间路段;
步骤Ⅱ:按照所述的任一种基于倒排序索引及有序前缀树的轨迹索引方法获得轨迹索引库,从轨迹索引库中查询并获得起点路段、终点路段和查询路段所对应的所有有序前缀树;
步骤Ⅲ:根据查询时间范围对步骤Ⅱ获得的所有有序前缀树进行裁剪,剪切掉不符合时间范围的有序前缀树,保留符合查询时间范围的有序前缀树集合(T1,T2,...,Tn),其中T1为起点路段对应的有序前缀树,Tn为终点路段对应的有序前缀树,令T1与有序前缀树集合中除T1外的所有有序前缀树分别做交集运算,最终交集后的T1即为目标路段集合的有序前缀树;
步骤Ⅳ:将步骤Ⅲ得到的目标路段集合的有序前缀树还原,得到查询时间范围内经过目标路段的所有轨迹段id序列。
具体的,有序前缀树中,包含时间的字段共三个,分别为:年月日、时、秒。因此,对给定的时间范围,将其转换为以这三个字段表示的时间范围。
具体的,设查得的前缀树为(T1,T2,...,Tn),取Ti=T1;设时间范围为[S1,S2,S3]-[E1,E2,E3],所述步骤Ⅲ中的剪裁包括如下步骤:
步骤2.2.1:将前缀树Ti第一层的所有节点与S1,E1比较,保留大于等于S1且小于等于E1的所有节点,删除其他节点及其子树;若没有保留节点则进入步骤2.2.2,若有保留节点则进入步骤2.2.3;
步骤2.2.2:若i<n,则取Ti=Ti+1,进入步骤2.2.1,否则,则前缀树裁剪完成,退出步骤;
步骤2.2.3:将前缀树Ti第二层的所有节点与S2,E2比较,保留大于等于S2且小于等于E2的所有节点,删除其他节点及其子树;若没有保留节点则进入2,若有保留节点则进入步骤2.2.4;
步骤2.2.4:将前缀树Ti第三层的所有节点与S3,E3比较,保留大于等于S3且小于等于E3的所有节点,删除其他节点及其子树;进入步骤2.2.2。
具体的,步骤Ⅲ中令T1与有序前缀树集合中除T1外的所有有序前缀树分别做交集运算包括如下步骤:
步骤3.1:设做交集的两棵前缀树为Ti,Tj,因为前缀树为五层树结构,且五层分别存储的是年月日、时、秒、车牌号、序号,其中第一层的根节点为空。所以首先分别比较Ti,Tj前四层的所有节点,从第一层往下逐层比较,保留每一层父节点相同且自身相同的节点,剪切掉剩余的节点及其子树,设剪切后的前缀树为CTi,CTj;
步骤3.2:因为经过步骤3.1裁剪后的前缀树前四层节点都相同,而第四层节点对应的叶子节点有且只有一个,因此设步骤3.1处理后的CTi,CTj第五层序号节点分别为(p1,p2,...,pn)和(q1,q2,...,qn),则两两比较这些节点,比较方式为:设比较节点pa,(1≤a≤n)和qb,(1≤b≤n),若pa≤pb且它们父节点相同,则保留;否则删除pa和pb。
本实施方式中还公开了一种基于倒排序索引及前缀树的轨迹索引系统,包括数据采集模块、轨迹划分模块、轨迹段生成模块和前缀树生成模块;
所述数据采集模块用于获取车辆所在城市的路网数据和车辆的原始轨迹数据,所述路网数据包括多个路段和每个路段的路段id,所述原始轨迹数据包括多条原始轨迹和每条原始轨迹的原始轨迹id,并对原始轨迹数据进行预处理;
所述轨迹划分模块用于对进行预处理后得到的原始轨迹数据和路网数据进行路网匹配,获得原子轨迹数据,所述每条原子轨迹包括一个路段id和一个原始轨迹id;
所述轨迹段生成模块用于将原始轨迹id相同的原子轨迹作为一组,获得多组原子轨迹;选取特征,对每组原子轨迹进行判断,若该组中连续三个及以上的原子轨迹的特征相同,则将该组原子轨迹作为一个轨迹段,所述每个轨迹段包括一个原始轨迹id和路段id序列,获得轨迹段数据;
所述前缀树生成模块用于根据数据采集模块得到的每个路段生成一棵前缀树;获取步骤3得到的所有轨迹段的原始轨迹id、所有路段id序列中的路段和所有路段id序列中每个路段在其所在路段id序列中的序号,将每个路段所对应的原始轨迹id和该路段在其所在路段id序列中的序号插入该路段的前缀树中得到有序前缀树,获得每个路段对应的有序前缀树,将全部有序前缀树作为轨迹索引库。
具体的,所述路网匹配采用基于HMM模型的地图匹配方法。
具体的,将每个路段所对应的原始轨迹id和该路段在其所在路段id序列中的序号插入该路段的前缀树中得到有序前缀树,包含如下步骤:
步骤a1:取前缀树的根节点为当前节点;
步骤a2:获取每个路段所对应的原始轨迹id的年月日、时、秒、车牌号和该路段在其所在路段id序列中的序号分别作为字符P1,P2,P3,P4,P5;
步骤a3:获取新节点Pi并令Pi=P1,将Pi与当前节点的所有子节点进行比较,如果有与Pi相同的子节点则将该子节点设为当前节点并执行步骤a4;如果没有与Pi相同的子节点则将Pi与当前节点的所有子节点一起排序,按序将Pi插入为新子节点,并将Pi设为当前节点并执行步骤a4;
步骤a4:如果i=5,则生成完成,获得有序前缀树;否则Pi=Pi+1,返回步骤a3。
具体的,轨迹索引库更新时采用如下方法:
步骤b1:获取新产生的轨迹数据,对新产生的轨迹数据执行步骤1至步骤3,最后得到更新轨迹段数据;
步骤b2:对更新轨迹段数据经过的路段生成更新前缀树;获取更新轨迹段数据中包含的路段id,从数据库中查询相同路段对应的有序前缀树,将该有序前缀树与生成的更新前缀树做并集运算,得到更新后的有序前缀树,随后将更新后的有序前缀树覆盖掉数据库中与其路段id相同的有序前缀树,索引更新完成。
具体的,所述步骤b2包括如下步骤:
步骤b21:设生成倒排序索引的路段有(R1,R2,...,Rn),对应的更新前缀树为(t1,t2,...,tn),根据(R1,R2,...,Rn)从数据库中查得对应的前缀树(T1,T2,...,Tn);
步骤b22:将(t1,t2,...,tn)与1中查询到的(T1,T2,...,Tn)分别对应做并集运算,即t1与T1,t2与T2到tn与Tn做并集运算,得到更新后的前缀树集合(UT1,UT2,...,UTn);
设做并集运算的前缀树为ti,Ti,因为前缀树为五层树结构,所以分别对ti,Ti五层的所有节点求并集,即合并每一层相同的节点,增加不同的节点,最终得到并集运算后的前缀树UTi。
步骤b33:更新(R1,R2,...,Rn)在数据库中对应的条目,即更新后的前缀树集合(UT1,UT2,...,UTn)替换掉更新前的前缀树集合(T1,T2,...,Tn)。
本实施方式中还公开了一种轨迹查询系统,包括输入模块、前缀树查询模块、前缀树剪裁模块、轨迹查询模块;
所述输入模块用于获取目标路段集合以及查询时间范围,所述目标路段集合包括起点路段、终点路段和中间路段;
所述前缀树查询模块用于按照任一种基于倒排序索引及有序前缀树的轨迹索引系统获得轨迹索引库,从轨迹索引库中查询并获得起点路段、终点路段和查询路段所对应的所有有序前缀树;
所述前缀树剪裁模块用于根据查询时间范围对步骤Ⅱ获得的所有有序前缀树进行裁剪,剪切掉不符合时间范围的有序前缀树,保留符合查询时间范围的有序前缀树集合(T1,T2,...,Tn),其中T1为起点路段对应的有序前缀树,Tn为终点路段对应的有序前缀树,令T1与有序前缀树集合中除T1外的所有有序前缀树分别做交集运算,最终交集后的T1即为目标路段集合的有序前缀树;
所述轨迹查询模块用于将前缀树剪裁模块得到的目标路段集合的有序前缀树还原,得到查询时间范围内经过目标路段的所有轨迹段id序列。
实施例1
在本实施例中公开了一种基于倒排序索引及前缀树的轨迹索引方法,包括如下步骤:
步骤1:以采样间隔30秒,采样时间一天,获取车辆所在城市的路网数据和车辆的原始轨迹数据,所述路网数据包括多个路段和每个路段的路段id,所述原始轨迹数据包括多条原始轨迹和每条原始轨迹的原始轨迹id,并对原始轨迹数据进行预处理;
步骤2:采用基于HMM模型的地图匹配方法将路网数据匹配到步骤1进行预处理后得到的原始轨迹数据上,获得原子轨迹数据,所述每条原子轨迹包括路段id、原始轨迹id和属性特征;
步骤3:将原始轨迹id相同的原子轨迹作为一组,获得多组原子轨迹;
对每组原子轨迹进行判断,若该组中连续三个及以上的原子轨迹的属性特征相同,则将该组原子轨迹作为一个轨迹段,获得轨迹段数据,所述每个轨迹段包含一个原始轨迹id和一个路段id序列,每个轨迹段的路段id序列为该轨迹段所包含的所有原子轨迹对应的路段id的集合;
在实际操作中需要对每一个轨迹段进行编码,将每一个轨迹段转换为json格式便于存储;
轨迹段数据数据格式如下:
{"TrajectorySegmentID":"2016092017118911203","TrajectoryState":"5","SegmentSequence":"51483602473 51483602546","SegmentMask":"3 1","TimestampSequence":[0,30,30,30],"TrajectoryOtherInformationSequence":
["108.87211577966029,34.25359032711676 0 0","108.87211589320746,34.25358346129891 0 0","108.87212630454624,34.252953922346414 10 178","108.87050508665418,34.25228487133768 46 268"]}
一个轨迹段包含如下关键字:
TrajectorySegmentID:轨迹段id,由年、月、日、时、秒、车牌号组成,其中时间为该轨迹段在第一个点的时间。车牌号为该轨迹段所属车辆的车牌号。
TrajectoryState:轨迹状态,例如对出租车轨迹,按照是否载客可以分为载客(4)、空载(5)。
SegmentSequence:路段序列,即组成该轨迹段的路段序列
SegmentMask:路段频数,与路段序列对应,代表每个路段出现的次数。
TimestampSequence:间隔时间,即采样时间。
TrajectoryOtherInformationSequence:轨迹段其他信息,包括原始轨迹点的经纬度等信息。
步骤4:根据步骤1得到的每个路段生成一棵前缀树;获取步骤3得到的所有轨迹段的原始轨迹id、所有路段id序列中的路段和所有路段id序列中每个路段在其所在路段id序列中的序号,将每个路段所对应的原始轨迹id和该路段在其所在路段id序列中的序号插入该路段的前缀树中得到有序前缀树,获得每个路段对应的有序前缀树,将全部有序前缀树作为轨迹索引库。
本实施例还公开了一种轨迹查询方法,具体的,时间范围格式如下所述:[20160901,02,3500]-[20160901,12,0150];
其中,[20160901,02,3500]表示时间范围中的起始时间,[20160901,12,0150]表示时间范围中的终止时间。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质如(ROM/RAM)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器或者网络设备等)执行本申请各个实施例所述的方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,这些均属于本申请的保护之内。
Claims (8)
1.一种基于倒排序索引及前缀树的轨迹索引方法,其特征在于,包括如下步骤:
步骤1:获取车辆所在城市的路网数据和车辆的原始轨迹数据,所述路网数据包括多个路段和每个路段的路段id,所述原始轨迹数据包括多条原始轨迹和每条原始轨迹的原始轨迹id,并对原始轨迹数据进行预处理;
步骤2:将路网数据匹配到步骤1进行预处理后得到的原始轨迹数据上,获得原子轨迹数据,所述每条原子轨迹包括路段id、原始轨迹id和属性特征;
所述的属性特征包括以下几种情况:1.针对出租车轨迹数据选取载客/空载作为特征;2.针对高速路车辆轨迹数据选取收费站出入口作为特征;3.针对城市普通车辆轨迹数据选取出发地/ 目的地作为特征;
步骤3:将原始轨迹id相同的原子轨迹作为一组,获得多组原子轨迹;
对每组原子轨迹进行判断,若该组中连续三个及以上的原子轨迹的属性特征相同,则将该组原子轨迹作为一个轨迹段,获得轨迹段数据,所述每个轨迹段包含一个原始轨迹id和一个路段id序列,每个轨迹段的路段id序列为该轨迹段所包含的所有原子轨迹对应的路段id的集合;
步骤4:根据步骤1得到的每个路段生成一棵前缀树;获取步骤3得到的所有轨迹段的原始轨迹id、所有路段id序列中的路段和所有路段id序列中每个路段在其所在路段id序列中的序号,将每个路段所对应的原始轨迹id和该路段在其所在路段id序列中的序号插入该路段的前缀树中得到有序前缀树,获得每个路段对应的有序前缀树,将全部有序前缀树作为轨迹索引库;
步骤4中将每个路段所对应的原始轨迹id和该路段在其所在路段id序列中的序号插入该路段的前缀树中得到有序前缀树,包含如下步骤:
步骤a1:取前缀树的根节点为当前节点;
步骤a2:获取每个路段所对应的原始轨迹id的年月日、时、秒、车牌号和该路段在其所在路段id序列中的序号分别作为字符P1,P2,P3,P4,P5;
步骤a3:获取新节点Pi并令Pi=P1,将Pi与当前节点的所有子节点进行比较,如果有与Pi相同的子节点则将该子节点设为当前节点并执行步骤a4;如果没有与Pi相同的子节点则将Pi与当前节点的所有子节点一起排序,按序将Pi插入为新子节点,并将Pi设为当前节点并执行步骤a4;
步骤a4:如果i=5,则生成完成,获得有序前缀树;否则Pi=Pi+1,返回步骤a3。
2.如权利要求1所述的基于倒排序索引及前缀树的轨迹索引方法,其特征在于,步骤2中采用基于HMM模型的地图匹配方法将路网数据匹配到步骤1进行预处理后得到的原始轨迹数据上。
3.如权利要求1所述的基于倒排序索引及前缀树的轨迹索引方法,其特征在于,轨迹索引库更新时采用如下方法:
步骤b1:获取新产生的轨迹数据,对新产生的轨迹数据执行步骤1至步骤3,最后得到更新轨迹段数据;
步骤b2:对更新轨迹段数据经过的路段生成更新前缀树;获取更新轨迹段数据中包含的路段id,从数据库中查询相同路段对应的有序前缀树,将该有序前缀树与生成的更新前缀树做并集运算,得到更新后的有序前缀树,随后将更新后的有序前缀树覆盖掉数据库中与其路段id相同的有序前缀树,索引更新完成。
4.一种轨迹查询方法,其特征在于,包括如下步骤:
步骤Ⅰ:获取目标路段集合以及查询时间范围,所述目标路段集合包括起点路段、终点路段和中间路段;
步骤Ⅱ:按照如权利要求1-3所述的任一种基于倒排序索引及前缀树的轨迹索引方法获得轨迹索引库,从轨迹索引库中查询并获得起点路段、终点路段和查询路段所对应的所有有序前缀树;
步骤Ⅲ:根据查询时间范围对步骤Ⅱ获得的所有有序前缀树进行裁剪,剪切掉不符合时间范围的有序前缀树,保留符合查询时间范围的有序前缀树集合(T1,T2,...,Tn),其中T1为起点路段对应的有序前缀树,Tn为终点路段对应的有序前缀树,令T1与有序前缀树集合中除T1外的所有有序前缀树分别做交集运算,最终交集后的T1即为目标路段集合的有序前缀树;
步骤Ⅳ:将步骤Ⅲ得到的目标路段集合的有序前缀树还原,得到查询时间范围内经过目标路段的所有轨迹段id序列。
5.一种基于倒排序索引及前缀树的轨迹索引系统,其特征在于,包括数据采集模块、轨迹划分模块、轨迹段生成模块和前缀树生成模块;
所述数据采集模块用于获取车辆所在城市的路网数据和车辆的原始轨迹数据,所述路网数据包括多个路段和每个路段的路段id,所述原始轨迹数据包括多条原始轨迹和每条原始轨迹的原始轨迹id,并对原始轨迹数据进行预处理;
所述轨迹划分模块用于将路网数据匹配到步骤1进行预处理后得到的原始轨迹数据上,获得原子轨迹数据,所述每条原子轨迹包括路段id、原始轨迹id和属性特征;
所述的属性特征包括以下几种情况:1.针对出租车轨迹数据选取载客/空载作为特征;2.针对高速路车辆轨迹数据选取收费站出入口作为特征;3.针对城市普通车辆轨迹数据选取出发地/ 目的地作为特征;
所述轨迹段生成模块用于将原始轨迹id相同的原子轨迹作为一组,获得多组原子轨迹;对每组原子轨迹进行判断,若该组中连续三个及以上的原子轨迹的属性特征相同,则将该组原子轨迹作为一个轨迹段,所述每个轨迹段包括一个原始轨迹id和路段id序列,获得轨迹段数据;
所述前缀树生成模块用于根据数据采集模块得到的每个路段生成一棵前缀树;获取步骤3得到的所有轨迹段的原始轨迹id、所有路段id序列中的路段和所有路段id序列中每个路段在其所在路段id序列中的序号,将每个路段所对应的原始轨迹id和该路段在其所在路段id序列中的序号插入该路段的前缀树中得到有序前缀树,获得每个路段对应的有序前缀树,将全部有序前缀树作为轨迹索引库;
将每个路段所对应的原始轨迹id和该路段在其所在路段id序列中的序号插入该路段的前缀树中得到有序前缀树,包含如下步骤:
步骤a1:取前缀树的根节点为当前节点;
步骤a2:获取每个路段所对应的原始轨迹id的年月日、时、秒、车牌号和该路段在其所在路段id序列中的序号分别作为字符P1,P2,P3,P4,P5;
步骤a3:获取新节点Pi并令Pi=P1,将Pi与当前节点的所有子节点进行比较,如果有与Pi相同的子节点则将该子节点设为当前节点并执行步骤a4;如果没有与Pi相同的子节点则将Pi与当前节点的所有子节点一起排序,按序将Pi插入为新子节点,并将Pi设为当前节点并执行步骤a4;
步骤a4:如果i=5,则生成完成,获得有序前缀树;否则Pi=Pi+1,返回步骤a3。
6.如权利要求5所述的基于倒排序索引及前缀树的轨迹索引系统,其特征在于,采用基于HMM模型的地图匹配方法将路网数据匹配到进行预处理后得到的原始轨迹数据上。
7.如权利要求5所述的基于倒排序索引及前缀树的轨迹索引系统,其特征在于,轨迹索引库更新时采用如下方法:
步骤b1:获取新产生的轨迹数据,对新产生的轨迹数据执行步骤1至步骤3,最后得到更新轨迹段数据;
步骤b2:对更新轨迹段数据经过的路段生成更新前缀树;获取更新轨迹段数据中包含的路段id,从数据库中查询相同路段对应的有序前缀树,将该有序前缀树与生成的更新前缀树做并集运算,得到更新后的有序前缀树,随后将更新后的有序前缀树覆盖掉数据库中与其路段id相同的有序前缀树,索引更新完成。
8.一种轨迹查询系统,其特征在于,包括输入模块、前缀树查询模块、前缀树剪裁模块、轨迹查询模块;
所述输入模块用于获取目标路段集合以及查询时间范围,所述目标路段集合包括起点路段、终点路段和中间路段;
所述前缀树查询模块用于按照如权利要求5-7所述的任一种基于倒排序索引及前缀树的轨迹索引系统获得轨迹索引库,从轨迹索引库中查询并获得起点路段、终点路段和查询路段所对应的所有有序前缀树;
所述前缀树剪裁模块用于根据查询时间范围对步骤Ⅱ获得的所有有序前缀树进行裁剪,剪切掉不符合时间范围的有序前缀树,保留符合查询时间范围的有序前缀树集合(T1,T2,...,Tn),其中T1为起点路段对应的有序前缀树,Tn为终点路段对应的有序前缀树,令T1与有序前缀树集合中除T1外的所有有序前缀树分别做交集运算,最终交集后的T1即为目标路段集合的有序前缀树;
所述轨迹查询模块用于将前缀树剪裁模块得到的目标路段集合的有序前缀树还原,得到查询时间范围内经过目标路段的所有轨迹段id序列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011489554.4A CN112579921B (zh) | 2020-12-16 | 2020-12-16 | 基于倒排序索引及前缀树的轨迹索引和查询方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011489554.4A CN112579921B (zh) | 2020-12-16 | 2020-12-16 | 基于倒排序索引及前缀树的轨迹索引和查询方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112579921A CN112579921A (zh) | 2021-03-30 |
CN112579921B true CN112579921B (zh) | 2023-03-10 |
Family
ID=75135582
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011489554.4A Active CN112579921B (zh) | 2020-12-16 | 2020-12-16 | 基于倒排序索引及前缀树的轨迹索引和查询方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112579921B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113407539B (zh) * | 2021-06-21 | 2022-05-24 | 湖北央中巨石信息技术有限公司 | 一种基于前缀树的区域编码查询方法、系统及其用途 |
CN113312360B (zh) * | 2021-07-28 | 2022-01-04 | 阿里云计算有限公司 | 索引建立方法、装置、设备、存储介质及计算机程序产品 |
CN114353810B (zh) * | 2022-01-10 | 2022-12-06 | 河海大学 | 一种基于r树和轨迹分段的hmm高效地图匹配方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109492150A (zh) * | 2018-10-30 | 2019-03-19 | 石家庄铁道大学 | 基于语义轨迹大数据的反向最近邻查询方法及装置 |
CN109726594A (zh) * | 2019-01-09 | 2019-05-07 | 南京航空航天大学 | 一种基于差分隐私的新型轨迹数据发布方法 |
CN111125764A (zh) * | 2019-12-23 | 2020-05-08 | 华中科技大学 | 一种面向隐私保护的用户轨迹生成方法及系统 |
CN111982141A (zh) * | 2020-07-31 | 2020-11-24 | 长安大学 | 一种面向低频车辆轨迹数据进行路径推断的方法、设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8078394B2 (en) * | 2008-02-26 | 2011-12-13 | Microsoft Corp. | Indexing large-scale GPS tracks |
-
2020
- 2020-12-16 CN CN202011489554.4A patent/CN112579921B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109492150A (zh) * | 2018-10-30 | 2019-03-19 | 石家庄铁道大学 | 基于语义轨迹大数据的反向最近邻查询方法及装置 |
CN109726594A (zh) * | 2019-01-09 | 2019-05-07 | 南京航空航天大学 | 一种基于差分隐私的新型轨迹数据发布方法 |
CN111125764A (zh) * | 2019-12-23 | 2020-05-08 | 华中科技大学 | 一种面向隐私保护的用户轨迹生成方法及系统 |
CN111982141A (zh) * | 2020-07-31 | 2020-11-24 | 长安大学 | 一种面向低频车辆轨迹数据进行路径推断的方法、设备及存储介质 |
Non-Patent Citations (4)
Title |
---|
《Online map matching by indexing approximate road segments》;Jingyu Han 等;《2011 IEEE 2nd International Conference on Software Engineering and Service Science》;20110811;第299-303页 * |
《基于LightGBM的乘客候车路段推荐方法》;康军 等;《测控技术》;20200325;第56-62页 * |
《基于差分隐私模型的位置轨迹发布技术研究》;冯登国 等;《电子与信息学报》;20200323;第74-88页 * |
基于排序树索引的轨迹压缩方法;林树宽等;《东北大学学报(自然科学版)》;20170715(第07期);第9-13页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112579921A (zh) | 2021-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112579921B (zh) | 基于倒排序索引及前缀树的轨迹索引和查询方法及系统 | |
CN102810118B (zh) | 一种变权网k近邻搜索方法 | |
Xu et al. | Taxi-RS: Taxi-hunting recommendation system based on taxi GPS data | |
CN102395965B (zh) | 用于在数据库中搜索对象的方法 | |
Shekhar et al. | Processing in-route nearest neighbor queries: a comparison of alternative approaches | |
CN106528589B (zh) | 数据管理方法及装置 | |
Deng et al. | Trajectory indexing and retrieval | |
CN103198151B (zh) | 区域性城市公交车辆运行信息的索引查询系统及方法 | |
CN103339624A (zh) | 支持地理结构数据的交互式模糊搜索的高效前缀搜索算法 | |
CN102915346A (zh) | 面向物联网智能感知的数据索引建立与查询方法 | |
CN110765331B (zh) | 一种时空数据的检索方法及系统 | |
Anwar et al. | Capturing the spatiotemporal evolution in road traffic networks | |
Zhao et al. | Path $ k\hbox {NN} $ Query Processing in Mobile Systems | |
CN112052405B (zh) | 一种基于司机经验的寻客区域推荐方法 | |
CN111191084B (zh) | 一种基于图结构的地名地址的解析方法 | |
CN113656979B (zh) | 路网数据生成方法、装置、电子设备及存储介质 | |
CN113868553A (zh) | 一种层次化的出租车载客推荐方法及系统 | |
Huang et al. | Top-k nearest keyword search in public transportation networks | |
Zhao et al. | Graph indexing for spatial data traversal in road map databases | |
KR20040092082A (ko) | 무선 인터넷 상에서 연속적으로 이동하는 이동체를 관리하기 위한 시공간 색인 방법 및 이를 위한 시스템 | |
Huang et al. | NETR-tree: An efficient framework for social-based time-aware spatial keyword query | |
Lee et al. | acn-rb-tree: Update method for spatio-temporal aggregation of moving object trajectory in ubiquitous environment | |
Huang et al. | Passenger searching from taxi traces using HITS-based inference model | |
CN107526788A (zh) | 基于兴趣区域的轨迹查询的匀速搜索算法 | |
Al-Khalidi et al. | Approximate static and continuous range search in mobile navigation |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |