发明内容
根据本发明的第一方面,提供一种路线比较的计算机实施的方法,其包括:
接收指示起始位置与目的地位置之间的第一及第二路线的数据,其中使用数字地图数据产生所述第一及第二路线;
确定所述第一及第二路线的具有最小耦合距离的节点,其中基于所述第一及第二路线的被约束为在每一路线的当前节点的预定距离内的节点而确定所述最小耦合距离;及
基于所述最小耦合距离及阈值耦合距离而确定所述第一与第二路线的相似性指数。
可基于每一路线的所述当前节点及所述路线的预定数目个其它节点而确定具有所述最小耦合距离的所述节点。可基于每一路线的所述当前节点及所述路线的一个其它节点而确定具有所述最小耦合距离的所述节点。可通过计算所述第一及第二路线的在所述当前节点的所述预定距离内的所述节点之间的耦合距离而确定具有所述最小耦合距离的所述节点。可在不计算所述第一及第二路线的所有节点组合之间的耦合距离的情况下确定具有所述最小耦合距离的所述节点。可通过仅计算在所述第一及第二路线的节点组合的子集之间的耦合距离而确定具有所述最小耦合距离的所述节点。确定具有所述最小耦合距离的节点的所述步骤可包括从在每一路线的所述当前节点的所述预定距离内的所述节点当中选择每一路线的节点。
确定所述第一与第二路线的所述相似性指数的所述步骤可包括将每一对节点的所述耦合距离与所述阈值耦合距离进行比较。本发明的所述方法可包括确定在所述阈值耦合距离内的节点对的总数目。所述相似性指数可指示在所述阈值耦合距离内的节点的百分比。
可使用第一地图数据库产生所述第一路线且可使用第二地图数据库产生所述第二路线;所述第一地图数据库可与所述第二地图数据库相同,或为所述第二地图数据库的不同版本。
本发明的所述方法可包括对指示所述第一及第二路线的所述数据进行内插,使得每一路线至少每预定距离包括一节点。
将了解,可至少部分地使用软件实施根据本发明的所述方法。将看到,当从进一步方面观看时,本发明扩展到一种包括计算机可读指令的计算机程序产品,所述计算机可读指令经调适以在于适合数据处理机构上执行时实施本文中所描述的方法中的任何或所有方法。本发明也扩展到包括此类软件的计算机软件载体。此软件载体可为物理(或非暂时性)存储媒体或可为例如导线上的电子信号、光信号或(例如)到卫星或类似物的无线电信号的信号。
根据本发明的另一方面,提供一种计算装置,其包括:
存储器,其存储指示起始位置与目的地位置之间的第一及第二路线的数据,其中使用数字地图数据产生所述第一及第二路线;及
处理器,其经布置以:通过确定所述第一及第二路线的具有最小耦合距离的节点而执行路线比较模块,其中基于所述第一及第二路线的被约束为在每一路线的当前节点的预定距离内的节点而确定所述最小耦合距离;及基于所述最小耦合距离及阈值耦合距离而确定所述第一与第二路线的相似性指数。
在这些方面中的任一者中,本发明可包含关于本发明的第一方面所描述的任何或全部特征且反之亦然(就所述特征不会互相不一致来说)。因此,如果本文中未明确陈述,那么根据本发明的服务器及/或移动装置可包括用于实施所描述的方法的步骤中的任何步骤的构件。
用于所述方法的所述步骤中的任何步骤的所述构件可包括经配置(例如,经编程)以用于进行所述步骤的一或多个处理器的集合。可使用相同或不同于任何其它步骤的处理器集合实施给定步骤。可使用处理器集合的组合实施任何给定步骤。
所述计算装置可为包括用于确定所述第一及第二路线的导航软件的便携式装置。
所述计算装置可为经布置以从一或多个无线装置接收指示第一及第二路线的所述数据的计算机。
本发明根据其进一步方面或实施例中的任何者可包含参考本发明的其它方面或实施例所描述的特征中的任何者(就所述特征不会相互不一致来说)。
下文中陈述这些实施例的优点,且这些实施例中的每一者的进一步细节及特征定义于所附权利要求书中及以下实施方式中别处。
具体实施方式
本发明的实施例确定两个路线之间的耦合距离。基于在预定距离内的多段线节点而确定所述耦合距离。就是说,与在其中确定所有多段线节点之间的最小距离的现有技术方法中不同,将本发明的实施例约束为仅考虑预定数目个节点内的节点,如将阐释。有利地,本发明的实施例可使用较少计算资源(例如,处理器功率及/或存储器)来确定最小耦合距离。矩阵可在现有技术中用于存储路线中的所有节点组合之间的耦合距离,然而本发明的实施例仅部分地计算节点之间的耦合距离,即部分地填充矩阵。因此,本发明的实施例需要较少计算及较少存储器使用,如将了解。
图1图解说明根据本发明的实施例的方法100。方法100为确定第一与第二路线的相似性的方法。所述第一及第二路线为在起始位置与目的地位置之间确定的路线。在一些实施例中,可关于第一及第二地图数据库确定所述第一及第二路线。然而,在其它实施例中,可使用不同路线计划软件(例如,相同路线计划软件的不同版本或来自不同公司的软件)确定所述第一及第二路线。
可由计算装置的路线比较模块执行方法100。所述计算装置可为便携式计算装置,例如移动电话、平板或膝上型计算机、便携式数字助理或类似物。所述便携式计算装置可包含用于提供例如路线计划的导航装置功能性且提供导航指令给用户的软件。或者,所述便携式计算装置可为例如通腾国际有限公司所提供的专用导航装置。将认识到,这些仅为便携式计算装置的实例且本发明的实施例在此方面不受限制。将认识到,此些便携式计算装置可具有相对有限计算资源,例如处理器功率及/或存储器或者数据存储容量。因此,本发明的实施例在减少对这些计算资源的负载时可为有用的。或者,可由计算机系统(例如,可以可通信方式耦合到一或多个便携式计算装置以接收指示第一及第二路线的路线数据的服务器)的路线比较模块执行方法100的实施例。或者,所述计算机系统可耦合到第一及第二地图数据源(例如,第一及第二地图数据库)。
所述方法包括如下的步骤110:接收指示起始位置与目的地位置之间的第一路线的路线数据及指示起始位置与目的地位置之间的第二路线的数据。
可由路线比较模块从计算装置或计算机系统的另一模块接收指示第一及第二路线的路线数据。举例来说,在一个实施例中,所述路线比较模块可从计算装置或计算机系统的路线确定模块接收路线数据,或在另一实施例中,所述路线比较模块可从计算机系统的通信模块接收路线数据,从而充当从一或多个便携式计算装置或者从以可通信方式耦合到第一及第二地图数据库的地图数据库比较模块接收路线数据的代理。所述第一及第二地图数据库可包括不同版本或来自不同源的地图数据。因此,将了解,步骤110未必暗示:从在执行路线比较模块的装置或系统外部的源接收路线数据。
图2图解说明数字地图数据中的起始位置210及目的地位置220。第一路线230已在起始位置210与目的地位置220之间经确定,且在步骤110中接收的路线数据指示第一路线。类似地,第二路线240已在起始位置210与目的地位置220之间经确定。可已使用不同路线计划软件(例如,基于不同路由准则)及相同地图数据来确定第一路线230及第二路线240。或者,可基于关于第一及第二地图数据的相同路由准则而确定所述第一及第二路线。在任一情况下,所述第一及第二路线通常将为相似的,但在至少一些路段中不同。
步骤120包括对第一及第二路线数据进行内插。步骤120以预定距离间隔给每一路线提供节点。就是说,步骤120确保每一路线包括在每一预定距离间隔内的至少一个节点。
在一些实施例中,每一路线可表示为例如由数学方程式指示的一或多个曲线。在这些情形中,步骤120可包括将曲线转换为多段线,即将路线表示为由近似每一路线的一或多个曲线的多个线段形成。在此情形中,每一线段具有预定间隔的最大长度。
在其它实施例中,所接收路线可由多个线段形成。在这些实施例中,步骤120可包括检查每一线段小于预定距离。如果一或多个线段长于预定距离,使得线段的末端处的节点间隔开多于预定距离,那么步骤120包括对线段进行内插以引入额外节点。所述额外节点可以预定距离的间隔间隔开,或使得每一线段至少每预定距离包括一节点。所述预定距离可为n米,其中n经选择以平衡方法100的计算资源要求与路线比较的精确度。举例来说,n可为500米,但此仅为示范性的。
图3图解说明指示第一经内插路线310及第二经内插路线320的路线数据。第一路线A包括指示为A[1]、A[2]、…A[n]的多个节点且第二路线B包括指示为B[1]、B[2]、…B[m]的多个节点。将注意,出于说明性目的,图3中所展示的路线的部分为第一路线310及第二路线320的不包括起始或目的地节点的中间部分。
步骤130包括确定来自第一及第二路线的将连接的节点对,其中来自每一路线的形成节点对的节点具有最小耦合距离。待连接的节点选自约束节点集合。将参考图4阐释步骤130的实施例。
图4中所图解说明的方法的步骤410包括确定约束节点集合的可能连接。约束节点集合包括来自每一路线的当前节点及形成每一路线的从当前节点起在路线的向前方向上连续的一或多个额外节点。在一个实施例中,约束节点集合包括每一路线的当前节点及当前节点向前的一个节点(即,下一节点),但在其它实施例中约束集合可包括其它向前的节点,举例来说从当前节点起向前的两个节点。
再次参考图3,节点A[1]及B[1]最初可被认为是每一路线的当前节点。所述当前节点可分别称为节点A[n-1]及B[m-1]。所述当前节点为当前连接(如连接331所图解说明)的那些节点。在所描述的示范性实施例中,从其确定待连接的接下来节点的节点集合包含节点A[n]及B[m],但在其它实施例中可包括如上所述的其它节点。因此,在示范性实施例中,节点集合包括节点A[1]、B[1]、A[2]及B[2]。
在步骤410中,确定约束节点集合的所有可能连接组合。在示范性实施例中,可能连接为A[1]与B[2];A[2]与B[1];及A[2]与B[2]。在步骤410中,确定节点对之间的每一可能连接的长度。
在步骤420、430、440中,选择在步骤410中确定的那些连接中的最短长度连接。如将了解,循序地执行步骤420、430、440,直到找出约束集合中的节点之间的连接中的最短连接且接着执行步骤425、435、445中的一者。
再次参考图3,在所图解说明的实例中,最短连接在节点A[2]与B[1]之间,因此方法移动到步骤435。
在步骤435中,通过使路线A中的当前节点递增1(即A++)而选择节点A[2]与B[1]之间的连接作为下一连接,表示为参考332。
在图4中所展示的方法关于图3中所展示的节点的下一反复中,在步骤420中确定(记住,在此反复中当前节点A[n-1]及B[m-1]为节点A[2]及B[1])最短连接在节点A[n]到B[m]之间且方法移动到步骤425。在步骤425中,其中最短连接为A[n]到B[m],即在每一路线中邻近当前节点或从当前节点前进一个节点的节点之间,那么两个路线中的当前节点前进到下一节点,即通过使A及B中的两个节点递增为A++及B++。此在图3中通过A[3]与B[2]之间的下一连接333来图解说明。
当一个路线的当前节点到达路线中的最后节点时,那么图4中所展示的方法经调适以确保循序地选择另一路线中的接下来节点。当两个路线中的当前节点为最后节点时,那么图4的方法结束。
因此,参考图3及4可了解步骤130如何基于每一路线的当前节点而从约束节点集合选择连接(与如在可计算上低效的现有技术方法中确定所有节点之间的连接对比)。作为步骤130的结果,确定连接集合,例如包括连接331、332、333及经计算以表示根据本发明的实施例确定的最短耦合距离的其它连接。
图5及6图解说明沿着数字地图数据的路段的第一及第二路线的部分。第一及第二路线在图5中表示为510及520,且在图6中表示为610及620。如可了解,第一路线510、610及第二路线520、620针对所展示的路线的部分偏离以下不同路段。图5及6中也分别图解说明节点对之间的耦合530及630,从图5及6可观察到:每一路线中的一些节点耦合到另一路线中的多个节点。
在步骤140中,将在步骤130中确定的连接中的每一者与阈值耦合距离(TCD)进行比较。阈值耦合距离经选择为最大耦合距离,在所述最大耦合距离下第一及第二路线被认为相似的。换句话说,如果超过阈值耦合距离,那么所述路线被认为在此位置处不相似。举例来说,如果连接A[2]到B[1]的长度>TCD,那么指示超过阈值的连接的数目的变量的值(CTE)针对在长度上超过TCD的每一连接递增1(即,CTE++)。
在一些实施例中,尤其在第一路线基于第一地图数据且第二路线基于第二地图数据(其中第一及第二地图数据展现具有已知移位距离的移位)的情况下,TCD可包含所述移位距离,使得其从第一与第二路线的比较经排除。
在步骤150中,基于CTE而针对第一及第二路线确定相似性指数。所述相似性指数指示第一与第二路线的相似程度。所述相似程度指示第一及第二路线相互跟随的紧密程度。在一个示范性实施例中,较高相似性指数指示两个路线完全不同,即在每一节点处彻底偏离多于TCD,然而较低值指示路线为相似的。
在一个实施例中,相似性指数S可经计算为:
其中Total_connections为节点对之间的连接的总数。因此,S为基于根据本发明的实施例确定的耦合距离而表达第一与第二路线的相似性的百分比值。
举例来说,如果在1000km路线中存在第一与第二路线之间的几米的差异,那么S将大致为0.001%,此指示所述路线为实质上相似的。
将了解,本发明的实施例提供用于基于路线之间的几何形状的比较而确定关于数字地图数据确定的路线的相似性的计算机实施的方法及设备。本发明的实施例允许执行通过不同路线计算算法使用相同数字地图数据确定的路线比较及/或通过相同路线计算算法使用不同数字地图数据确定的路线比较。换句话说,本发明的实施例可用作(举例来说)数字地图数据及/或路线计算算法的自动测试程序的一部分,或用于证实对导航装置的经下载递增地图更新。此外,本发明的实施例通过计算节点之间的经减少数目个连接而利用较少计算资源(例如数据存储要求,例如存储容量)及处理资源。本发明的实施例允许计算弗雷歇距离的近似值,所述弗雷歇距离具有线性地而非以二次方式(如在现有技术中)缩放的计算复杂性。
将理解,可以硬件、软件或硬件与软件的组合的形式实现本发明的实施例。任何此类软件可以挥发性或非挥发性存储装置(例如,举例来说,如ROM的存储装置,无论是否为可擦除或可重新写入)的形式或以存储器(例如,举例来说,RAM、存储器芯片、装置或积体电路)的形式或在光学或磁性可读媒体(例如,举例来说,CD、DVD、磁盘或磁带)上存储。将了解,存储装置及存储媒体为适合用于存储在执行时实施本发明的实施例的一或多个程序的机器可读存储装置的实施例。因此,实施例提供包括用于实施任一前述权利要求中所请求的系统或方法的编码的程序及存储此程序的机器可读存储装置。更进一步地,可以电子方式经由任何媒体(例如,经由有线或无线连接载运的通信信号)传达本发明的实施例且实施例以适合方式囊括任何媒体。
本说明书(包含任何所附权利要求书、摘要及图式)中所揭示的所有特征及/或如此揭示的任一方法或过程的所有步骤可以任何组合进行组合,但其中此些特征及/或步骤中的至少某些相互排斥的组合除外。
除非另有明确陈述,否则本说明书(包含任何所附权利要求书、摘要及图式)中所揭示的每一特征可由用于相同、等效或相似目的的替代特征代替。因此,除非另有明确说明,否则所揭示的每一特征仅为一系列类属的等效或相似特征的一个实例。
本发明并不限于任一上述实施例的细节。本发明扩展到本说明书(包含任何所附权利要求书、摘要及图式)中所揭示的特征的任何新颖特征或任何新颖组合,或扩展到如此揭示的任何方法或过程的步骤的任何新颖步骤或任何新颖组合。权利要求书不应被理解为仅仅涵盖前述实施例,而且涵盖归属于权利要求书的范围内的任何实施例。