路径相似度计算方法和装置制造方法

文档序号:6634690阅读:415来源:国知局
路径相似度计算方法和装置制造方法
【专利摘要】本发明实施例公开了一种路径相似度计算方法和装置。所述路径相似度计算方法包括:采用二分迭代法建立参考路径的MBR搜索树;根据比较路径上位置点与所述MBR搜索树上的节点对应的MBR之间的相对位置关系,判定所述位置点是否在所述参考路径上;根据在所述参考路径上的所述位置点的个数判定所述比较路径与所述参考路径之间的相似度。本发明实施例提供的路径相似度计算方法和装置降低了路径相似度计算的计算量,同时提高了路径相似度计算的准确性。
【专利说明】 路径相似度计算方法和装置

【技术领域】
[0001]本发明实施例涉及智能交通【技术领域】,尤其涉及一种路径相似度计算方法和装置。

【背景技术】
[0002]在电子地图的开发和应用过程中,经常需要对两条路径进行比较,计算它们之间的相似度。现有的路径相似度计算方法包括:逐点计算式、面积比例式以及多维二进制搜索树(K-dimens1nal tree, KD树)式。逐点计算式算法的思想较为简单,就是对一条路径上的位置点逐个计算其与另外一条路径之间的距离,然后根据每个位置点与另外一条路径之间的距离计算两条路径之间的相似度。这种算法的缺陷在于计算量较大。尤其在路径的空间拓扑较为复杂,包含的位置点较多的情况下,计算性能下降较为明显。
[0003]面积比例式算法不再将路径用线条来表示,而是使用具有一定空间面积的平面来表示。然后,计算两条路径之间的重合部分在整个路径上的占比,将这个占比作为路径相似度。图1示出了采用面积比例式算法计算路径相似度时的两条路径110、120。参见图1,可以依据所述两个路径110、120之间的重合部分101的面积占所述路径110、120的比例,确定所述两条路径110、120之间的相似度。面积比例式算法能够明显的提升路径相似度计算的计算效率,但是这种算法运行的前提在于准确的采集路径在地图上的占用面积数据,而该数据的采集难度较高,因而很难保证最终计算结果的准确性。
[0004]KD树式算法按照所述路径上的位置点将地图平面划分为子空间,并根据所述子空间的划分结果计算两条路径之间的相似度。采用这种算法得到的路径相似度结果也会出现不准确的情况。图2示出了采用KD树式算法计算路径相似度时的两条路径210、220及其上的位置点211、221。参见图2,采用KD树式路径相似度计算方法计算得到的距离第二位置点221最近的第一条路径210上的位置点是第一位置点211。显然,这是有悖于常理的。


【发明内容】

[0005]有鉴于此,本发明实施例提出一种路径相似度计算方法和装置,以降低路径相似度计算的计算量,同时提高路径相似度计算的准确性。
[0006]第一方面,本发明实施例提供了一种路径相似度计算方法,所述方法包括:
[0007]采用二分迭代法建立参考路径的最小边界矩形(Minimum boundingrectangle, MBR)搜索树;
[0008]根据比较路径上位置点与所述MBR搜索树上的节点对应的MBR之间的相对位置关系,判定所述位置点是否在所述参考路径上;
[0009]根据在所述参考路径上的所述位置点的个数判定所述比较路径与所述参考路径之间的相似度。
[0010]第二方面,本发明实施例提供了一种路径相似度计算装置,所述装置包括:
[0011 ] 搜索树建立模块,用于采用二分迭代法建立参考路径的MBR搜索树;
[0012]位置判定模块,用于根据比较路径上位置点与所述MBR搜索树上的节点对应的MBR之间的相对位置关系,判定所述位置点是否在所述参考路径上;
[0013]相似度计算模块,用于根据在所述参考路径上的所述位置点的个数判定所述比较路径与所述参考路径之间的相似度。
[0014]本发明实施例提供的路径相似度计算方法和装置,通过采用二分迭代法建立参考路径的MBR搜索树,根据比较路径上位置点与所述MBR搜索树上的节点对应的MBR之间的相对位置关系,判定所述位置点是否在所述参考路径上,根据在所述参考路径上的所述位置点的个数判定所述比较路径与所述参考路径之间的相似度,从而在降低路径相似度计算的计算量的同时,提高了路径相似度计算的准确性。

【专利附图】

【附图说明】
[0015]通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
[0016]图1是现有技术提供的面积比例式路径相似度计算方法的示意图;
[0017]图2是现有技术提供的KD树式路径相似度计算方法的示意图;
[0018]图3是本发明第一实施例提供的路径相似度计算方法的流程图;
[0019]图4是本发明第一实施例提供的路径的MBR的示意图;
[0020]图5是本发明第一实施例提供的路径的MBR搜索树的示意图;
[0021]图6是本发明第二实施例提供的路径相似度计算方法中搜索树建立的流程图;
[0022]图7是本发明第二实施例提供的路径二分时中间位置点选取的示意图;
[0023]图8是本发明第二实施例提供的参考路径部分的MBR的示意图;
[0024]图9是本发明第三实施例提供的路径相似度计算方法中搜索树建立的流程图;
[0025]图10是本发明第三实施例提供的路径二分后两个参考路径部分重合的示意图;
[0026]图11是本发明第三实施例提供的重合部分的MBR的示意图;
[0027]图12是本发明第三实施例提供的重合部分的MBR对应的第三子节点的示意图;
[0028]图13是本发明第四实施例提供的路径相似度计算方法中位置判定的流程图;
[0029]图14是本发明第四实施例提供的位置判定中根据距离进行位置判定的流程图;
[0030]图15是本发明第五实施例提供的路径相似度计算方法中相似度计算法的流程图;
[0031]图16是本发明第六实施例提供的路径相似度计算装置的结构图。

【具体实施方式】
[0032]下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。
[0033]图3至图5示出了本发明的第一实施例。
[0034]图3是本发明第一实施例提供的路径相似度计算方法的流程图。参见图3,所述路径相似度计算方法包括:
[0035]S310,采用二分迭代法建立参考路径的MBR搜索树。
[0036]在电子地图的开发过程中,经常需要比较两条路径的相似度。如,在识别两条路径是否是同一条路径时,除了比较两条路径的数据记录时间参数以外,比较两条路径在形状上的相似度也是识别同一条路径的有效手段。
[0037]被比较的两条路径是由不同的位置点的集合形成的。形成所述路径的相邻位置点之间有一定的间距,并且所述间距并不一定是固定值。
[0038]在比较两条路径的相似度时,以两条路径中一条路径上的位置点为参考,判定另一条路径上的位置点是否在作为参考的一条路径上。为了对所述两条路径进行区别,将作为参考的一条路径称为参考路径,而将另外一条路径称为比较路径。
[0039]在计算所述比较路径与所述参考路径的相似度时,需要首先获取所述参考路的MBR搜索树。所述MBR搜索树是由所述参考路径的不同部分对应的MBR作为节点,并且表示不同部分之间的所属关系的搜索树。所述参考路径的某一部分的MBR是覆盖参考路径的所述部分所属的所有位置点的面积最小的矩形。在本发明中,所述MBR的坐标由式(I)给出:
[0040]MBR = (min (x0: xM) -D, min (y0: yM) -D, max (x0: xM) +D, max (y0: yM) +D) (I)
[0041]在式(I)中,不失一般性,Xi表示参考路径的所述部分中第i个位置点的横坐标,Yi表示参考路径的所述部分中第i个位置点的纵坐标,min (x0: xM)表示从第O个位置点到第M个位置点中,横坐标的最小值,min (y0: yM)表示从第O个位置点至第M个位置点中,纵坐标的最小值,max (x0: xM)表示从第O个位置点到第M个位置点中横坐标的最大值,max (y0: yM)表示从第O个位置点至第M个位置点中纵坐标的最大值,D是距离判定阈值。所述距离判定阈值优选是10米。
[0042]图4示出了路径部分所对应的MBR。参见图4,所述MBR 401覆盖了路径部分402内的所有位置点,并且为了避免实际计算的误差,将所述MBR 401的长和宽分别向外延伸了 2XD的距离。
[0043]在本实施例中,采用二分迭代法获取所述参考路径上的各个参考路径部分。具体的,利用位置处于所述参考路径中间的位置点将所述参考路径进行二分,获取一次二分以后的参考路径的两个部分。然后,再利用位置处于二分以后的参考路径的两个部分中间的位置点将一次二分以后的参考路径的两个部分再次二分。如此依次迭代,直至所述参考路径不再可分。
[0044]每一次对所述参考路径的不同部分进行二分以后,即获取二分以后的参考路径的部分对应的MBR,并将该次二分以后获得的参考路径的部分所对应的MBR作为二分以前的参考路径的部分所对应的MBR的子节点。
[0045]同一个层级的二分操作所获得的MBR对应于所述MBR搜索树上的同一个层级的子节点。因此,迭代的对所述参考路径进行二分,即可得到所述参考路径的MBR搜索树。
[0046]图5示出了所述参考路径的MBR搜索树。所述MBR搜索树由根节点501和子节点502组成。所述MBR搜索树上的每个节点对应于所述参考路径的一部分的MBR。需要说明的是,图5仅示出了所述MBR搜索树顶层的一部分节点,并未示出整个MBR搜索树。
[0047]S320,根据比较路径上位置点与所述MBR搜索树上的节点对应的MBR之间的相对位置关系,判定所述位置点是否在所述参考路径上。
[0048]建立了所述参考路径的MBR搜索树以后,可以根据所述比较路径上位置点与所述MBR搜索树上的节点所对应的MBR之间的相对位置关系,判断所述位置点是否在所述参考路径上。优选的,可以根据所述位置点是否在所述MBR搜索树上的节点所对应的MBR之内,来判断所述位置点是否在所述参考路径上。
[0049]S330,根据在所述参考路径上的所述位置点的个数判定所述比较路径与所述参考路径之间的相似度。
[0050]对所述比较路径上的位置点逐个判断其是否在所述参考路径上之后,根据在所述参考路径上的所述位置点的个数判定所述比较路径与所述参考路径之间的相似度。
[0051]优选的,计算所述位置点在所述参考路径上的比率,并将所述位置点在所述参考路径上的比率作为所述比较路径与所述参考路径之间的相似度。例如,所述比较路径上共包含有100个位置点,并且在这100个位置点中,有64个位置点在所述参考路径上,则所述比较路径与所述参考路径之间的相似度是64%。
[0052]进一步优选的,可以按照上述过程求取所述位置点在所述参考路径上的比率,将所述比率作为所述比较路径与所述参考路径之间的第一备选相似度。然后,将所述比较路径与所述参考路径的地位互换,即将所述比较路径作为新的参考路径,将所述参考路径作为新的比较路径,再次计算新的比较路径上的位置点在新的参考路径上的比率,并将该比率作为两条路径之间的第二备选相似度。最后,对所述第一备选相似度和所述第二备选相似度求均值,即得到所述比较路径与所述参考路径之间的相似度。
[0053]本实施例通过采用二分迭代法建立参考路径的MBR搜索树,根据比较路径上位置点与所述MBR搜索树上的节点对应的MBR之间的相对位置关系判定所述位置点是否在所述参考路径上,以及根据在所述参考路径上的所述位置点的个数判定所述比较路径与所述参考路径之间的相似度,从而在降低路径相似度计算的计算量的同时,提高了路径相似度计算的准确性。
[0054]图6至图8示出了本发明的第二实施例。
[0055]图6是本发明第二实施例提供的路径相似度计算方法中搜索树建立的流程图。所述路径相似度计算方法以本发明第一实施例为基础,进一步的,采用二分迭代法建立参考路径的MBR搜索树包括:获取所述参考路径的MBR,将所述参考路径的MBR作为所述MBR搜索树的根节点;利用处在所述参考路径中间的位置点将所述参考路径进行二分;确定二分后所述参考路径的两个参考路径部分的MBR,并将所述两个参考路径部分对应的MBR分别作为所述MBR搜索树的根节点的子节点;对所述参考路径部分再分别进行二分,以建立所述MBR搜索树的子节点的下一层子节点,直至所述参考路径部分不再可分。
[0056]参见图6,采用二分迭代法建立参考路径的MBR搜索树包括:
[0057]S311,获取所述参考路径的MBR,将所述参考路径的MBR作为所述MBR搜索树的根节点。
[0058]所述MBR搜索树上的每一个节点都对应于所述参考路径的一部分的MBR。而整个参考路径的MBR被作为所述MBR搜索树的根节点。因此,在建立所述参考路径的MBR搜索树之时,首先应当明确所述MBR搜索树的根节点对应的MBR。
[0059]在获取所述参考路径的MBR时,应当根据式(I)给出的方式获取所述参考路径的MBR。
[0060]S312,利用处在所述参考路径中间的位置点将所述参考路径进行二分。
[0061]对所述参考路径建立MBR搜索树,需要迭代的将所述参考路径划分为参考路径的部分,并获取不同部分的MBR,作为所述MBR搜索树的子节点。优选的,利用处在所述参考路径中间的位置点将所述参考路径进行二分,以实现对所述参考路径的划分。
[0062]所述处在参考路径中间的位置点可以是序号处于所述参考路径上的所有位置点的中间的位置点。
[0063]所述处在参考路径中间的位置点还可以是与所述参考路径的起始点之间的距离及与所述参考路径的终止点之间的距离的差值为最小的一个位置点。并且,所述处在参考路径中间的位置点与所述起始点之间的距离是沿着所述参考路径测量而得到的距离,所述处在参考路径中间的位置点与所述终止点之间的距离也是沿着所述参考路径测量而得到的距离。
[0064]图7示出了的路径二分时所选取的中间位置点。参见图7,所述中间位置点701是序号的取值为所有位置点的序号中处于中间的一个位置点。
[0065]S313,确定二分后所述参考路径的两个参考路径部分的MBR,并将所述两个参考路径部分对应的MBR分别作为所述MBR搜索树的根节点的子节点。
[0066]选取了处在所述参考路径中间的位置点,并依据所选取的位置点对所述参考路径进行二分以后,分别确定二分后所述参考路径的两个参考路径部分的MBR,并将所述两个参考路径部分所对应的MBR分别作为所述MBR搜索树的根节点的最近一层的子节点。
[0067]图8示出了所述参考路径的参考路径部分的MBR。参见图8,所述参考路径的两个不同的参考路径部分801、802分别具有不同的MBR 810、820。
[0068]S314,对所述参考路径部分再分别进行二分,以建立所述MBR搜索树的子节点的下一层子节点,直至所述参考路径部分不再可分。
[0069]建立了所述MBR搜索树的根节点的最近一层的子节点以后,对子节点对应的参考路径部分继续进行二分,以建立所述子节点的下一层子节点。
[0070]对所述参考路径部分的二分一直进行到所述参考路径的每一个参考路径部分都不再可分时为止。
[0071]本实施例通过获取所述参考路径的MBR,将所述参考路径的MBR作为所述MBR搜索树的根节点,利用处在所述参考路径中间的位置点将所述参考路径进行二分,确定二分后所述参考路径的两个参考路径部分的MBR,并将所述两个参考路径部分对应的MBR分别作为所述MBR搜索树的根节点的子节点,对所述参考路径部分再分别进行二分,以建立所述MBR搜索树的子节点的下一层子节点,直至所述参考路径部分不再可分,建立了所述参考路径的MBR搜索树,为根据所述MBR搜索树计算路径之间的相似度提供了基础。
[0072]图9至图12示出了本发明的第三实施例。
[0073]图9是本发明第三实施例提供的路径相似度计算方法中搜索树建立的流程图。所述路径相似度计算方法以本发明的第二实施例为基础,进一步的,在确定二分后所述参考路径的两个参考路径部分的MBR,并将所述两个参考路径部分对应的MBR分别作为所述MBR搜索树的根节点的子节点之后,采用二分迭代法建立参考路径的MBR搜索树还包括:若所述两个参考路径部分的MBR重合,确定所述重合部分的MBR,并将所述重合部分的MBR作为所述MBR搜索树的根节点的第三个子节点。
[0074]参见图9,采用二分迭代法建立参考路径的MBR搜索树包括:
[0075]S315,获取所述参考路径的MBR,将所述参考路径的MBR作为所述MBR搜索树的根节点。
[0076]S316,利用处在所述参考路径中间的位置点将所述参考路径进行二分。
[0077]S317,确定二分后所述参考路径的两个参考路径部分的MBR,并将所述两个参考路径部分对应的MBR分别作为所述MBR搜索树的根节点的子节点。
[0078]S318,若所述两个参考路径部分的MBR重合,确定所述重合部分的MBR,并将所述重合部分的MBR作为所述MBR搜索树的根节点的第三个子节点。
[0079]所述参考路径可能会具有不同的形状。在所述参考路径具有特定形状的情况下,对所述参考路径进行二分以后,所述两个参考路径部分对应的MBR可能会重合。图10示出的路径二分后两个参考路径部分重合的情况。参见图10,对所述参考路径进行二分后,第一参考路径部分1001所对应的MBR 1010与第二参考路径部分1002所对应的MBR 1020有一部分相互重合。
[0080]对于处于所述重合部分的位置点来说,在确定它是否处于所述参考路径上的时候,它既可以是按照所述MBR搜索树的左子树进行搜索,也可以是按照所述MBR搜索树的右子树进行搜索。其结果使得对所述位置点是否在所述参考路径上的判断结果不唯一,并且搜索过程复杂化。
[0081]为了使在所述重合部分的位置点是否在所述参考路径上的判断过程简单化,单独建立所述重合部分的MBR,并将所述重合部分的MBR作为所述根节点的第三个子节点。
[0082]图11示出了所述参考路径的重合部分的MBR。参见图11,所述重合部分的MBR1101覆盖了所述重合部分的所有位置点。图12进一步示出了所述重合部分的MBR对应的第三子节点。参见图12,在所述MBR搜索树的根节点1201的下一层子节点中,除了原有的两个子节点1202、1203以外,还包括一个对应于所述重合部分的第三子节点1204。
[0083]进一步的,在依据所述MBR搜索树判定所述位置点是否在所述参考路径之上时,若一个节点的下一层节点有三个,则优先判断所述位置点是否在所述重合部分对应的MBR内,也就是优先判断所述位置点是否在所述第三个子节点对应的MBR内。这样一来,避免了同一个位置点既可以根据左子树查找,又可以根据右子树查找的情况,而且使得判断过程更为简化,提高了根据所述MBR搜索树搜索所述位置点的搜索效率。
[0084]S319,对所述参考路径部分再分别进行二分,以建立所述MBR搜索树的子节点的下一层子节点,直至所述参考路径部分不再可分。
[0085]本实施例通过在确定二分后所述参考路径的两个参考路径部分的MBR,并将所述两个参考路径部分对应的MBR分别作为所述MBR搜索树的根节点的子节点之后,当所述两个参考路径部分的MBR重合时,确定所述重合部分的MBR,并将所述重合部分的MBR作为所述MBR搜索树的根节点的第三个子节点,从而将二分后所述参考路径的两个部分的MBR的重合部分单独处理,提高了针对所述位置点的MBR搜索树的搜索效率。
[0086]图13及图14示出了本发明的第四实施例。
[0087]图13是本发明第四实施例提供的路径相似度计算方法中位置判定的流程图。所述路径相似度计算方法以本发明第一实施例为基础,进一步的,根据比较路径上位置点与所述MBR搜索树上的节点对应的MBR之间的相对位置关系,判定所述位置点是否在所述参考路径上包括:按照从上到下的顺序遍历所述MBR搜索树的每一层;对于遍历到的当前层,若所述位置点在当前层的一个节点对应的MBR内并且当前层不是最低一层,则继续遍历下一层;若所述位置点在当前层的一个节点对应的MBR内并且当前层是最低一层,则根据所述位置点与所述MBR对应的参考路径部分之间的距离判定所述位置点是否在所述参考路径上;若所述位置点在当前层的每个节点对应的MBR外,则判定所述位置点不在所述参考路径上。
[0088]参见图13,根据比较路径上位置点与所述MBR搜索树上的节点对应的MBR之间的相对位置关系,判定所述位置点是否在所述参考路径上包括:
[0089]S321,按照从上到下的顺序遍历所述MBR搜索树的每一层。
[0090]在判定所述位置点是否在所述参考路径上时,按照所述MBR搜索树的层级对所述MBR搜索树进行遍历。进一步的,按照从上到下的顺序遍历所述MBR搜索树的每一层。
[0091]S322,对于遍历到的当前层,若所述位置点在当前层的一个节点对应的MBR内并且当前层不是最低一层,则继续遍历下一层;若所述位置点在当前层的一个节点对应的MBR内并且当前层是最低一层,则根据所述位置点与所述MBR对应的参考路径部分之间的距离判定所述位置点是否在所述参考路径上;若所述位置点在当前层的每个节点对应的MBR外,则判定所述位置点不在所述参考路径上。
[0092]当遍历至所述MBR搜索树的一层时,依次查看所述位置点是否在该层的各个节点对应的MBR内,并依据上述结果判定所述位置点是否在所述参考路径上。
[0093]若所述位置点在当前层的一个节点对应的MBR内,并且所述当前层并不是所述MBR搜索树的最低一层,则继续遍历所述位置点在其对应的MBR内的节点的下一层子节点。其中,判定所述当前层是否是所述MBR搜索树的最低一层的方法是:查看所述当前层是否包含这样的节点,其在所述MBR搜索树上还具有至少一层子节点;若所述当前层包含有至少一个节点,其在所述MBR搜索树上还具有至少一层子节点,则所述当前层不是所述MBR搜索树的最低一层;若所述当前层不再包含有上述节点,则所述当前层是所述MBR搜索树的最低一层。
[0094]若所述位置点在当前层的一个节点对应的MBR内并且当前层是所述MBR搜索树的最低一层,则根据所述位置点与所述MBR对应的参考路径部分之间的距离判定所述位置点是否在所述参考路径上。
[0095]在对所述MBR搜索树进行遍历的过程中,若所述位置点在当前层的每个节点对应的MBR外,则判定所述位置点不在所述参考路径上。
[0096]需要说明的是,若所述当前层的子节点中存在第三个子节点,则判断所述位置点是否在所述当前层的子节点对应的MBR内时,优先判断所述位置点是否在所述第三个子节点对应的MBR内。之所以优先判断所述位置点是否在所述第三个子节点对应的MBR内,原因在于所述第三个子节点对应于所述参考路径上的重合部分。而一般来讲,所述重合部分包含的位置点的数目较少,因此优选判断所述位置点是否在所述第三个子节点对应的MBR内,也就是优选搜索所述重合部分对应的子树,可以提高位置点搜索的搜索效率。
[0097]图14是本发明第四实施例提供的位置判定中根据距离进行位置判定的流程图。参见图14,进一步优选的,根据所述位置点与所述MBR对应的参考路径部分之间的距离判定所述位置点是否在所述参考路径上包括:
[0098]S3221,计算所述位置点与所述参考路径部分之间的距离。
[0099]由于所述MBR是所述MBR搜索树上最低一层子节点所对应的MBR,所以所述MBR所对应的参考路径部分不再可分,也就是说,所述参考路径部分仅包括两个位置点,所述MBR仅覆盖两个位置点。所述参考路径部分由所述MBR所覆盖的两个位置点的空间位置来确定。
[0100]S3222,将所述距离与预置的距离阈值进行比较。
[0101]所述距离阈值是预先设置的阈值,用于根据距离判定所述位置点是否在所述参考路径上。需要说明的是,所述距离阈值与式(I)中的参数D所代表的距离相等。
[0102]S3223,若所述距离小于所述距离阈值,则判定所述位置点在所述参考路径上。
[0103]S3224,若所述距离大于所述距离阈值,则判定所述位置点不在所述参考路径上。
[0104]本实施例通过按照从上到下的顺序遍历所述MBR搜索树的每一层,并在遍历至当前层时依据所述位置点与所述当前层所包含的节点对应的MBR之间的位置关系判定所述位置点是否在所述参考路径上,大大降低了判定位置点是否在所述参考路径上的计算量,同时提高了上述判定的准确性。
[0105]图15示出了本发明的第五实施例。
[0106]图15是本发明第五实施例提供的路径相似度计算方法中相似度计算法的流程图。所述路径相似度计算方法以本发明第一实施例为基础,进一步的,根据在所述参考路径上的所述位置点的个数判定所述比较路径与所述参考路径之间的相似度包括:统计所述位置点在所述参考路径上的个数;统计所述比较路径上的位置点总数;依据所述位置点在所述参考路径上的个数与所述比较路径上的位置点总数之间的比值,确定所述比较路径与所述参考路径之间的相似度。
[0107]参见图15,根据在所述参考路径上的所述位置点的个数判定所述比较路径与所述参考路径之间的相似度包括:
[0108]S331,统计所述位置点在所述参考路径上的个数。
[0109]完成对所述比较路径上各个位置点是否在所述参考路径上的判断后,统计所述比较路径上的位置点在所述参考路径上的个数。
[0110]S332,统计所述比较路径上的位置点总数。
[0111]再统计所述比较路径上的位置点的总数。统计所述位置点的总数时,所有在比较路径上出现的位置点都被计算在内。
[0112]S333,依据所述位置点在所述参考路径上的个数与所述比较路径上的位置点总数之间的比值,确定所述比较路径与所述参考路径之间的相似度。
[0113]将所述在所述参考路径上的位置点的总数与所述位置点的总数之间的比值作为所述比较路径与所述参考路径之间的相似度。
[0114]本实施例通过统计所述位置点在所述参考路径上的个数,统计所述比较路径上的位置点总数,以及依据所述位置点在所述参考路径上的个数与所述比较路径上的位置点总数之间的比值,确定所述比较路径与所述参考路径之间的相似度,获得了所述比较路径与所述参考路径之间的相似度,提高了相似度计算的准确性。
[0115]图16示出了本发明的第六实施例。
[0116]图16是本发明第六实施例提供的路径相似度计算装置的结构图。参见图16,所述路径相似度计算装置包括:搜索树建立模块1610、位置判定模块1620以及相似度计算模块1630。
[0117]所述搜索树建立模块1610用于采用二分迭代法建立参考路径的MBR搜索树。
[0118]所述位置判定模块1620用于根据比较路径上位置点与所述MBR搜索树上的节点对应的MBR之间的相对位置关系,判定所述位置点是否在所述参考路径上。
[0119]所述相似度计算模块1630用于根据在所述参考路径上的所述位置点的个数判定所述比较路径与所述参考路径之间的相似度。
[0120]优选的,所述搜索树建立模块1610包括:根节点建立单元1611、路径二分单元1612、子节点建立单元1613以及树建立单元1615。
[0121]所述根节点建立单元1611用于获取所述参考路径的MBR,将所述参考路径的MBR作为所述MBR搜索树的根节点。
[0122]所述路径二分单元1612用于利用处在所述参考路径中间的位置点将所述参考路径进行二分。
[0123]所述子节点建立单元1613用于确定二分后所述参考路径的两个参考路径部分的MBR,并将所述两个参考路径部分对应的MBR分别作为所述MBR搜索树的根节点的子节点。
[0124]所述树建立单元1615用于对所述参考路径部分再分别进行二分,以建立所述MBR搜索树的子节点的下一层子节点,直至所述参考路径部分不再可分。
[0125]优选的,所述处在所述参考路径中间的位置点是所述参考路径上的位置点,并且该位置点与所述参考路径的起始点的距离同该位置点与所述参考路径的终止点的距离之间的差值在所有所述参考路径上的位置点中为最小;或者,所述处在所述参考路径中间的位置点是序号的取值处于所有所述参考路径上的位置点的序号取值中间的位置点。
[0126]优选的,所述搜索树建立模块1610还包括:重叠部分子节点建立单元1614。
[0127]所述重叠部分子节点建立单元1614用于在确定二分后所述参考路径的两个参考路径部分的MBR,并将所述两个参考路径部分对应的MBR分别作为所述MBR搜索树的根节点的子节点之后,若所述两个参考路径部分的MBR重合,确定所述重合部分的MBR,并将所述重合部分的MBR作为所述MBR搜索树的根节点的第三个子节点。
[0128]优选的,所述位置判定模块1620包括:搜索树遍历单元1621以及位置判断单元1622。
[0129]所述搜索树遍历单元1621用于按照从上到下的顺序遍历所述MBR搜索树的每一层。
[0130]所述位置判断单元1622用于对于遍历到的当前层,若所述位置点在当前层的一个节点对应的MBR内并且当前层不是最低一层,则继续遍历下一层;若所述位置点在当前层的一个节点对应的MBR内并且当前层是最低一层,则根据所述位置点与所述MBR对应的参考路径部分之间的距离判定所述位置点是否在所述参考路径上;若所述位置点在当前层的每个节点对应的MBR外,则判定所述位置点不在所述参考路径上。
[0131]优选的,若所述当前层的子节点中存在第三个子节点,则判断所述位置点是否在所述当前层的子节点对应的MBR内时,优先判断所述位置点是否在所述第三个子节点对应的MBR内。
[0132]优选的,根据所述位置点与所述MBR对应的参考路径部分之间的距离判定所述位置点是否在所述参考路径上包括:
[0133]计算所述位置点与所述参考路径部分之间的距离;
[0134]将所述距离与预置的距离阈值进行比较;
[0135]若所述距离小于所述距离阈值,则判定所述位置点在所述参考路径上;
[0136]若所述距离大于所述距离阈值,则判定所述位置点不在所述参考路径上。
[0137]优选的,所述相似度计算模块1630包括:重合位置点统计单元1631、位置点总数统计单元1632以及相似度计算单元1633。
[0138]所述重合位置点统计单元1631用于统计所述位置点在所述参考路径上的个数。
[0139]所述位置点总数统计单元1632用于统计所述比较路径上的位置点总数。
[0140]所述相似度计算单元1633用于依据所述位置点在所述参考路径上的个数与所述比较路径上的位置点总数之间的比值,确定所述比较路径与所述参考路径之间的相似度。
[0141]上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0142]本领域普通技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个计算装置上,或者分布在多个计算装置所组成的网络上,可选地,他们可以用计算机装置可执行的程序代码来实现,从而可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件的结合。
[0143]本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间的相同或相似的部分互相参见即可。
[0144]以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域技术人员而言,本发明可以有各种改动和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种路径相似度计算方法,其特征在于,包括: 采用二分迭代法建立参考路径的最小边界矩形MBR搜索树; 根据比较路径上位置点与所述MBR搜索树上的节点对应的MBR之间的相对位置关系,判定所述位置点是否在所述参考路径上; 根据在所述参考路径上的所述位置点的个数判定所述比较路径与所述参考路径之间的相似度。
2.根据权利要求1所述的方法,其特征在于,采用二分迭代法建立参考路径的MBR搜索树包括: 获取所述参考路径的MBR,将所述参考路径的MBR作为所述MBR搜索树的根节点; 利用处在所述参考路径中间的位置点将所述参考路径进行二分; 确定二分后所述参考路径的两个参考路径部分的MBR,并将所述两个参考路径部分对应的MBR分别作为所述MBR搜索树的根节点的子节点; 对所述参考路径部分再分别进行二分,以建立所述MBR搜索树的子节点的下一层子节点,直至所述参考路径部分不再可分。
3.根据权利要求2所述的方法,其特征在于,所述处在所述参考路径中间的位置点是所述参考路径上的位置点,并且该位置点与所述参考路径的起始点的距离同该位置点与所述参考路径的终止点的距离之间的差值,在所有所述参考路径上的位置点中为最小;或者,所述处在所述参考路径中间的位置点是序号的取值处于所有所述参考路径上的位置点的序号取值中间的位置点。
4.根据权利要求3所述的方法,其特征在于,在确定二分后所述参考路径的两个参考路径部分的MBR,并将所述两个参考路径部分对应的MBR分别作为所述MBR搜索树的根节点的子节点之后,还包括: 若所述两个参考路径部分的MBR重合,确定所述重合部分的MBR,并将所述重合部分的MBR作为所述MBR搜索树的根节点的第三个子节点。
5.根据权利要求1所述的方法,其特征在于,根据比较路径上位置点与所述MBR搜索树上的节点对应的MBR之间的相对位置关系,判定所述位置点是否在所述参考路径上包括: 按照从上到下的顺序遍历所述MBR搜索树的每一层; 对于遍历到的当前层,若所述位置点在当前层的一个节点对应的MBR内并且当前层不是最低一层,则继续遍历下一层;若所述位置点在当前层的一个节点对应的MBR内并且当前层是最低一层,则根据所述位置点与所述MBR对应的参考路径部分之间的距离判定所述位置点是否在所述参考路径上;若所述位置点在当前层的每个节点对应的MBR外,则判定所述位置点不在所述参考路径上。
6.根据权利要求5所述的方法,其特征在于,若所述当前层的子节点中存在第三个子节点,则判断所述位置点是否在所述当前层的子节点对应的MBR内时,优先判断所述位置点是否在所述第三个子节点对应的MBR内。
7.根据权利要求6所述的方法,其特征在于,根据所述位置点与所述MBR对应的参考路径部分之间的距离判定所述位置点是否在所述参考路径上包括: 计算所述位置点与所述参考路径部分之间的距离; 将所述距离与预置的距离阈值进行比较; 若所述距离小于所述距离阈值,则判定所述位置点在所述参考路径上; 若所述距离大于所述距离阈值,则判定所述位置点不在所述参考路径上。
8.根据权利要求1所述的方法,其特征在于,根据在所述参考路径上的所述位置点的个数判定所述比较路径与所述参考路径之间的相似度包括: 统计所述位置点在所述参考路径上的个数; 统计所述比较路径上的位置点总数; 依据所述位置点在所述参考路径上的个数与所述比较路径上的位置点总数之间的比值,确定所述比较路径与所述参考路径之间的相似度。
9.一种路径相似度计算装置,其特征在于,包括: 搜索树建立模块,用于采用二分迭代法建立参考路径的MBR搜索树; 位置判定模块,用于根据比较路径上位置点与所述MBR搜索树上的节点对应的MBR之间的相对位置关系,判定所述位置点是否在所述参考路径上; 相似度计算模块,用于根据在所述参考路径上的所述位置点的个数判定所述比较路径与所述参考路径之间的相似度。
10.根据权利要求9所述的装置,其特征在于,所述搜索树建立模块包括: 根节点建立单元,用于获取所述参考路径的MBR,将所述参考路径的MBR作为所述MBR搜索树的根节点; 路径二分单元,用于利用处在所述参考路径中间的位置点将所述参考路径进行二分;子节点建立单元,用于确定二分后所述参考路径的两个参考路径部分的MBR,并将所述两个参考路径部分对应的MBR分别作为所述MBR搜索树的根节点的子节点; 树建立单元,用于对所述参考路径部分再分别进行二分,以建立所述MBR搜索树的子节点的下一层子节点,直至所述参考路径部分不再可分。
11.根据权利要求10所述的装置,其特征在于,所述处在所述参考路径中间的位置点是所述参考路径上的位置点,并且该位置点与所述参考路径的起始点的距离同该位置点与所述参考路径的终止点的距离之间的差值在所有所述参考路径上的位置点中为最小;或者,所述处在所述参考路径中间的位置点是序号的取值处于所有所述参考路径上的位置点的序号取值中间的位置点。
12.根据权利要求11所述的装置,其特征在于,所述搜索树建立模块还包括: 重叠部分子节点建立单元,用于在确定二分后所述参考路径的两个参考路径部分的MBR,并将所述两个参考路径部分对应的MBR分别作为所述MBR搜索树的根节点的子节点之后,若所述两个参考路径部分的MBR重合,确定所述重合部分的MBR,并将所述重合部分的MBR作为所述MBR搜索树的根节点的第三个子节点。
13.根据权利要求9所述的装置,其特征在于,所述位置判定模块包括: 搜索树遍历单元,用于按照从上到下的顺序遍历所述MBR搜索树的每一层; 位置判断单元,用于对于遍历到的当前层,若所述位置点在当前层的一个节点对应的MBR内并且当前层不是最低一层,则继续遍历下一层;若所述位置点在当前层的一个节点对应的MBR内并且当前层是最低一层,则根据所述位置点与所述MBR对应的参考路径部分之间的距离判定所述位置点是否在所述参考路径上;若所述位置点在当前层的每个节点对应的MBR外,则判定所述位置点不在所述参考路径上。
14.根据权利要求13所述的装置,其特征在于,若所述当前层的子节点中存在第三个子节点,则判断所述位置点是否在所述当前层的子节点对应的MBR内时,优先判断所述位置点是否在所述第三个子节点对应的MBR内。
15.根据权利要求14所述的装置,其特征在于,根据所述位置点与所述MBR对应的参考路径部分之间的距离判定所述位置点是否在所述参考路径上包括: 计算所述位置点与所述参考路径部分之间的距离; 将所述距离与预置的距离阈值进行比较; 若所述距离小于所述距离阈值,则判定所述位置点在所述参考路径上; 若所述距离大于所述距离阈值,则判定所述位置点不在所述参考路径上。
16.根据权利要求9所述的装置,其特征在于,所述相似度计算模块包括: 重合位置点统计单元,用于统计所述位置点在所述参考路径上的个数; 位置点总数统计单元,用于统计所述比较路径上的位置点总数; 相似度计算单元,用于依据所述位置点在所述参考路径上的个数与所述比较路径上的位置点总数之间的比值,确定所述比较路径与所述参考路径之间的相似度。
【文档编号】G06F17/30GK104376084SQ201410659124
【公开日】2015年2月25日 申请日期:2014年11月18日 优先权日:2014年11月18日
【发明者】庄思待, 周建龙, 金鑫 申请人:百度在线网络技术(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1