一种相似路径的判定方法及装置与流程

文档序号:11276348阅读:237来源:国知局
一种相似路径的判定方法及装置与流程
本发明涉及电子地图
技术领域
,尤其涉及一种相似路径的判定方法及装置。
背景技术
:现有技术中,针对两条路径,若这两条路径中重合路段的长度与这两条路径中任一条路径的长度的比值大于临界值,则将这两条路径视为相似路径。例如,如图1所示:起点到终点有两条路径(分别为路径a和路径b),矩形框中标出了两条路径重合的部分。现有技术中,计算重合部分的长度与路径a长度的比值,及计算重合部分的长度与或路径b长度的比值,当有一个比值大于临界值(例如80%)时,则视这两条路径为相似路径。在向用户推荐路径时,可以排除相似路径,达到优化推荐路径的目的,使得推荐给用户的路径更合理。根据现有技术确定相似路径的方法,若两路径没有重合的部分或者重合的部分较少,使得计算得到的两个相似度均不大于临界值,则两条路径不相似。而对于一些特殊的路径,例如一条路径为主路,另一条路径为辅路,现有技术中会由于主辅路重合的部分较少或没有重合的部分,而通常判定主辅路不为相似路径。而实际上,当比例尺较小时,主辅路在电子地图上展示起来就像一条重合的路径(如图2所示)。此外,主辅路是可以相互切换的,将这样的两条路径推荐给用户显然是不合理的。由此可见,现有技术中判断两条路径是否为相似路径的方法不够准确,会导致推荐给用户的路径不够合理。技术实现要素:本发明实施例提供了一种相似路径的判定方法及装置,用以解决目前存在 的判断两条路径是否为相似路径的方法不够准确,会导致推荐给用户的路径不够合理的问题。本发明实施例提供了一种相似路径的判定方法,包括:根据待确定是否相似的第一路径和第二路径获取第一集合,其中第一集合中包括第二路径中所有路段(link)的路段id(identity,标识),以及,第二路径中每个路段的直连路段的路段标识,其中,直连路段包括入度路段和/或出度路段;针对第一路径中的每个路段,判断该路段的路段标识是否在第一集合中;若是,则将该路段的路段标识放入第二集合中;根据第二集合中各路段标识对应的路段的长度之和、第一路径的长度以及第二路径的长度,确定第一路径与第二路径是否为相似路径。进一步地,本发明实施例还提供了一种相似路径的判断装置,包括:第一标识获取模块,用于根据待确定是否相似的第一路径和第二路径获取第一集合,其中第一集合中包括第二路径中所有路段的路段标识标识,以及,第二路径中每个路段的直连路段的路段标识,其中,直连路段包括入度路段和/或出度路段;第一判断模块,用于针对第一路径中的每个路段,判断该路段的路段标识是否在第一集合中;存储模块,用于若第一判断模块的判断结果为是,则将该路段的路段标识放入第二集合中;相似路径判定模块,用于根据第二集合中各路段标识对应的路段的长度之和、第一路径的长度以及第二路径的长度,确定第一路径与第二路径是否为相似路径。本发明有益效果如下:本发明实施例中,针对待确定是否相似的两条路径,参考其中一条路径的直连link判断两条路径上的路段是否重合;即,若第 一路径上的linka与第二路径上的link或第二路径的直连link相同,则确定linka属于重合路段,这样,使得最终的判断结果相当于将重合的路段,以及直连的路段均视为重合路段,实现了将距离较近的路段判断为重合路段,从而有利于将距离较近的路径判定为相似路径,这样不仅适用于特殊的路径(如主辅路),也使得判断的结果更加符合实际的情况,从而可以提高具有关联关系的两条路径的相似度的准确性,进一步提高判断两条路径是否为相似路径的准确性,能够使得推荐给用户的路径更加合理。附图说明为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1所示为本现有技术中判定为相似路径的两条路径的示意图;图2所示为主辅路的示意图;图3所示为本发明实施例一中所述相似路径的判定方法的流程示意图;图4所示为本发明实施例一中直连link的示意图;图5所示为本发明实施例一种判定效果的示意图;图6所示为本发明实施例二中所述相似路径的判定装置的结构示意图。具体实施方式为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。实施例一:如图3所示,其为本发明实施例一中所述相似路径的判定方法的流程示意图,所述相似路径的判定方法可包括以下步骤:步骤301:根据待确定是否相似的第一路径和第二路径获取第一集合,其中第一集合中包括第二路径中所有路段(link)的link标识,以及,第二路径中每个link的直连link的link标识,其中,直连link包括入度link和/或出度link。其中,在一个实施例中,link是电子地图中存储道路的单位,一条link表示一条路段,在电子地图路网数据中,每一个link都有自己的一个唯一标识。其中,在一个实施例中,在电子地图路网数据中,每个link都有与其直接相连的link,称为直连link(包括入度link和/或出度link)。若两条路径中能够通过这两条路径上的link的入度link和/或出度link关联起来,则这两条路径可以视为具有关联关系。针对任一link,该link的出度link指从该link出发能够直接到达的link(即指将该link的终点作为起点的link);该link的入度link是指能够到达该link,且与该link直接相连的link(即将该link起点作为终点的link。为便于理解,如图4所示:ca之间的link为link1,且c为起点,a为终点;ab之间的link为link2,且a为起点,b为终点;bd之间的link为link3,且b为起点,d为终点。则link3为link2的出度link,link1为link2的入度link。步骤302:针对第一路径中的每个link,判断该link的link标识是否在第一集合中。步骤303:若是,则将该link的link标识放入第二集合中。当判断结果为是时,说明第一路径上的该link与第二路径相邻或相交,则应该将该link视为相似link放入第二集合中。步骤304:根据第二集合中各link标识对应的link的长度之和、第一路径的长度以及第二路径的长度,确定第一路径与第二路径是否为相似路径。其中,在一个实施例中,步骤304可以包括以下步骤:步骤a1:计算第二集合中各link标识对应的link的长度之和。例如,第二集合中共有n个link标识,由于每个link标识对应一个link,那么步骤a1为计算这n个link的长度之和。其中,n为大于或等于0的整数。当然,若第二集合为空集,则长度之和为0。步骤a2:计算长度之和与第一路径的长度的第一比值;并计算长度之和与第二路径的长度的第二比值。例如,若长度之和为l,第一路径的长度为l1,第二路径的长度为l2;则第一比值为(l/l1),第二比值为(l/l2)。当然比值也可以使用百分数来表示,本发明实施例对此不做限定。步骤a3:若第一比值和第二比值中至少有一个比值大于预设比值,则确定第一路径和第二路径为相似路径。例如,若第一比值大于预设比值,则确定第一路径和第二路径为相似路径;若第二比值大于预设比值,则确定第一路径和第二路径为相似路径。其中,在一个实施例中,步骤304还可以执行为:首先计算第二集合中各link标识对应的link的长度之和,并计算第一路径和第二路径的长度的平均值;然后,计算长度之和与长度平均值的比值是否大于预设比值,若是,则确定第一路径和第二路径为相似路径。当然,具体实施时,也可以是获取与第一路径的长度对应的权重值,以及与第二路径的长度对应的权重值,然后通过加权求和的方式得到路径长度参考值,然后计算长度之和与路径长度参考值之间的比值,若该比值大于预置比值,则确定第一路径和第二路径为相似路径。当然,需要说明的是,还可以根据现有技术的方法根据长度之和、第一路径的长度和第二路径的长度确定第一路径和第二路径是否为相似路径,本发明实施例对此不做限定。本发明实施例中,针对待确定是否相似的两条路径,参考其中一条路径的直连link判断两条路径上的路段是否重合。例如,若第一路径上的linka与 第二路径上的link或第二路径的直连link相同,则确定linka属于重合路段,这样,使得最终的判断结果相当于将重合的路段,以及直连的路段均视为重合路段,实现了将距离较近的路段判断为重合路段,有利于将距离较近的路径判定为相似路径,这样不仅适用于特殊的路径(如主辅路),也使得判断的结果更加符合实际的情况,从而可以提高确定具有关联关系的两条路径的相似度的准确性,从而提高判断两条路径是否为相似路径的准确性,能够使得推荐给用户的路径更加合理。为便于理解,下面对本发明实施例中相似路径的判定方法作进一步说明,包括以下内容:1)、其中,在一个实施例中,为了便于更加准确的判定第一路径和第二路径是否为相似路径,本发明实施例中,若步骤302的判断结果为否(即若针对第一路径中的每个link,该link的link标识不在第一集合中),本发明实施例中,还可以继续执行以下步骤:步骤b1:获取该link的直连link的link标识。步骤b2:判断该link的直连link的link标识中是否有至少一个在第一集合中。步骤b3:若是,则返回执行步骤303(即将该link的link标识放入第二集合中)。当然,需要说明的是,具体实施时,还可以进一步在对第一路径中的所有link都执行步骤302(即判断其标识是否在第一集合)之后,并记录下第一路径中link标识不在第一集合中的所有link标识,形成第三集合,然后针对第三集合中的每个link标识对应的link,执行步骤b1-步骤b3。例如,第一link中包括编号分别为1、2、3的三条link,将这三条link均判断其标识是否在第一集合中之后,确定编号为1和3的两条link的标识不在第一集合中,然后对这两条link继续执行步骤b1。具体实施时时,何时执行步骤b1,可以根据实际情况确定,本发明实施例对此不做限定。这样,针对第一路径中的每个link,若该link的link标识不在第一集合中,则进一步判断该link的直连link的link标识是否有至少一个在第一集合中,若是,则说明该link与第二路径相邻或者相交,那么该link也应该算是相似link,并放入第二集合中。这样,本发明实施例中,不光参考第二路径的直连link,还进一步参考第一路径的直连link,用于判定第一路径和第二路径是否相似,可以进一步提高判定结果的准确性。2)、其中,在一个实施例中,若将第二路径中所有link的link标识均放入第一集合中,并将第二路径中每个路段的直连路段的路段标识放入第一集合中,这样,第一集合中可能会存在相同的link标识。例如如图4所示,若link1、link2和link3构成一条路径(记为路径a),link3作为路径a中的link放入第一集合中,还可能作为link2的直连link放入第一集合中,则link3在第一集合中将重复出现。这样,导致第一集合中元素数量较多,导致步骤302(即针对第一路径中的每个link,判断该link的link标识是否在第一集合中)的执行效率低。故此,本发明实施例中为提高步骤302的执行效率,在步骤301之后,以及步骤302之前,还可以针对第一集合中的每个link标识,判断该link标识是否有至少两个;若是,则在第一集合中将该link标识仅保留一个。例如link3在第一集合中有两个,则删除其中一个,仅保留一个link3。这样,能够减少第一集合中元素的数量,提高步骤302的执行效率,进而提高判定两条路径是否为相似路径的效率。3)、其中,在一个实施例中,在电子地图路网数据中,针对每个link,通常会存储该link的直连指针,包括入度指针和/或出度指针,以便于确定该link的出度link和/或入度link。具体的,入度指针中包括了入度link起始地址和入度link结束地址;出度指针中包括了出度link起始地址和出度link结束地址。故此,本发明实施例中,针对第一路径中的每个link或第二路径中的每个link,获取该link的直连link的link标识,可具体执行为以下步骤:步骤b1:获取该link的入度link起始地址,以及入度link结束地址;从入度link地址与入度link的link标识的第一对应关系中,获取入度link起始地址与入度link结束地址之间的各入度link地址对应的各入度link的link标识,并获取入度link起始地址、入度link结束地址各自对应的各入度link的link标识。和,或,步骤b2:获取该link的出度link起始地址,以及出度link结束地址;从出度link地址与出度link标识的第二对应关系中,获取出度link起始地址与出度link结束地址之间的各出度link地址对应的各出度link标识,并获取出度link起始地址、出度link结束地址各自对应的各出度link标识。其中,当直连link中仅包括入度link时,仅执行步骤b1即可。同理,当直连link中仅包括出度link时,仅执行步骤b2即可。若直连link中包括入度link和出度link时,执行步骤b1和步骤b2,且步骤b1和步骤b2的执行顺序不受限。其中,直连link包括出度link和入度link时,针对任一link,若该link仅有出度link,则仅获取该出度link的link标识即可;同理,若该link仅有入度link时,则仅获取该入度link的link标识即可。为便于理解,这里对获取入度link的link标识的方法进行举例说明:针对linkf,如表1所示,为该linkf的部分参数。需要说明的是,表1仅用来说明本发明实施例,并不用来限定本发明。表1link标识入度link起始地址入度link结束地址linkf15则入度link起始地址与入度link结束地址之间的各入度link地址可包括2、3、4。若第一对应关系如下表2所示,需要说明的是,表2仅用来说明本 发明实施例,并不用来限定本发明。表2根据表2,则linkf的入度link的link标识包括a1、b1、c1、d1、e1。获取出度link标识的方法类似,在此不再赘述。4)、这里以一具体实施例说明本发明实施例的效果,如图5所示,为光华路soho—北京市朝阳区兴隆公园的两条路径的示意图。其中,最短的一条路径的长度为14682米,根据现有技术,确定的相似路段的长度为11599米,则现有技术确定的相似度为79%,若预设比值为80%,则现有技术确定这两条路径不为相似路径。而采用本发明实施例的方法,相似路段的长度为12480米,相似度为85%,则确定这两条路径为相似路径。可见本发明实施例提供的相似路径的判定方法更加准确。实施例二基于相同的发明构思,本发明实施例还提供一种相似路径的判定装置,如图6所示,为该装置的结构示意图,包括:第一标识获取模块601,用于根据待确定是否相似的第一路径和第二路径获取第一集合,其中第一集合中包括第二路径中所有路段的路段标识,以及,第二路径中每个路段的直连路段的路段标识,其中,直连路段包括入度 路段和/或出度路段;第一判断模块602,用于针对第一路径中的每个路段,判断该路段的路段标识是否在第一集合中;存储模块603,用于若第一判断模块的判断结果为是,则将该link的link标识放入第二集合中;相似路径判定模块604,用于根据第二集合中各link标识对应的link的长度之和、第一路径的长度以及第二路径的长度,确定第一路径与第二路径是否为相似路径。其中,在一个实施例中,如图6所示,所述相似路径判定模块604,具体包括:长度计算单元605,用于计算第二集合中各link标识对应的link的长度之和;相似度计算单元606,用于计算长度之和与第一路径的长度的第一比值;并计算长度之和与第二路径的长度的第二比值;相似判定单元607,用于若第一比值和第二比值中至少有一个比值大于预设比值,则确定第一路径和第二路径为相似路径。其中,在一个实施例中,如图6所示,所述装置还包括:第二标识获取模块608,用于若针对第一路径中的每个link,该link的link标识不在第一集合中,获取该link的直连link的link标识;第二判断模块609,用于判断该link的直连link的link标识中是否有至少一个在第一集合中;触发模块610,用于若第二判断模块的判断结果为是,则触发存储模块执行将该link的link标识放入第二集合中的步骤。其中,在一个实施例中,如图6所示,所述装置还包括:第三判断模块611,用于第一标识获取模块获取第一集合之后,针对第一集合中的每个link标识,判断该link标识是否有至少两个;排重模块612,用于若第三判断模块的判断结果为是,则在第一集合中将该link标识仅保留一个。其中,在一个实施例中,第一标识获取模块或第二标识获取模块,具体用于,针对任一link,根据以下方法获取该link的直连link的link标识:获取该link的入度link起始地址,以及入度link结束地址;从入度link地址与入度link的link标识的第一对应关系中,获取入度link起始地址与入度link结束地址之间的各入度link地址对应的各入度link的link标识,并获取入度link起始地址、入度link结束地址各自对应的各入度link的link标识;和/或,获取该link的出度link起始地址,以及出度link结束地址;从出度link地址与出度link的link标识的第二对应关系中,获取出度link起始地址与出度link结束地址之间的各出度link地址对应的各出度link的link标识,并获取出度link起始地址、出度link结束地址各自对应的各出度link的link标识。本发明实施例中,针对待确定是否相似的两条路径,参考其中一条路径的直连link判断两条路径上的路段是否重合。例如,若第一路径上的linka与第二路径上的link或第二路径的直连link相同,则确定linka属于重合路段,这样,使得最终的判断结果相当于将重合的路段,以及直连的路段均视为重合路段,实现了将距离较近的路段判断为重合路段,有利于将距离较近的路径判定为相似路径,这样不仅适用于特殊的路径(如主辅路),也使得判断的结果更加符合实际的情况,从而可以提高具有关联关系的两条路径的相似度的准确性,从而提高判断两条路径是否为相似路径的准确性,能够使得推荐给用户的路径更加合理。关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、 或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。本发明是参照根据本发明实施例的方法、装置(装置)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理装置的处理器以产生一个机器,使得通过计算机或其他可编程数据处理装置的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理装置以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理装置上,使得在计算机或其他可编程装置上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程装置上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1