CN111292356B - 运动轨迹与道路的匹配方法及装置 - Google Patents
运动轨迹与道路的匹配方法及装置 Download PDFInfo
- Publication number
- CN111292356B CN111292356B CN202010105840.XA CN202010105840A CN111292356B CN 111292356 B CN111292356 B CN 111292356B CN 202010105840 A CN202010105840 A CN 202010105840A CN 111292356 B CN111292356 B CN 111292356B
- Authority
- CN
- China
- Prior art keywords
- road
- track
- motion
- coding sequence
- matching
- 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
- 230000033001 locomotion Effects 0.000 title claims abstract description 186
- 238000000034 method Methods 0.000 title claims abstract description 100
- 108091026890 Coding region Proteins 0.000 claims abstract description 137
- 238000004364 calculation method Methods 0.000 claims description 49
- 238000012216 screening Methods 0.000 claims description 37
- 238000001914 filtration Methods 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 17
- 238000003860 storage Methods 0.000 claims description 9
- 238000000547 structure data Methods 0.000 abstract description 2
- 238000004422 calculation algorithm Methods 0.000 description 33
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 238000005452 bending Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000002921 genetic algorithm search Methods 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012946 outsourcing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30241—Trajectory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Remote Sensing (AREA)
- Multimedia (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Traffic Control Systems (AREA)
- Navigation (AREA)
Abstract
本发明提供了一种运动轨迹与道路的匹配方法及装置,该方法包括:对第一运动轨迹以及所述道路进行编码,以生成所述第一运动轨迹的编码序列以及所述道路的编码序列;根据所述第一运动轨迹的编码序列的精度、所述道路的编码序列的精度对所述第一运动轨迹的编码序列以及所述道路的编码序列进行分级,以生成分级结果;基于所述分级结果,计算所述第一运动轨迹与所述道路的相似度;根据所述相似度将所述第一运动轨迹与所述道路进行匹配,所述道路包括第二运动轨迹。本发明能够提供一种具有对轨迹定位精度及路网结构数据要求低,高效且快速的运动轨迹与道路的匹配方法。
Description
技术领域
本发明涉及交通信息处理技术领域、具体涉及交通大数据分析技术领域,特别是涉及一种运动轨迹与道路的匹配方法及装置。
背景技术
近年来,随着移动设备的不断完善与发展,移动端每天收集、记录的用户定位数据种类越来越多,数量也越来越大,如GPS位置信息、运营商手机定位信息、检测设备位置信息等。这些交通定位信息包含了大量的用户出行行为的信息,这些海量用户的轨迹数据信息与道路路网的匹配、用户轨迹之间的相似度计算对进一步分析城市群体出行规律、规划和建设城市交通有着重要意义。
由于不同设备定位信息的采集精度不同,轨迹数据往往无法直接准确的投射到路网结构中,一般需应用算法对轨迹的位置数据进行处理,实现轨迹与道路的匹配。已有的道路匹配算法可以分为三大类,包括几何匹配法、路网拓扑结构匹配法和基于概率统计的匹配法。几何匹配法计算轨迹点到转化为线段的道路的距离;路网拓扑结构匹配法结合历史匹配道路的结果与路网的拓扑关系确定后续轨迹匹配的候选道路;基于概率统计的匹配法建立道路与轨迹的概率学模型。传统的这三类轨迹与道路匹配方法要求轨迹数据精度高,且与路网数据偏差足够小,几何匹配法计算量巨大,匹配速度慢,难以满足日后海量实时数据与路网匹配的需求,基于道路拓扑结构及概率统计的匹配法需要更多、更复杂的路网信息。
轨迹可以被视作一种特殊的路网段数据,轨迹间相似度计算,即轨迹与轨迹的匹配得到广泛的应用,现有的轨迹相似度计算方法包括欧氏距离计算(EuclideanDistance)、动态时间弯曲距离(Dynamic Time Warping,DTW)、最长公共子序列(LongestCommon Subsequence,LCS)等。欧式距离法是最早被应用于基于时间序列的轨迹相似性查询的距离度量函数,可被用于计算两条长度相等的轨迹的相似性。欧式距离法的优势是计算复杂度较低,对于两条长度为n的轨迹,欧式距离法按轨迹点的时间顺序一一进行匹配,计算复杂度为O(n)。但是,欧式距离法只可用于求解长度相等的轨迹间的相似度、受噪声点影响大,且不能处理有时间偏移的轨迹序列,在实际应用中有很大的局限性。动态时间弯曲距离法基于时间序列,将轨迹进行延伸和缩短,计算两条轨迹之间的相似度。其不需要待匹配的轨迹序列等长,能够通过一对多点的匹配方式处理轨迹的局部时间偏移,但是,动态时间弯曲距离法计算量较大,需要依次计算一条待匹配轨迹与另一条轨迹中所有轨迹点的距离,对于长度为m和n的两条轨迹,计算复杂度为O(mn),其次,动态时间弯曲距离法不满足三角不等式。最长公共子序列算法通过预设距离阈值,判定两个轨迹点是否相似,进行轨迹的匹配。最长公共子序列算法能够避免噪声点的影响和轨迹的局部时间偏移问题,但是,传统的最长公共子序列算法进行轨迹匹配,与动态时间弯曲距离法一样,需要计算大量点与点的距离,对于长度为m和n的两条待匹配的轨迹,计算复杂度为O(mn),且预设的距离阈值对相似度计算结果影响较大,而一旦调整距离阈值,则需要重新处理所有数据,造成传统的最长公共子序列算法匹配效率较低,难以在大数据的背景下得到大范围的应用。
发明内容
针对现有技术中的问题,本发明提供了一种具有对轨迹定位精度及路网结构数据要求低,高效且快速的运动轨迹与道路的匹配方法。
为解决上述技术问题,本发明提供以下技术方案:
第一方面,本发明提供一种运动轨迹与道路的匹配方法,包括:
对第一运动轨迹以及所述道路进行编码,以生成所述第一运动轨迹的编码序列以及所述道路的编码序列;
根据所述第一运动轨迹的编码序列的精度、所述道路的编码序列的精度对所述第一运动轨迹的编码序列以及所述道路的编码序列进行分级,以生成分级结果;
基于所述分级结果,计算所述第一运动轨迹与所述道路的相似度;
根据所述相似度将所述第一运动轨迹与所述道路进行匹配。
一实施例中,所述道路还包括第二运动轨迹。
一实施例中,所述对第一运动轨迹以及所述道路进行编码,以生成所述第一运动轨迹的编码序列以及所述道路的编码序列,包括:
根据地理编码方法以及所述第一运动轨迹生成所述第一运动轨迹的编码序列;
根据所述道路所在地理区域的经纬度生成所述地理区域的网格;
根据所述道路的方向、端点、所属行政区域的级别以及所述道路所在网格生成所述道路的编码序列。
一实施例中,所述基于所述分级结果,计算所述第一运动轨迹与所述道路的相似度,包括:
基于所述分级结果,利用最长公共子序列算法计算所述第一运动轨迹与所述道路的相似度。
一实施例中,所述基于所述分级结果,利用最长公共子序列算法计算所述第一运动轨迹与所述道路的相似度,包括:
分别计算所述第一运动轨迹的编码序列的最长公共前缀以及所有道路的编码序列的最长公共前缀集合;
判断所述道路的最长公共前缀集合是否包含所述第一运动轨迹的编码序列的最长公共前缀,或所述第一运动轨迹的编码序列中是否包含所述的道路最长公共前缀集合中的至少一个元素;如果是,则保留对应的道路;
根据保留之后的道路生成候选道路集合;
根据所述第一运动轨迹的编码序列的最长公共前缀的字符串长度、所述道路集合以及预设的过滤次数,对所述候选道路集合进行过滤,以生成最优匹配道路集合;
分别计算所述第一运动轨迹与所述最优匹配道路集合中各元素之间的相似度。
第二方面,本发明提供一种运动轨迹与道路的匹配装置,包括:
编码序列生成单元,用于对第一运动轨迹以及所述道路进行编码,以生成所述第一运动轨迹的编码序列以及所述道路的编码序列;
分级结果生成单元,用于根据所述第一运动轨迹的编码序列的精度、所述道路的编码序列的精度对所述第一运动轨迹的编码序列以及所述道路的编码序列进行分级,以生成分级结果;
相似度计算单元,用于基于所述分级结果,计算所述第一运动轨迹与所述道路的相似度;
道路匹配单元,用于根据所述相似度将所述第一运动轨迹与所述道路进行匹配。
一实施例中,所述道路还包括第二运动轨迹。
一实施例中,所述编码序列生成单元包括:
轨迹编码序列生成模块,用于根据地理编码方法以及所述第一运动轨迹生成所述第一运动轨迹的编码序列;
网格生成模块,用于根据所述道路所在地理区域的经纬度生成所述地理区域的网格;
道路编码序列生成模块,用于根据所述道路的方向、端点、所属行政区域的级别以及所述道路所在网格生成所述道路的编码序列。
一实施例中,所述相似度计算单元具体用于基于所述分级结果,利用最长公共子序列算法计算所述第一运动轨迹与所述道路的相似度。
一实施例中,所述相似度计算单元包括:
最长公共前缀计算模块,用于分别计算所述第一运动轨迹的编码序列的最长公共前缀以及所有道路的编码序列的最长公共前缀集合;
判断模块,用于判断所述道路的最长公共前缀集合是否包含所述第一运动轨迹的编码序列的最长公共前缀,或所述第一运动轨迹的编码序列中是否包含所述的道路最长公共前缀集合中的至少一个元素;如果是,则保留对应的道路;
候选道路集合生成模块,用于根据保留之后的道路生成候选道路集合;
最优匹配道路集合生成模块,用于根据所述第一运动轨迹的编码序列的最长公共前缀的字符串长度、所述道路集合以及预设的过滤次数,对所述候选道路集合进行过滤,以生成最优匹配道路集合;
相似度计算模块,用于分别计算所述第一运动轨迹与所述最优匹配道路集合中各元素之间的相似度。
第三方面,本发明提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现运动轨迹与道路的匹配方法的步骤。
第四方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现运动轨迹与道路的匹配方法的步骤。
从上述描述可知,本发明实施例提供的运动轨迹与道路的匹配方法及装置,通过对轨迹和道路的线状编码规则定义及编码生成;并根据编码进行多级筛选,利用基于动态规划的字符串最长子序列求解方法,快速实现轨迹相似度的计算,从而确定候选道路并快速匹配。具体地,本发明的有益效果有:
1)基础的地理编码仅仅实现了将一点的经纬度转换为字符串编码,而本发明在基础地理编码方式上创新的实现对轨迹和道路路网这类线段或多点线段的统一编码方式,生成路段线段的编码序列。
2)充分利用待匹配的轨迹编码序列与道路路段编码串列的前缀字符特点,将轨迹和路段按照不同精度分级进行匹配,分级过滤筛选能快速的确定候选道路路段,通过由低到高的不同精度级别筛选,最后轨迹点与道路路段唯一配准,即实现轨迹与路段的匹配,并给出匹配的距离精度范围。以Geohash编码为例,将轨迹点经纬度序列转换为字符串序列,首先基于轨迹的编码结果,结合Geohash编码精度的特点,截取由短到长的轨迹字符串,进行从低到高的多级筛选,确定候选轨迹点集,再利用基于动态规划的字符串最长公共子序列求解方法,直接进行轨迹点的匹配。
3)用一条轨迹中匹配成功的点的数目占比表示该轨迹与另一轨迹的匹配度。此方法保留了传统基于最长公共子序列算法进行轨迹相似度计算的优点,能够有效避免噪声点对相似度结果的干扰,同时,通过多级筛选,减少了候选轨迹点的数量,大大缩小计算量,对于长度为m和n的两条待匹配轨迹,能够保证计算复杂度小于等于O(mn),最重要的,此方法将传统的点点距离的计算转换为判断字符是否相同,同时通过截取轨迹点字符串的长度调整轨迹匹配的精度,可以灵活地应用于大量轨迹数据的相似度计算,在轨迹库中搜索到轨迹的相近轨迹。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的实施例中运动轨迹与道路的匹配方法流程示意图;
图2为本发明的实施例中步骤100的流程示意图;
图3为本发明的实施例中步骤300的流程示意图;
图4为本发明的实施例中步骤301的流程示意图;
图5为本发明的具体应用实例中运动轨迹与道路的匹配方法的流程示意图一;
图6为本发明的具体应用实例中运动轨迹与道路的匹配方法的思维导图;
图7为本发明的具体应用实例中候选路段的筛选算法流程图;
图8为本发明的具体应用实例中运动轨迹与道路的匹配方法的流程示意图二;
图9为本发明的具体应用实例中轨迹相似度算法流程示意图;
图10为本发明的具体应用实例中海量轨迹数据库中搜索与单个轨迹最相似的轨迹集的流程示意图;
图11为本发明的具体应用实例中本申请方法与基于欧氏距离匹配方法效率对比图;
图12为本发明的实施例中运动轨迹与道路的匹配装置的结构框图;
图13为本发明的具体应用实例中编码序列生成单元结构示意图;
图14为本发明的具体应用实例中相似度计算单元结构示意图;
图15为本发明的实施例中的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的实施例提供一种运动轨迹与道路的匹配方法的具体实施方式,参见图1,该方法具体包括如下内容:
步骤100:对第一运动轨迹以及所述道路进行编码,以生成所述第一运动轨迹的编码序列以及所述道路的编码序列。
可以理解的是,步骤100中的第一运动轨迹可以为行人、车辆以及其他可以携带类似移动设备且该移动设备可以获得其载体的运动轨迹的任何装置。
具体地,将步骤100中的第一运动轨迹中的某一点的经度以及纬度数据以一字符串(编码,一维数据,数字、字母构成)的形式展示,则该运动轨迹由多个字符串组成,即编码序列,类似的,还可以将第一运动轨迹分成多个无缝连接的小块,每个小块中可能包含多个点,再按照上面的方式对其进行编码。
步骤200:根据所述第一运动轨迹的编码序列的精度、所述道路的编码序列的精度对所述第一运动轨迹的编码序列以及所述道路的编码序列进行分级,以生成分级结果。
由步骤100可以知道,字符串的长度对应着编码序列精度的高低,相应地,道路的编码序列精度对应着该道路的行政级别上的大小,例如:北京五环主路、五环辅路、五环辅路支路等。可以理解的是,根据精度对第一运动轨迹的编码序列以及道路的编码序列进行分级,并基于该分级结果进行多级筛选,可以大大加快运动轨迹与道路的匹配速度。
步骤300:基于所述分级结果,计算所述第一运动轨迹与所述道路的相似度。
可以理解的是,步骤300中的轨迹间相似度一般用轨迹与道路间(或者多条轨迹)的距离表示。轨迹相似性对于移动对象分析来说是一个重要的指标。轨迹相似性通常用一个距离函数来计算。
步骤400:根据所述相似度将所述第一运动轨迹与所述道路进行匹配。
步骤400在实施时,具体为:将与第一运动轨迹相似度最高的道路作为其匹配到的道路,或者给出以阈值,根据该阈值给出最为匹配的多个道路,并形成一集合,作第一运动轨迹匹配到的道路(集合)。
所有轮休方案的状态空间巨大,采用遗传算法可以高效搜索最佳轮休方案,控制响应时间,提供实时在线服务。另外,在步骤400中,遗传算法搜索结果不保证是全局最优解,采取多轮重新初始化种群,取评分最高的轮休方案作为最优轮休方案。
从上述描述可知,本发明实施例提供的运动轨迹与道路的匹配方法,通过对轨迹和道路的线状编码规则定义及编码生成;并根据编码进行多级筛选,利用基于动态规划的字符串最长子序列求解方法,快速实现轨迹相似度的计算,从而确定候选道路并快速匹配。
一实施例中,所述道路还包括第二运动轨迹。
可以理解的是,本申请的运动轨迹与道路的匹配方法不仅适用于运动轨迹与道路之间的匹配,还适用于多个运动轨迹之间的匹配。
一实施例中,参见图2,步骤100包括:
步骤101:根据地理编码方法以及所述第一运动轨迹生成所述第一运动轨迹的编码序列。
需要说明的是,步骤101所生成的第一运动轨迹的编码序列与步骤103所生成道路的编码序列具有统一的编码方式。
步骤102:根据所述道路所在地理区域的经纬度生成所述地理区域的网格。
步骤103:根据所述道路的方向、端点、所属行政区域的级别以及所述道路所在网格生成所述道路的编码序列。
在步骤102以及步骤103中,根据预先设置的道路方向、端点以及所属行政区域的级别(编码精度,即编码单元范围大小)确定端点所在区域对应精度级别的编码,按照道路的方向,获取当前网格的邻近网格,依次找到与道路相交的网格,直至找到道路经过的所有网格,网格序列即为道路线段经过的所有的外包矩形的集合,用道路依次经过的网格的地理编码串列表示道路,生成道路的编码序列集。
一实施例中,参见图3,步骤300包括:
步骤301:基于所述分级结果,利用最长公共子序列算法计算所述第一运动轨迹与所述道路的相似度。
传统的最长公共子序列算法进行轨迹匹配,与动态时间弯曲距离法一样,需要计算大量点与点的距离,对于长度为m和n的两条待匹配的轨迹,计算复杂度为O(mn),且预设的距离阈值对相似度计算结果影响较大,而一旦调整距离阈值,则需要重新处理所有数据,造成传统的最长公共子序列算法匹配效率较低,难以在大数据的背景下得到大范围的应用,故本申请对传统的最长公共子序列算法进行改良。
一实施例中,参见图4,步骤301进一步包括:
步骤3011:分别计算所述第一运动轨迹的编码序列的最长公共前缀以及所有道路的编码序列的最长公共前缀集合。
可以理解的是,在步骤3011之前还需去除第一运动轨迹的编码序列中连续重复的编码,接着计算第一运动轨迹的编码序列的最长公共前缀,并计算其长度。计算所有道路(整个路网道路)的编码序列的最长公共前缀集合。
步骤3012:判断所述道路的最长公共前缀集合是否包含所述第一运动轨迹的编码序列的最长公共前缀,或所述第一运动轨迹的编码序列中是否包含所述的道路最长公共前缀集合中的至少一个元素;如果是,则保留对应的道路。
步骤3012在具体实施时,可以为当第一运动轨迹的编码序列的最长公共前缀与某一道路的最长公共前缀集合中的一元素匹配时,则保留该道路,以进行下一步操作。
步骤3013:根据保留之后的道路生成候选道路集合。
步骤3014:根据所述第一运动轨迹的编码序列的最长公共前缀的字符串长度、所述道路集合以及预设的匹配精度,对所述候选道路集合进行过滤,以生成最优匹配道路集合。
可以理解的是,步骤3014为一循环步骤,循环的次数与过滤次数一致,具体地,在步骤3014的基础上,将第一运动轨迹的最长公共前缀向后扩展一位,由于第一运动轨迹长度的限制,其元素数量有限,截取最优匹配道路集合中道路的第一运动轨迹的编码序列的最长公共前缀的字符串长度加1位的前缀,并以此生成新的编码集合,并用该新编码集合继续与第一运动轨迹进行匹配,若新编码集合包含扩展一位后的第一运动轨迹的最长公共前缀集合中的任意一元素,则保留对应的道路,作为进一步筛选的候选道路集合,以此类推,直至匹配结束。可以理解的是,匹配结束的条件为遍历匹配去除连续重复、按照预设精度编码的第一运动轨迹编码序列及候选路段集合。
步骤3015:分别计算所述第一运动轨迹与所述最优匹配道路集合中各元素之间的相似度。
可以理解的是,步骤301中的最长公共子序列方法保留了传统基于最长公共子序列算法进行轨迹相似度计算的优点,能够有效避免噪声点对相似度结果的干扰,同时,通过多级筛选,减少了候选轨迹点的数量,大大缩小计算量,对于长度为m和n的两条待匹配轨迹,能够保证计算复杂度小于等于O(mn),最重要的,此方法将传统的点点距离的计算转换为判断字符是否相同,同时通过截取轨迹点字符串的长度调整轨迹匹配的精度,可以灵活地应用于大量轨迹数据的相似度计算,在轨迹库中搜索到轨迹的相近轨迹。
从上述描述可知,本发明实施例提供的运动轨迹与道路的匹配方法,通过对轨迹和道路的线状编码规则定义及编码生成;并根据编码进行多级筛选,利用基于动态规划的字符串最长子序列求解方法,快速实现轨迹相似度的计算,从而确定候选道路并快速匹配。具体地,本发明的创新点在于:
1)基础的地理编码仅仅实现了将一点的经纬度转换为字符串编码,而本发明在基础地理编码方式上创新的实现对轨迹和道路路网这类线段或多点线段的统一编码方式,生成路段线段的编码序列。
2)充分利用待匹配的轨迹编码序列与道路路段编码串列的前缀字符特点,将轨迹和路段按照不同精度分级进行匹配,分级过滤筛选能快速的确定候选道路路段,通过由低到高的不同精度级别筛选,最后轨迹点与道路路段唯一配准,即实现轨迹与路段的匹配,并给出匹配的距离精度范围。以Geohash编码为例,将轨迹点经纬度序列转换为字符串序列,首先基于轨迹的编码结果,结合Geohash编码精度的特点,截取由短到长的轨迹字符串,进行从低到高的多级筛选,确定候选轨迹点集,再利用基于动态规划的字符串最长公共子序列求解方法,直接进行轨迹点的匹配。
3)用一条轨迹中匹配成功的点的数目占比表示该轨迹与另一轨迹的匹配度。此方法保留了传统基于最长公共子序列算法进行轨迹相似度计算的优点,能够有效避免噪声点对相似度结果的干扰,同时,通过多级筛选,减少了候选轨迹点的数量,大大缩小计算量,对于长度为m和n的两条待匹配轨迹,能够保证计算复杂度小于等于O(mn),最重要的,此方法将传统的点点距离的计算转换为判断字符是否相同,同时通过截取轨迹点字符串的长度调整轨迹匹配的精度,可以灵活地应用于大量轨迹数据的相似度计算,在轨迹库中搜索到轨迹的相近轨迹。
为进一步地说明本方案,本发明以Geohash编码为例,提供运动轨迹与道路的匹配方法的具体应用实例,该具体应用实例具体包括如下内容,参见图5、图6以及图7。
Geohash是2008年Gustavo Niemeyer提出的一种公共域地理编码系统,它将地理位置编码为一串短的字母和数字。它是一种分层的空间数据结构,将空间细分为网格形状的桶,这是z阶曲线和通常的空间填充曲线的众多应用之一。Geohash提供了用共享前缀长短表示位置接近程度的思路,两个点的共享前缀越长,两个位置越接近。本发明利用地理编码前缀特性,将路网数据、轨迹数据应用Geohash编码后进行轨迹与路网的匹配,这种方式对设备的定位精度要求较低,通过多级编码分类及匹配,能够实现轨迹与道路路网的快速、多精度等级的匹配,此外,通过多级编码分类,结合最长公共子序列方法能够避免计算距离,高效的计算不等长轨迹的相似度,灵活的调节匹配精度,并避免噪声点的干扰。
图6是基于地理编码的道路编码生成算法的流程图。输入为构成路段的两个端点的经纬度坐标以及编码的精度级别。
S1:规定路段的方向为由西向东、由南向北,规定偏向西南方向的点定为起点,偏向东北方向的点为终点;按照规定的方向,一个网格中路段先经过的边为入边,后经过的边为出边。
S2:遍历起点所在网格的边,将当前网格的出边设定为下一个网格的入边,根据出边位置确定下一个网格。考虑特殊情况:若路段与网格东西方向的边重合,则下一个网格在当前网格的北边,若与网格南北方向的边重合,则下一个网格在当前网格的东边。
S3:重复步骤S2:,直至网格为终点所在网格,表明整个路段经过的网格被查找完全,用网格中心点的Geohash编码序列表示该路段的Geohash编码。
S4:确认轨迹编码序列的最长公共前缀,长度为n。
具体地,确认轨迹编码序列T0的最长公共前缀fT0,长度为n。
S5:确认截取道路地理编码序列集中每个路段的最长公共前缀,以得到道路地理编码序列的前缀集合。
具体地,确认截取道路地理编码序列集S0={R1,...,Rl}中每个路段Ri(i=1,...,l)的最长公共前缀,用fRi(i=1,...,l)表示,得到道路地理编码序列的前缀集合FS0={fR1,...,fRl}。
S6:遍历道路地理编码序列的前缀集合。
步骤S6在实施时,可以为遍历道路地理编码序列的前缀集合FS0,若fRi(i=1,...,l)以fT0为前缀,或fT0以FRi(i=1,...,l)为前缀,则保留该路段。此处完成第一步过滤,得到的候选道路地理编码序列集用S1={R1,...,Rj}表示,j表示当前候选路段数目。
S7:根据轨迹编码序列的最长公共前缀长度截取道路地理编码序列集的前缀。
具体地,根据轨迹编码序列的最长公共前缀长度n截取道路地理编码序列集的前缀,得到道路地理编码序列的前缀集合其中/>表示路段Ri编码序列截取n位的前缀集合。
S8:遍历道路地理编码序列前缀集合,并判断每个路段编码序列的前缀集合中是否包含轨迹编码序列的最长公共前缀。
遍历道路地理编码序列前缀集合判断每个路段Ri编码序列的前缀集合中是否包含轨迹编码序列的最长公共前缀fT0,若包含,则保留该路段。此处完成第二部过滤,得到的候选道路地理编码序列集用S2={R1,...,Rk}表示,k表示当前候选路段数目。
S9:轨迹编码序列截取前n+1位。
具体地,轨迹编码序列截取前n+1位,用集合表示。
S10:根据轨迹编码序列的最长公共前缀长度n+1截取道路地理编码序列集的前缀,得到道路地理编码序列的前缀集合。
根据轨迹编码序列的最长公共前缀长度n+1截取道路地理编码序列集的前缀,得到道路地理编码序列的前缀集合其中/>表示路段Ri编码序列截取n+1位的前缀集合。
S11:遍历道路地理编码序列前缀集合,判断每个路段编码序列的前缀集合中是否包含轨迹编码序列n+1位前缀集合中的任意一个元素。
遍历道路地理编码序列前缀集合判断每个路段Ri编码序列的前缀集合中是否包含轨迹编码序列n+1位前缀集合/>中的任意一个元素,若包含,则保留该路段。此处完成第三步过滤,得到的候选道路地理编码序列集用S3={R1,...,Rm}表示,m表示当前候选路段数目。
S12:遍历候选道路地理编码序列集及轨迹编码序列,完成轨迹与道路的匹配。
对应到本具体应用实例,步骤S12为遍历候选道路地理编码序列集S3及轨迹编码序列T0,完成轨迹与道路的匹配。
本发明还提供多个运动轨迹之间的匹配方法的具体应用实例,该具体应用实例具体包括如下内容,参见图8以及图9(图9是轨迹相似度算法流程图,包括对轨迹编码序列过滤、求解最长公共子序列、计算轨迹相似度3个部分)。
T1:确认轨迹编码序列和的最长公共前缀。
确认轨迹编码序列T11和T21的最长公共前缀分别为fT11,长度为a,fT21,长度为b。
T2:比较两轨迹的最长公共前缀。
具体地,比较两轨迹的最长公共前缀,若fT11以fT21为前缀或fT21以fT11为前缀,则继续计算,否则两轨迹不匹配,即匹配度为0。
T3:对比两轨迹最长公共前缀的长度。
对比两轨迹最长公共前缀的长度,若a<b,则截取T11中轨迹点的前b位,得到前缀集合若/>中的元素与fT21相同,则保留该轨迹点,否则滤除,得到新的轨迹编码序列T12;若a>b,则对轨迹序列T12进行过滤,得到的新的轨迹编码序列为T22。
T4:根据a、b大小关系判断两轨迹是否匹配成功。
若a<b,则求轨迹序列T12与T21的最长公共子序列;若a>b,则求轨迹序列T11与T22的最长公共子序列。最长公共子序列中的元素则为两轨迹匹配成功的点。
T5:用最长公共子序列的长度与该轨迹总点数的比值表示该轨迹的匹配度。
特殊的,参见图10,当在海量轨迹数据库中搜索与单个轨迹最相似的轨迹集时,具体步骤为:
Z1:确认轨迹编码序列T0的最长公共前缀为fT0,长度为a,海量轨迹数据库S0={T1,...,Tn}的最长公共前缀集合F0={fT1,...,fTn},即S0中的每条轨迹Ti(i=1,...,n)的最长公共前缀为fTi;
Z2:采用与步骤203至步骤208相同的三步不同级别的过滤算法,筛选得到与该轨迹相近的候选轨迹集合S1={T1,...,Tm};
Z3:遍历候选轨迹集合,利用步骤3中轨迹相似度算法计算轨迹编码序列T0与候选集合中每条轨迹Ti(i=1,...,m)的相似度,得到T0与S1的轨迹相似度矩阵L。该矩阵只有第1行及第1列有值,矩阵中的元素L0j(j=1,...,m)表示轨迹T0与候选集合中的轨迹Tj(j=1,...,m)的相似度,用T0与Tj匹配成功的点占T0所有轨迹点的比例表示;元素L0j(j=1,...,m)表示候选集合中的轨迹Tj(j=1,...,m)与轨迹T0的相似度,用T0与Tj匹配成功的点占Tj所有轨迹点的比例表示。
与基于欧式距离的匹配算法相比,该算法能够大大提升匹配的效率。在本具体应用实例中,存轨迹数据集中随机选择10条不同长度的轨迹,与包含59981个路段的某城市路网数据进行精度为米级(编码长度为9)的匹配,两种匹配算法下,轨迹的长度与匹配时间的关系如图11所示,可见,本发明提出的匹配算法效率远高于传统的基于欧氏距离的匹配算法。
从上述描述可知,本发明实施例提供的运动轨迹与道路的匹配方法,通过对轨迹和道路的线状编码规则定义及编码生成;并根据编码进行多级筛选,利用基于动态规划的字符串最长子序列求解方法,快速实现轨迹相似度的计算,从而确定候选道路并快速匹配。具体地,本发明的有益效果有:
1)基础的地理编码仅仅实现了将一点的经纬度转换为字符串编码,而本发明在基础地理编码方式上创新的实现对轨迹和道路路网这类线段或多点线段的统一编码方式,生成路段线段的编码序列。
2)充分利用待匹配的轨迹编码序列与道路路段编码串列的前缀字符特点,将轨迹和路段按照不同精度分级进行匹配,分级过滤筛选能快速的确定候选道路路段,通过由低到高的不同精度级别筛选,最后轨迹点与道路路段唯一配准,即实现轨迹与路段的匹配,并给出匹配的距离精度范围。以Geohash编码为例,将轨迹点经纬度序列转换为字符串序列,首先基于轨迹的编码结果,结合Geohash编码精度的特点,截取由短到长的轨迹字符串,进行从低到高的多级筛选,确定候选轨迹点集,再利用基于动态规划的字符串最长公共子序列求解方法,直接进行轨迹点的匹配。
3)用一条轨迹中匹配成功的点的数目占比表示该轨迹与另一轨迹的匹配度。此方法保留了传统基于最长公共子序列算法进行轨迹相似度计算的优点,能够有效避免噪声点对相似度结果的干扰,同时,通过多级筛选,减少了候选轨迹点的数量,大大缩小计算量,对于长度为m和n的两条待匹配轨迹,能够保证计算复杂度小于等于O(mn),最重要的,此方法将传统的点点距离的计算转换为判断字符是否相同,同时通过截取轨迹点字符串的长度调整轨迹匹配的精度,可以灵活地应用于大量轨迹数据的相似度计算,在轨迹库中搜索到轨迹的相近轨迹。
基于同一发明构思,本申请实施例还提供了运动轨迹与道路的匹配装置,可以用于实现上述实施例所描述的方法,如下面的实施例。由于运动轨迹与道路的匹配装置解决问题的原理与运动轨迹与道路的匹配方法相似,因此运动轨迹与道路的匹配装置的实施可以参见运动轨迹与道路的匹配方法实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的系统较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本发明的实施例提供一种能够实现运动轨迹与道路的匹配方法的运动轨迹与道路的匹配装置的具体实施方式,参见图12,运动轨迹与道路的匹配装置具体包括如下内容:
编码序列生成单元10,用于对第一运动轨迹以及所述道路进行编码,以生成所述第一运动轨迹的编码序列以及所述道路的编码序列;
分级结果生成单元20,用于根据所述第一运动轨迹的编码序列的精度、所述道路的编码序列的精度对所述第一运动轨迹的编码序列以及所述道路的编码序列进行分级,以生成分级结果;
相似度计算单元30,用于基于所述分级结果,计算所述第一运动轨迹与所述道路的相似度;
道路匹配单元40,用于根据所述相似度将所述第一运动轨迹与所述道路进行匹配。
一实施例中,所述道路还包括第二运动轨迹。
一实施例中,参见图13,所述编码序列生成单元10包括:
轨迹编码序列生成模块101,用于根据地理编码方法以及所述第一运动轨迹生成所述第一运动轨迹的编码序列;
网格生成模块102,用于根据所述道路所在地理区域的经纬度生成所述地理区域的网格;
道路编码序列生成模块103,用于根据所述道路的方向、端点、所属行政区域的级别以及所述道路所在网格生成所述道路的编码序列。
一实施例中,所述相似度计算单元30具体用于基于所述分级结果,利用最长公共子序列算法计算所述第一运动轨迹与所述道路的相似度。
一实施例中,参见图14,所述相似度计算单元30包括:
最长公共前缀计算模块301,用于分别计算所述第一运动轨迹的编码序列的最长公共前缀以及所有道路的编码序列的最长公共前缀集合;
判断模块302,用于判断所述道路的最长公共前缀集合是否包含所述第一运动轨迹的编码序列的最长公共前缀,或所述第一运动轨迹的编码序列中是否包含所述的道路最长公共前缀集合中的至少一个元素;如果是,则保留对应的道路;
候选道路集合生成模块303,用于根据保留之后的道路生成候选道路集合;
最优匹配道路集合生成模块304,用于根据所述第一运动轨迹的编码序列的最长公共前缀的字符串长度、所述道路集合以及预设的过滤次数,对所述候选道路集合进行过滤,以生成最优匹配道路集合;
相似度计算模块305,用于分别计算所述第一运动轨迹与所述最优匹配道路集合中各元素之间的相似度。
从上述描述可知,本发明实施例提供的运动轨迹与道路的匹配装置,通过对轨迹和道路的线状编码规则定义及编码生成;并根据编码进行多级筛选,利用基于动态规划的字符串最长子序列求解方法,快速实现轨迹相似度的计算,从而确定候选道路并快速匹配。具体地,本发明的有益效果有:
1)基础的地理编码仅仅实现了将一点的经纬度转换为字符串编码,而本发明在基础地理编码方式上创新的实现对轨迹和道路路网这类线段或多点线段的统一编码方式,生成路段线段的编码序列。
2)充分利用待匹配的轨迹编码序列与道路路段编码串列的前缀字符特点,将轨迹和路段按照不同精度分级进行匹配,分级过滤筛选能快速的确定候选道路路段,通过由低到高的不同精度级别筛选,最后轨迹点与道路路段唯一配准,即实现轨迹与路段的匹配,并给出匹配的距离精度范围。以Geohash编码为例,将轨迹点经纬度序列转换为字符串序列,首先基于轨迹的编码结果,结合Geohash编码精度的特点,截取由短到长的轨迹字符串,进行从低到高的多级筛选,确定候选轨迹点集,再利用基于动态规划的字符串最长公共子序列求解方法,直接进行轨迹点的匹配。
3)用一条轨迹中匹配成功的点的数目占比表示该轨迹与另一轨迹的匹配度。此方法保留了传统基于最长公共子序列算法进行轨迹相似度计算的优点,能够有效避免噪声点对相似度结果的干扰,同时,通过多级筛选,减少了候选轨迹点的数量,大大缩小计算量,对于长度为m和n的两条待匹配轨迹,能够保证计算复杂度小于等于O(mn),最重要的,此方法将传统的点点距离的计算转换为判断字符是否相同,同时通过截取轨迹点字符串的长度调整轨迹匹配的精度,可以灵活地应用于大量轨迹数据的相似度计算,在轨迹库中搜索到轨迹的相近轨迹。
本申请的实施例还提供能够实现上述实施例中的运动轨迹与道路的匹配方法中全部步骤的一种电子设备的具体实施方式,参见图15,电子设备具体包括如下内容:
处理器(processor)1201、存储器(memory)1202、通信接口(CommunicationsInterface)1203和总线1204;
其中,处理器1201、存储器1202、通信接口1203通过总线1204完成相互间的通信;通信接口1203用于实现服务器端设备、数据采集设备以及客户端设备等相关设备之间的信息传输。
处理器1201用于调用存储器1202中的计算机程序,处理器执行计算机程序时实现上述实施例中的运动轨迹与道路的匹配方法中的全部步骤,例如,处理器执行计算机程序时实现下述步骤:
步骤100:对第一运动轨迹以及所述道路进行编码,以生成所述第一运动轨迹的编码序列以及所述道路的编码序列。
步骤200:根据所述第一运动轨迹的编码序列的精度、所述道路的编码序列的精度对所述第一运动轨迹的编码序列以及所述道路的编码序列进行分级,以生成分级结果。
步骤300:基于所述分级结果,计算所述第一运动轨迹与所述道路的相似度。
步骤400:根据所述相似度将所述第一运动轨迹与所述道路进行匹配。
从上述描述可知,本申请实施例中的电子设备,通过对轨迹和道路的线状编码规则定义及编码生成;并根据编码进行多级筛选,利用基于动态规划的字符串最长子序列求解方法,快速实现轨迹相似度的计算,从而确定候选道路并快速匹配。具体地,本发明的有益效果有:
1)基础的地理编码仅仅实现了将一点的经纬度转换为字符串编码,而本发明在基础地理编码方式上创新的实现对轨迹和道路路网这类线段或多点线段的统一编码方式,生成路段线段的编码序列。
2)充分利用待匹配的轨迹编码序列与道路路段编码串列的前缀字符特点,将轨迹和路段按照不同精度分级进行匹配,分级过滤筛选能快速的确定候选道路路段,通过由低到高的不同精度级别筛选,最后轨迹点与道路路段唯一配准,即实现轨迹与路段的匹配,并给出匹配的距离精度范围。以Geohash编码为例,将轨迹点经纬度序列转换为字符串序列,首先基于轨迹的编码结果,结合Geohash编码精度的特点,截取由短到长的轨迹字符串,进行从低到高的多级筛选,确定候选轨迹点集,再利用基于动态规划的字符串最长公共子序列求解方法,直接进行轨迹点的匹配。
3)用一条轨迹中匹配成功的点的数目占比表示该轨迹与另一轨迹的匹配度。此方法保留了传统基于最长公共子序列算法进行轨迹相似度计算的优点,能够有效避免噪声点对相似度结果的干扰,同时,通过多级筛选,减少了候选轨迹点的数量,大大缩小计算量,对于长度为m和n的两条待匹配轨迹,能够保证计算复杂度小于等于O(mn),最重要的,此方法将传统的点点距离的计算转换为判断字符是否相同,同时通过截取轨迹点字符串的长度调整轨迹匹配的精度,可以灵活地应用于大量轨迹数据的相似度计算,在轨迹库中搜索到轨迹的相近轨迹。
本申请的实施例还提供能够实现上述实施例中的运动轨迹与道路的匹配方法中全部步骤的一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的运动轨迹与道路的匹配方法的全部步骤,例如,处理器执行计算机程序时实现下述步骤:
步骤100:对第一运动轨迹以及所述道路进行编码,以生成所述第一运动轨迹的编码序列以及所述道路的编码序列。
步骤200:根据所述第一运动轨迹的编码序列的精度、所述道路的编码序列的精度对所述第一运动轨迹的编码序列以及所述道路的编码序列进行分级,以生成分级结果。
步骤300:基于所述分级结果,计算所述第一运动轨迹与所述道路的相似度。
步骤400:根据所述相似度将所述第一运动轨迹与所述道路进行匹配。
从上述描述可知,本申请实施例中的计算机可读存储介质,通过对轨迹和道路的线状编码规则定义及编码生成;并根据编码进行多级筛选,利用基于动态规划的字符串最长子序列求解方法,快速实现轨迹相似度的计算,从而确定候选道路并快速匹配。具体地,本发明的有益效果有:
1)基础的地理编码仅仅实现了将一点的经纬度转换为字符串编码,而本发明在基础地理编码方式上创新的实现对轨迹和道路路网这类线段或多点线段的统一编码方式,生成路段线段的编码序列。
2)充分利用待匹配的轨迹编码序列与道路路段编码串列的前缀字符特点,将轨迹和路段按照不同精度分级进行匹配,分级过滤筛选能快速的确定候选道路路段,通过由低到高的不同精度级别筛选,最后轨迹点与道路路段唯一配准,即实现轨迹与路段的匹配,并给出匹配的距离精度范围。以Geohash编码为例,将轨迹点经纬度序列转换为字符串序列,首先基于轨迹的编码结果,结合Geohash编码精度的特点,截取由短到长的轨迹字符串,进行从低到高的多级筛选,确定候选轨迹点集,再利用基于动态规划的字符串最长公共子序列求解方法,直接进行轨迹点的匹配。
3)用一条轨迹中匹配成功的点的数目占比表示该轨迹与另一轨迹的匹配度。此方法保留了传统基于最长公共子序列算法进行轨迹相似度计算的优点,能够有效避免噪声点对相似度结果的干扰,同时,通过多级筛选,减少了候选轨迹点的数量,大大缩小计算量,对于长度为m和n的两条待匹配轨迹,能够保证计算复杂度小于等于O(mn),最重要的,此方法将传统的点点距离的计算转换为判断字符是否相同,同时通过截取轨迹点字符串的长度调整轨迹匹配的精度,可以灵活地应用于大量轨迹数据的相似度计算,在轨迹库中搜索到轨迹的相近轨迹。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于硬件+程序类实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
虽然本申请提供了如实施例或流程图的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (8)
1.一种运动轨迹与道路的匹配方法,其特征在于,包括:
对第一运动轨迹以及所述道路进行编码,以生成所述第一运动轨迹的编码序列以及所述道路的编码序列;
根据所述第一运动轨迹的编码序列的精度、所述道路的编码序列的精度对所述第一运动轨迹的编码序列以及所述道路的编码序列进行分级,以生成分级结果;
基于所述分级结果,计算所述第一运动轨迹与所述道路的相似度;
根据所述相似度将所述第一运动轨迹与所述道路进行匹配;
所述对第一运动轨迹以及所述道路进行编码,包括:
将所述第一运动轨迹中的多个点的经纬度数据以一字符串表示,得到用于表示所述运动轨迹的编码序列;
所述基于所述分级结果,计算所述第一运动轨迹与所述道路的相似度,包括:
分别计算所述第一运动轨迹的编码序列的最长公共前缀以及所有道路的编码序列的最长公共前缀集合;
判断所述道路的最长公共前缀集合是否包含所述第一运动轨迹的编码序列的最长公共前缀,或所述第一运动轨迹的编码序列中是否包含所述的道路最长公共前缀集合中的至少一个元素;如果是,则保留对应的道路;
根据保留之后的道路生成候选道路集合;
将第一运动轨迹的最长公共前缀向后扩展一位,截取最优匹配道路集合中道路的第一运动轨迹的编码序列的最长公共前缀的字符串长度加1位的前缀,并以此生成新的编码集合,并用该新编码集合继续与第一运动轨迹进行匹配,若新编码集合包含扩展一位后的第一运动轨迹的最长公共前缀集合中的任意一元素,则保留对应的道路,作为进一步筛选的候选道路集合,直至匹配结束;
分别计算所述第一运动轨迹与所述最优匹配道路集合中各元素之间的相似度。
2.根据权利要求1所述的运动轨迹与道路的匹配方法,其特征在于,所述道路还包括第二运动轨迹。
3.根据权利要求1所述的运动轨迹与道路的匹配方法,其特征在于,所述对第一运动轨迹以及所述道路进行编码,以生成所述第一运动轨迹的编码序列以及所述道路的编码序列,包括:
根据地理编码方法以及所述第一运动轨迹生成所述第一运动轨迹的编码序列;
根据所述道路所在地理区域的经纬度生成所述地理区域的网格;
根据所述道路的方向、端点、所属行政区域的级别以及所述道路所在网格生成所述道路的编码序列。
4.一种运动轨迹与道路的匹配装置,其特征在于,包括:
编码序列生成单元,用于对第一运动轨迹以及所述道路进行编码,以生成所述第一运动轨迹的编码序列以及所述道路的编码序列;
分级结果生成单元,用于根据所述第一运动轨迹的编码序列的精度、所述道路的编码序列的精度对所述第一运动轨迹的编码序列以及所述道路的编码序列进行分级,以生成分级结果;
相似度计算单元,用于基于所述分级结果,计算所述第一运动轨迹与所述道路的相似度;
道路匹配单元,用于根据所述相似度将所述第一运动轨迹与所述道路进行匹配;
所述相似度计算单元包括:
最长公共前缀计算模块,用于分别计算所述第一运动轨迹的编码序列的最长公共前缀以及所有道路的编码序列的最长公共前缀集合;
判断模块,用于判断所述道路的最长公共前缀集合是否包含所述第一运动轨迹的编码序列的最长公共前缀,或所述第一运动轨迹的编码序列中是否包含所述的道路最长公共前缀集合中的至少一个元素;如果是,则保留对应的道路;
候选道路集合生成模块,用于根据保留之后的道路生成候选道路集合;
最优匹配道路集合生成模块,用于根据所述第一运动轨迹的编码序列的最长公共前缀的字符串长度、所述道路集合以及预设的过滤次数,对所述候选道路集合进行过滤,以生成最优匹配道路集合;
相似度计算模块,用于分别计算所述第一运动轨迹与所述最优匹配道路集合中各元素之间的相似度。
5.根据权利要求4所述的运动轨迹与道路的匹配装置,其特征在于,所述道路还包括第二运动轨迹。
6.根据权利要求4所述的运动轨迹与道路的匹配装置,其特征在于,所述编码序列生成单元包括:
轨迹编码序列生成模块,用于根据地理编码方法以及所述第一运动轨迹生成所述第一运动轨迹的编码序列;
网格生成模块,用于根据所述道路所在地理区域的经纬度生成所述地理区域的网格;
道路编码序列生成模块,用于根据所述道路的方向、端点、所属行政区域的级别以及所述道路所在网格生成所述道路的编码序列。
7.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至3任一项所述运动轨迹与道路的匹配方法的步骤。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至3任一项所述运动轨迹与道路的匹配方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010105840.XA CN111292356B (zh) | 2020-02-20 | 2020-02-20 | 运动轨迹与道路的匹配方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010105840.XA CN111292356B (zh) | 2020-02-20 | 2020-02-20 | 运动轨迹与道路的匹配方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111292356A CN111292356A (zh) | 2020-06-16 |
CN111292356B true CN111292356B (zh) | 2024-03-19 |
Family
ID=71020578
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010105840.XA Active CN111292356B (zh) | 2020-02-20 | 2020-02-20 | 运动轨迹与道路的匹配方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111292356B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112214537A (zh) * | 2020-09-16 | 2021-01-12 | 拓尔思信息技术股份有限公司 | 用于航迹检索的航迹特征建模方法及系统、电子装置 |
CN112328649A (zh) * | 2020-10-09 | 2021-02-05 | 福建亿榕信息技术有限公司 | 一种多轨迹数据相似度的计算方法和存储设备 |
CN112434084B (zh) * | 2020-12-02 | 2023-04-07 | 电信科学技术第十研究所有限公司 | 基于geohash和LCSS的轨迹相似度匹配方法及装置 |
CN113514072B (zh) * | 2021-09-14 | 2021-12-14 | 自然资源部第三地理信息制图院 | 一种面向导航数据与大比例尺制图数据的道路匹配方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110427360A (zh) * | 2019-06-28 | 2019-11-08 | 东软集团股份有限公司 | 轨迹数据的处理方法、处理装置、处理系统及计算机程序产品 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10387457B2 (en) * | 2014-06-17 | 2019-08-20 | Sap Se | Grid-based analysis of geospatial trajectories |
-
2020
- 2020-02-20 CN CN202010105840.XA patent/CN111292356B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110427360A (zh) * | 2019-06-28 | 2019-11-08 | 东软集团股份有限公司 | 轨迹数据的处理方法、处理装置、处理系统及计算机程序产品 |
Non-Patent Citations (2)
Title |
---|
Convolutional Trajectory Similarity Model: a faster method for trajectory similarity measurement;Jiayi Guo et al.;《 IEEE Xplore》;全文 * |
支持编辑距离约束的近似最长公共子串匹配及其优化算法;叶心;支持编辑距离约束的近似最长公共子串匹配及其优化算法(第2016年第08期期);第4.1节-4.4节 * |
Also Published As
Publication number | Publication date |
---|---|
CN111292356A (zh) | 2020-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111292356B (zh) | 运动轨迹与道路的匹配方法及装置 | |
CN104462190B (zh) | 一种基于海量空间轨迹挖掘的在线的位置预测方法 | |
CN112015835B (zh) | Geohash压缩的地图匹配方法 | |
CN110427360B (zh) | 轨迹数据的处理方法、处理装置、处理系统及计算机程序产品 | |
Qiao et al. | TraPlan: an effective three-in-one trajectory-prediction model in transportation networks | |
CN106528589B (zh) | 数据管理方法及装置 | |
CN107092659B (zh) | 一种通用的树形结构存储解析方法 | |
CN107018493B (zh) | 一种基于连续时序马尔科夫模型的地理位置预测方法 | |
CN106408124B (zh) | 一种面向数据稀疏环境下的移动路径混合预测方法 | |
Xu et al. | HighAir: A hierarchical graph neural network-based air quality forecasting method | |
CN103744861B (zh) | 一种轨迹数据中的频繁子轨迹查找方法及装置 | |
CN111307164B (zh) | 一种低采样率轨迹地图匹配方法 | |
CN111209457A (zh) | 一种目标典型活动模式偏离告警方法 | |
CN113932821A (zh) | 基于连续窗口平均方向特征的轨迹地图匹配方法 | |
CN109581444B (zh) | 一种gps轨迹分段及语义标注方法 | |
CN108173876B (zh) | 基于最大频繁模式的动态规则库构建方法 | |
CN107798215B (zh) | 基于ppi网络层次结构预测功能模块及作用的方法 | |
CN113483729A (zh) | 一种基于隐私保护和机器负载平衡的经纬测距方法 | |
CN110688436B (zh) | 一种基于行车轨迹的改进型GeoHash道路聚类方法 | |
Lv et al. | A trajectory compression algorithm based on non-uniform quantization | |
CN115292962B (zh) | 基于轨迹抽稀的路径相似度匹配方法、设备及存储介质 | |
CN116361327A (zh) | 一种基于二级时空索引的轨迹伴随关系挖掘方法和系统 | |
CN114664104A (zh) | 一种路网匹配方法和装置 | |
CN112988797A (zh) | 基于p-stable lsh的时空伴随查询方法 | |
CN107294544B (zh) | 卷积码的前向纠错方法、装置及译码器 |
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 |