使用具有路线搜索加速数据的地图数据的导航装置的制作方法

文档序号:6001666阅读:146来源:国知局
专利名称:使用具有路线搜索加速数据的地图数据的导航装置的制作方法
技术领域
本发明涉及产生地图数据的计算机化方法及相关系统。明确地说(但非排它地), 所述产生地图数据的方法是用以促进根据预定成本函数在至少两个点之间进行路线规划。 本发明的实施例可产生搜索加速数据,当所述搜索加速数据用于路线规划时,减少产生路线所花费的时间。
背景技术
路线规划装置(常常被称作卫星导航便携式导航装置(PND)或类似者)连同可跨越万维网(WWW)(例如,http://routes, tomtom, com/)而接入的网站一起是众所周知,且允许其用户规划两个点之间的路线。此技术可一般被称作电子路线规划或仅路线规划。用于此电子路线规划的地图数据来自于例如Tele阿特拉斯NV (Tele Atlas NV) 等专业地图供货商。当在PND上执行此路线规划时通常会使用来自GPS系统的所在地数据。 然而,其它应用程序可允许用户输入其所在地或为了路线选择规划(routing planning)的目的要考虑的其它点。此地图数据包含多条道路(及其它可导航路径),其可被描述为线-即,向量或道路段(例如,起点、终点、道路的方向,其中整条道路由成千上百个这些段构成,每一段由起点/终点方向参数唯一地界定)。地图就是这些道路向量、与每一向量相关联的数据(速度限制;行进方向等)加关注点(POI)加道路名称加其它地理特征(如停车场边界、河流边界等)的集合,其全部依据向量加以界定。通常在与GPS坐标系对应或与GPS坐标系有关的坐标系中界定所有地图特征(例如,道路向量、POI等),从而使得如经由GPS系统而确定的装置的位置能够被定位于地图中所展示的相关道路上且允许规划到目的地的最佳路线。此地图数据可为广泛的。已知某些地图覆盖具有超过120,000,000个向量的区域,且此地图数据的实例将为覆盖欧洲及俄罗斯的区域的地图。因而,使用此地图数据来规划路线是复杂的且可能是耗时的。并且,已知此路线规划为在精确性与时间之间的折衷。已考虑了在改进可进行路线选择的速度方面的想法的现有技术包括US 6,636,800,其论述对适合小得多的地图大小(例如,西欧高速公路网(其具有大约400,000 个向量))的A*最佳优先搜索策略的改进。

发明内容
根据本发明的第一方面,提供一种产生包括搜索加速数据的地图数据的方法,所述搜索加速数据经布置以增加可在包含多个可导航段的电子地图上规划路线的速度,每一可导航段表示在由所述地图覆盖的区域中的可导航路线的一段,其中所述方法包含a)通过移除可导航段以形成可导航段的核心网络而减小在所述产生所述搜索加速数据的过程中要考虑的可导航段的数目;b)将所述电子地图划分成层级式区的集合,使得所述可导航段或每一可导航段被分类到所述层级的每一等级中的至少一个区中;
c)使用与所述核心网络中的至少一些可导航段且通常每一可导航段相关联的时变函数来确定所述可导航段是否为到所述区中的至少一者的最小成本路线的部分,且将此确定记录在所述搜索加速数据中;及d)产生地图数据。相信此方法为有利的,因为其允许比现有技术方法更迅速地计算搜索加速数据。 相应地,相信所述搜索加速数据为有利的,因为其允许更迅速地执行使用所述地图数据进行的路线规划。通常,将所述搜索加速数据计算为多个位向量。本发明的一些实施例可经由所述搜索加速数据的位来计算(指示)道路段是否为从起点可导航段到目的地区的最小成本路线的部分。所属领域的技术人员将了解,通常所述地图数据内的每一可导航段(或可能为节点)具有与之相关联的时变函数。举例来说,时变函数可包含在各个时间间隔处可导航段上的平均速度。举例来说,可按5分钟间隔或其类似者指定平均速度。方便地,通过移除其搜索加速数据稍后可被恢复的可导航段而产生所述核心网络。此方法为有利的,因为其允许确定所述电子地图内的大体上所有可导航段的搜索加速数据,藉此使从所述地图内的任何可导航段的路线规划加速。本发明的一些实施例可利用以下技术中的任一者或一者以上以在所述产生所述搜索加速数据之前从电子地图移除可导航段·满足与道路性质有关的预定准则;·从所述网络移除形成所述网络的部分的根据某一预定准则为足够小且可通过移除满足某另一预定准则的可导航段的集合而与所述网络的剩余部分中断连接的可导航段; 在预定情形下,将在可导航段之间的接点处出现的节点一者折叠到另一者上;及·在节点具有连接到其的两个或两个以下可导航段的情况下,将所述节点一者折
叠到另一者上。相信此些技术为有利的,因为其减少了需要在搜索加速数据的产生期间考虑的可导航段的数目,这增加(可能显著增加)可产生搜索加速数据的速度。额外或替代地,本发明的实施例可利用以下技术中的任一者或一者以上来一旦产生搜索加速数据就压缩所述搜索加速数据·计算所述搜索加速数据中的位对的相关性;·以无损方式聚结所述搜索加速数据中的大体上相关的位,以便减小要编码的位的数目;·聚结所述搜索加速数据中的相关位以便执行有损压缩;·将经聚结的搜索加速数据中的位根据其相关性进行重新排序;·对所述搜索加速数据进行霍夫曼编码。在一些实施例中,大体上相关的位可被认为几乎彼此相关;S卩,将被压缩的搜索加速数据之间可能存在较小的差别。可根据预定准则调谐会被聚结的搜索加速数据的接近性。因此,本发明的实施此有损聚结的实施例进一步减小由搜索加速数据所占用的存储器占据面积,而代价为增加了执行使用所述搜索加速数据的路线规划所需的处理。
将搜索加速数据重新排序的实施例为有利的,因为可增加霍夫曼压缩可压缩搜索加速数据的效率。根据本发明的第二方面,提供一种产生地图数据的方法,所述地图数据包括经布置以增加可在电子地图上规划路线的速度的搜索加速数据,所述方法包含使用至少一个处理设备来处理所述包含多个可导航段的电子地图,所述多个可导航段表示在由所述地图覆盖的区域中的可导航路线的段,所述方法包含致使所述处理设备a.处理所述可导航段以便通过移除可导航段以形成可导航段的核心网络而减小在所述产生所述搜索加速数据的过程中要考虑的可导航段的数目;b.产生所述核心网络中的至少一些可导航段且通常每一可导航段的搜索加速数据,其指示所述可导航段是否为最小成本路线的部分;且其中步骤a.包括以下各项中的任一者或一者以上·满足与道路性质有关的预定准则;·从所述网络移除形成所述网络的部分的根据某一预定准则为足够小且可通过移除满足某另一预定准则的可导航段的集合而与所述网络的剩余部分中断连接的可导航段; 在预定情形下,将在可导航段之间的接点处出现的节点一者折叠到另一者上;及·在节点具有连接到其的两个或两个以下可导航段的情况下,将所述节点一者折
叠到另一者上。根据本发明的第三方面,提供一种产生地图数据的方法,所述地图数据包括经布置以增加可在电子地图上规划路线的速度的搜索加速数据,所述方法包含使用至少一个处理设备来处理电子地图(其包括多个可导航段),所述多个可导航段各自具有与其相关联的多个节点,表示在由所述地图覆盖的区域中的可导航路线的区段,且具有与其相关联的表示所述可导航路线的参数的至少一个属性,所述方法包含a)评估所述至少一个属性;b)将所述电子地图划分成层级式区的集合,使得所述可导航段或每一可导航段被分类到所述层级的每一等级中的至少一个区中,其中所述分类使用步骤a.的所述评估以确保与所述可导航段相关联的所述节点在所述电子地图的所述区上得以平衡;c)产生所述地图数据。此方法的优点是,其可有助于平衡散布在所述区中的每一者之间的可导航段的数目,此又可有助于增加所述搜索加速数据的有效性。可反复执行步骤a)及步骤b),直到满足测量所述节点越过所述区的平衡的预定准则为止。举例来说,关于可在给定区中出现的可导航段的数目的上阈值可为此准则。此措施可有助于确保较迅速地计算搜索加速数据;如果所述区含有其中所含有的可导航段的不平衡,那么可计算搜索加速数据的速度可受到损害。属性可包括以下各项中的任一者·可导航段的类型;·沿着可导航段的平均速度;·可导航段的长度;·所述段与其它可导航段的连接性。
所述方法可经布置以确定行程时间将慢于预定阈值的地图区,且可进一步将所述区内的可导航段与所述电子地图的其它区分离。所述方法可经配置以将为岛屿的部分的可导航段与电子地图的其它区分离,可通过确定所述可导航段的属性为轮渡航线来执行此步骤。此方法为有利的,因为行进到此些岛屿可比到所述电子地图的其它区慢,且包括此些岛屿可损害搜索加速数据的有效性且/ 或可使搜索加速数据的计算减缓。根据本发明的第四方面,提供一种产生地图数据的方法,所述地图数据包括经布置以增加可在电子地图上规划路线的速度的搜索加速数据,所述方法包含使用至少一个处理设备来处理包含多个可导航段的电子地图,所述多个可导航段各自表示在由所述地图覆盖的区域中的可导航路线的段,所述方法包含a)将所述地图划分成属于至少一个较粗略等级及相邻较精细等级的多个层级式区,使得将每一可导航段分类到所述较粗略及较精细等级中的每一者中的至少一个区中, 且其中所述较粗略等级的任一区含有所述较精细等级的多个区;b)针对给定目的地区,通过评估是否应将接近于所述含有所述目的地区的较粗略等级区的区添加到可见度区域且在所述评估为肯定时添加所述区来确定至少包含含有所述目的地区的所述较粗略等级区的所述可见度区域的范围;c)针对至少一些可导航段,计算关于到所述目的地区的至少一个最小成本路线的 fn息;d)其中对导航段的处理包括执行从所述目的地区反过来朝向所述可导航段的反向搜索,且大体上仅包括在所述目的地区的所述可见度区域中的可导航段;及e)产生地图数据。此方法的优点为,对附近区域的使用允许用以产生搜索加速数据的搜索空间受约束,且因而,可产生搜索加速数据的速度得以增加。根据本发明的第五方面,提供一种产生地图数据的方法,所述地图数据包括经布置以增加可在电子地图上规划路线的速度的搜索加速数据,所述方法包含使用至少一个处理设备来处理包含多个可导航段的电子地图,所述多个可导航段各自表示在由所述地图覆盖的区域中的可导航路线的段,所述方法包含a)将所述地图划分成属于至少一较粗略等级及一相邻较精细等级的多个层级式区,以使得将每一可导航段分类到所述较粗略及较精细等级中的每一者中的至少一个区中,且其中所述较粗略等级的任一区含有所述较精细等级的多个区;b)针对给定目的地区,通过评估是否应将接近于所述含有所述目的地区的较粗略等级区的区添加到可见度区域且在所述评估为肯定时添加所述区来确定至少包含含有所述目的地区的所述较粗略等级区的所述可见度区域的范围;c)针对至少一些可导航段,计算关于到所述目的地区的至少一个最小成本路线的 fn息;d)布置所述搜索加速数据以包含关于所述可见度区域中的至少一些且通常每一可导航段到所述目的地区的所述至少一个最小成本路线的信息;及e)产生地图数据。此方法的优点为,使用所述搜索加速数据进行路线规划的执行速度可增加。搜索
11加速数据可被认为是到目的地区的路标。藉此将含有搜索加速数据的区的数目增加到包含于所述附近区域内的区会增加含有到目的地区的“路标”的区的数目。因此,产生搜索加速数据的时间可增加,但使用所述搜索加速数据进行路线规划的性能也将增加。关于区是否接近于含有所述目的地区的较粗略等级区的评估可基于预定准则。此预定准则可为以下各项中的任一者或组合图理论距离、地理距离、行进时间、燃料消耗及 /或C02排放。实际上,在一些实施例中,可确定邻近于含有所述目的地区的较粗略等级区的区为较接近的。添加到可见度区域的区可包含以下各项中的至少一者较粗略等级的一个或一个以上区及较粗略等级的一个或一个以上区的一部分。上述方法中的任一者可在所述搜索加速数据内包括除了所述最小成本路线之外的至少一个额外路线,其中所述额外路线可反映以下各项中的任一者或一者以上·给定出发点与目的地点之间的在不同时间的不同最小成本路线;·针对不同交通情形的在给定出发点与目的地点之间的不同最小成本路线;·根据不同成本函数的在给定出发点与目的地点之间的不同最小成本路线; 针对给定道路网络中的任何动态改变的在给定出发点与目的地点之间的不同最小成本路线;·根据同一成本函数的在给定出发点与目的地点之间的替代路线;及·在彼此类似的方向上的不同目的地点。因而,所述搜索加速数据可包括多个“最小成本”路线,其每一者是大体上对照不同准则而判断的。此方法的优点为,使用最小成本数据的路线规划可针对多种准则而产生
最佳路线。根据本发明的第六方面,提供a)将地图划分成处于层级的一个或一个以上等级处的多个层级式区;b)按所述级层级的次序处理属于层级的特定等级的区中的至少一些区,从最精细等级直到最粗略等级地进行处理,且对于这些区中的至少一些区,确定哪些可导航段进入及/或离开所述区;c)处理所述地图内的所述可导航段中的至少一些可导航段,以确定从所述可导航段到目的地区的至少一个最小成本路线;d)其中所述对可导航段的处理包括执行从所述目的地区反过来朝向所述可导航段的反向搜索;e)在所得搜索图中,对于下一较精细等级处的至少一个区,识别处于所述下一较精细等级的区的集合,使得来自给定区的每一最小成本路径穿过所述集合的所述区中的至少一者,从而产生相关矩阵;f)在所述所得搜索图中,识别哪些可导航段未包含于从不同于其自己的区的区到另一目的地区的任何路径中,所以其可被认为是“非通行段”,且对于后续步骤移除所述非通行段以便减小在所述后续步骤中所考虑的可导航段的数目;g)其中所述产生搜索加速数据包含使用相关矩阵以将搜索加速数据指派给在所有先前步骤中已经移除的所述非通行段;h)产生地图数据。
本发明的上述方面中的任一者可使用一个或一个以上导航装置来产生由至少一系列位置构成的定位数据。在后期,所述方法可处理所述定位数据以从其产生速度概况,所述速度概况相对于时间而变化,其中所述所产生的速度概况与产生所述速度概况的定位数据所出现于的可导航段相关联。根据本发明的第七方面,提供一种导航装置,其经布置以使用其处理器在电子地图上产生路线,其中所述处理器经布置以在所述电子地图上执行路线搜索;在所述搜索期间所处理的表示所述电子地图中的可导航段的节点处的成本计算中,执行对连接到所述节点的可导航段是否被标记为最小成本路线的部分的评估;及如果存在此些可导航段,那么仅探索所述可导航段。所述搜索可折衷例如A*搜索等树型搜索、本文中所描述的任何其它搜索方法,或其类似者。在其它实施例中,所述搜索可包含有向非循环图搜索。根据本发明的第八方面,提供一种在电子地图上产生路线的方法,其包含在图树的表示所述电子地图内的可导航段的节点处所执行的成本计算中执行A*搜索,且包括评估搜索加速数据以确定连接到所述节点的可导航段是否被标记为最小成本路线的部分,且如果存在此些可导航段,那么仅探索所述可导航段。方便地预先产生所述搜索加速数据,且与所述电子地图一起或与所述电子地图相关联地存储所述搜索加速数据。此方法被认为是有利的,因为其可显著增加可在所述电子地图上产生所述路线的速度。根据本发明的第九方面,提供一种导航装置,其经布置以使用其处理器来分析地图数据而在电子地图上产生到目的地的路线,其中所述处理器经布置以·使用保存于所述地图数据中的信息在所述电子地图上执行路线搜索; 在所述搜索期间所处理的表示所述电子地图中的可导航段的节点处的成本计算中,执行对连接到所述节点的可导航段是否在搜索加速数据内被标记为最小成本路线的部分的评估;·其中所述地图数据包括关于是否存在从所述节点到所述目的地的额外搜索加速数据的指示符,所述额外搜索信息提供关于最小成本路线的进一步信息;及·如果所述最小成本数据可用,那么仅探索具有所述搜索加速数据的所述可导航段。此装置为有利的,因为所述提供于所述地图数据中的指示符有助于提供约束由所述导航装置探索的路线数目的信息。所述指示符可包含目的地的可见度区域,且所述导航装置可经布置以在目的地处于可见度区内时利用关于最小成本路线的所述进一步信息。根据本发明的另外方面,可提供经布置以执行上述方法中的任一者的计算设备。根据本发明的另外方面,提供含有指令的机器可读媒体,所述指令在被读取到至少一个机器上时提供上述方法中的任一方法。根据本发明的又另外方面,提供含有指令的机器可读媒体,以致使所述指令被读取到其上的所述机器或每一机器作为本发明的上述方面中的任一者的计算装置来执行。
在并行执行所述方法的实施例中,指令可被读取到多个机器上。所属领域的技术人员将了解,本发明的上述方面的许多特征中的特征可加以必要的变更地应用于本发明的其它方面。在本发明的上述方面中的任一者中,机器可读媒体可包含以下各项中的任一者 软性磁盘、CD ROM、DVD ROM/RAM(包括-R/-RW及+R/+RW)、硬盘驱动器、存储器(包括USB 存储钥匙(memory key)、SD卡、存储棒(TM)、压缩快闪存储卡或其类似者)、磁带、任何其它形式的磁光存储装置、所发射信号(包括因特网下载、FTP传送等等)、导线,或任何其它合适媒体。所属领域的技术人员将了解,可以软件、硬件或固件来执行本文中所描述的方法及/或设备中的许多方法及/或设备。实际上,这三者的组合可适合用于所述想法中的至少一些想法。在本发明的上述方面中的任一者中对地图数据的产生的参考可事实上为任选步骤,且所属领域的技术人员将了解,此步骤对彼方法来说完全可为任选的。根据本发明的又另一方面,提供一种产生搜索加速数据的方法,其包含预处理可导航段以产生所述数据。根据本发明的另一方面,提供一种从定位数据产生地图数据的方法,所述方法包含使用至少一个处理设备来处理包含多个可导航段的电子地图,所述多个可导航段表示在由所述地图覆盖的区域中的可导航路线的段,所述方法包含1.使用一个或一个以上导航装置以产生由至少一系列位置构成的定位数据;2.处理所述定位数据以从其产生速度概况,所述速度概况相对于时间而变化,其中所述所产生的速度概况与产生所述速度概况的定位数据所出现于的可导航段相关联;3.针对所述可导航段中的至少一些产生搜索加速数据,其中所述搜索加速数据针对区中的至少一个区且通常每一区来指示所述可导航段是否包含用以针对预定准则最小化行进到所述区或每一区的成本的路线的部分,其中所述产生使用针对所述预定准则的时变函数;及4.产生地图数据。在本发明的方面中,对节点、线路或道路的参考可被当作对可导航段的参考,且反之亦然,且所属领域的技术人员将了解如何作出必要改变。


现在接着是仅作为实例的参看附图的对本发明的实施例的详细描述。图1为可由导航装置使用的全球定位系统(GPS)的示范性部分的示意性说明;图Ia为便携式导航装置(PND)或任何其它合适导航装置的电子组件的示意性说明;图Ib为安装及/或对接导航装置的布置的示意图;图Ic为由图Ia的导航装置使用的架构堆叠的示意性表示;图2展示如由本发明的实施例产生的实例地图的一部分;图3展示图2的地图,其上展示了用于路线选择的节点;图4展示在处理之后的图2的地图5展示在一些实施例中节点如何被分配到图3的地图的实例;图6说明地图可如何被分割成多个巢式区的实例;图6a说明图6的分割的增强;图7展示由本发明的实施例利用的位向量的实例集合;图7a说明如何在网络的迪科斯彻(Dijkstra)探索期间利用时间分析的信息;图8展示本发明的实施例的文件的实例文件格式;图9展示可如何编码图8的区再映射表及区ID列表的实施例;图10展示如图6中所说明的最粗略巢式区的实例文件格式;图11展示不同于最粗略巢式区的巢式区的实例文件格式;图12示范编码方案内的位的聚结;图13示范聚结位的效应;图14也示范聚结位的效应;图15展示使用现有技术路线选择技术来醒目提示所考虑的路线的地图;图16展示依据本发明的实施例来醒目提示所考虑的路线的地图;图17展示k*搜索方法(现有技术)的实例;图18展示由本发明的至少一些实施例使用的对图17的修改;及图19展示概述本方法的步骤的流程图。
具体实施例方式贯穿以下描述,相同参考数字将用以识别相同部分。贯穿对各个实施例的描述,对参考标号处于19xx系列中的图19的流程图进行了参考。图1示意性地展示全球定位系统(GPS),全球定位系统(GPS)为基于卫星-无线电的导航系统,其可用以确定无限数目个用户的连续位置、速度、时间,及(在一些情况下)方向信息。过去被称为NAVSTAR的GPS并入有在极其精确的轨道中绕地球运转的多个卫星。 基于这些精确轨道,GPS卫星可将其所在地作为GPS数据中继到任何数目个接收单元。然而,将理解,可使用例如GL0SNASS、欧洲伽利略Galileo)定位系统、COMPASS定位系统或 IRNSS(印度区域导航卫星系统)等全球定位系统。当经专门配备以接收GPS数据的装置开始扫描无线电频率以寻找GPS卫星信号时,实施GPS系统。在从GPS卫星接收到无线电信号后,所述装置即刻经由多种不同常规方法中的一者来确定所述卫星的精确所在地。在多数情况下,所述装置将继续扫描以寻找信号,直到其已获得至少三个不同的卫星信号(注意,可使用其它三角测量技术通过仅两个信号来确定位置,虽然这并非常例)。在实施几何三角测量的情况下,接收器利用三个已知的位置来确定其自己相对于所述卫星的二维位置。可以已知方式进行此确定。另外,获得第四卫星信号允许接收装置以已知方式通过相同几何计算来计算其三维位置。无限数目个用户可在连续基础上实时更新位置及速度数据。如图1中所展示,GPS系统100包含围绕地球104运转的多个卫星102。GPS接收器106从所述多个卫星102中的若干卫星接收作为扩频GPS卫星数据信号108的GPS数据。 扩频数据信号108从每一卫星102连续地发射,所发射的扩频数据信号108各自包含数据流,所述数据流包括识别所述数据流所源于的特定卫星102的信息。GPS接收器106通常需
15要来自至少三个卫星102的扩频数据信号108,以便能够计算二维位置。对第四扩频数据信号的接收使GPS接收器106能够使用已知技术计算三维位置。因此,GPS系统允许具有GPS接收器106的装置的用户将其在地球上的位置确定到几米范围内。为了利用此信息,常见做法是依赖于允许在其上展示用户的位置的电子地图。例如iTeleAtlas (http//www. teleatlas. com)等提供商示范此些地图。此些电子地图不仅允许使用GPS系统(或通过其它方式)将用户的位置展示于电子地图上,而且其允许用户规划行程路线等(路线选择目的)。为了进行此路线规划,由导航装置来处理电子地图,所述导航装置可由通用计算装置提供。导航装置的特定实例包括卫星导航装置(Mt. Nav),其方便地称作便携式导航装置(PND)。然而,应记住,本发明的教示不限于PND,而是可改为普遍适用于经配置以处理电子地图(通常)以便提供路线规划及导航功能性的任何类型的处理装置。因此,由此可见, 在本申请案的背景下,导航装置意在包括(但不限于)任何类型的路线规划及导航装置,无论所述装置是体现为PND、例如汽车等交通工具、便携式计算资源(例如,执行路线规划及导航软件的便携式个人计算机(PC)、移动电话或个人数字助理(PDA))或服务器,或是体现为跨越网络提供此功能性的其它计算装置。在图Ia中展示所述呈PND的形式的导航装置的实例,且应注意,导航装置200的框图不包括所述导航装置的所有组件,而是仅为许多实例组件的代表。导航装置200位于外壳(未图示)内。导航装置200包括处理电路,所述处理电路包含(例如)上文所提到的处理器202,所述处理器202耦合到输入装置204及显示装置(例如,显示屏206)。虽然此处以单数形式提到输入装置204,但所属领域的技术人员应了解,输入装置204表示任何数目个输入装置,包括键盘装置、话音输入装置、触摸面板及/或用以输入信息的任何其它已知输入装置。同样,显示屏206可包括例如液晶显示器(LCD)等任何类型的显示屏。在导航装置200中,处理器202经由连接210而操作性地连接到输入装置204且能够经由连接210从输入装置204接收输入信息,且经由相应的输出连接212而操作性地连接到显示屏206及输出装置208中的至少一者,以将信息输出到所述至少一者。导航装置200可包括输出装置208,例如,可听输出装置(例如,扬声器)。在输出装置208可为导航装置200的用户产生可听信息的同时,应同等地理解,输入装置204还可包括用于接收输入话音命令的麦克风及软件。另外,导航装置200还可包括任何额外输入装置204及/或任何额外输出装置,例如,音频输入/输出装置。处理器202经由连接216而操作性地连接到存储器214,且进一步适于经由连接 220从输入/输出(I/O)端口 218接收信息/将信息发送到输入/输出(I/O)端口 218,其中I/O端口 218可连接到在导航装置200外部的I/O装置222。外部I/O装置222可包括 (但不限于)外部收听装置,例如,听筒(earpiece)。到I/O装置222的连接可另外为到任何其它外部装置(例如汽车立体声单元)的有线或无线连接,以用于(例如)免提操作及/ 或用于话音激活的操作、用于连接到听筒或头戴式耳机及/或用于连接到(例如)移动电话,其中移动电话连接可用以建立在导航装置200与(例如)因特网或任何其它网络之间的数据连接,及/或用以建立经由(例如)因特网或某一其它网络到服务器的连接。导航装置200的存储器214包含非易失性存储器的一部分(例如以存储程序代码)及易失性存储器的一部分(例如以在所述程序代码被执行时存储数据)。所述导航装
16置还包含端口 228,所述端口 2 经由连接230而与处理器202通信,以允许可装卸存储卡 (通常被称作卡)被添加到装置200。在所描述的实施例中,所述端口经布置以允许添加 SD(安全数字)卡。在其它实施例中,所述端口可允许连接其它格式的存储器(例如,压缩快闪(CF)卡、Memory Mick 、xD存储卡、USB (通用串行总线)快闪驱动器、MMC (多媒体) 卡、智能媒体卡、微驱动器等)。图Ia进一步说明经由连接226的在处理器202与天线/接收器2 之间的操作性连接,其中天线/接收器2M可为(例如)GPS天线/接收器,且因而将充当图1的GPS 接收器106。应理解,为了说明而示意性地组合由参考数字2M表示的天线及接收器,但天线及接收器可为单独定位的组件,且天线可为(例如)GPS片状天线或螺旋天线。另外,图3的便携式或手持型导航装置200可以已知方式连接或“对接”到例如自行车、摩托车、汽车或船等交通工具。可接着将此导航装置200从对接所在地移除以用于便携式或手持型导航用途。实际上,在其它实施例中,装置200可布置为手持型的以允许用户的导航。参看图Ib,导航装置200可为包括集成输入及显示装置206及图3的其它组件(包括但不限于,内部GPS接收器224、处理器202、电力供应器(未图示)、存储器系统214等) 的单元。导航装置200可位于臂状物252上,可使用吸盘2M将臂状物252本身紧固到交通工具仪表板/窗/等等。此臂状物252为导航装置200可对接到的对接台的一个实例。可通过将导航装置200搭扣连接到臂状物252而将导航装置200对接或以其它方式连接到对接台的臂状物252。导航装置200可接着可在臂状物252上旋转。为了释放导航装置200 与对接台之间的连接,可(例如)按压导航装置200上的按钮(未图示)。用于将导航装置 200耦合到对接台及将导航装置200从对接台去耦的其它同等合适的布置是所属领域的技术人员众所周知的。转到图lc,处理器202与存储器214合作以支持BIOS (基本输入/输出系统)282, 其充当导航装置200的功能硬件组件280与由所述装置执行的软件之间的接口。处理器 202接着从存储器214加载操作系统观4,所述操作系统284提供应用程序软件286 (其实施所描述的路线规划及导航功能性中的一些或全部)可运行的环境。应用程序软件286提供操作环境,所述操作环境包括支持导航装置的核心功能(例如,地图检视、路线规划、导航功能及与此相关联的任何其它功能)的图形用户接口(GUI)。就此来说,应用程序软件 286的部分包含视图产生模块观8。在正描述的实施例中,导航装置的处理器202经编程以接收由天线2M接收到的 GPS数据,且不时地将所述GPS数据连同表示GPS数据被接收的时间的时戳一起存储在存储器214内以积累导航装置的一系列位置。经如此存储的每一数据记录可被认为是GPS定位;即,其为导航装置的所在地的定位且包含纬度、经度、时戳及精确性报告。此系列位置可被认为是定位数据。在一个实施例中,大体上周期性地(例如,每5秒)存储数据。所属领域的技术人员将了解,其它周期将为可能的,且在数据分辨率与存储器容量之间存在平衡;即,随着通过取得更多样本而使数据的分辨率增加,需要更多存储器来保持数据。然而,在其它实施例中,分辨率可为大体上每1秒、10秒、15秒、20秒、30秒、45秒、1分钟、2. 5分钟(或实际上,这些周期之间的任何周期)。因此,在装置的存储器内,积累了装置200在各时间点处的行踪的记录。在一些实施例中,可发现,所捕捉的数据的质量随着周期增加而减小,且同时降级的程度将至少部分地视导航装置200移动的速度而定(约略15秒的周期可提供合适上限)。另外,处理器202布置成不时地将装置200的行踪的记录(S卩,GPS数据及时戳) 上载到服务器。在导航装置200具有将其连接到服务器的永久的或至少通常存在的通信信道的一些实施例中,周期性地发生数据的上载(其可为(例如)每对小时一次)。所属领域的技术人员将了解,其它周期为可能的,且可大体上为以下周期中的任一者15分钟、30 分钟、每小时、每2小时、每5小时、每12小时、每2天、每周或在这些周期之间的任何时间。 实际上,在此些实施例中,处理器202可经布置以大体上实时地上载行踪的记录,但这可能不可避免地意味着事实上数据被不时地发射而在发射之间具有相对较短的周期,且因而数据可被较为正确地认为是伪实时的。在此些伪实时实施例中,导航装置可经布置以在存储器214内及/或插入于端口 2 中的卡上缓冲GPS定位,且当已存储预定数目时发射这些 GPS定位。此预定数目可为大约20、36、100、200,或这些数目之间的任何数目。所属领域的技术人员将了解,所述预定数目部分地由存储器214/端口 2 内的卡的大小控管。在不具有通常存在的通信信道的其它实施例中,处理器可经布置以在通信信道被创建时将记录上载到服务器。这可(例如)在导航装置200连接到用户的计算机时发生。 并且,在此些实施例中,导航装置可经布置以在存储器214内或插入于端口 2 中的卡上缓冲GPS定位。如果存储器214或插入于端口 2 中的卡变得充满GPS定位,那么导航装置可经布置以删除最旧的GPS定位,且因而,其可被认为是先入先出(FIFO)缓冲器。在正描述的实施例中,行踪的记录包含一个或一个以上迹线,其中每一迹线表示导航装置200在M小时周期内的移动。每一 M小时周期经布置成与日历日一致,但在其它实施例中,无需为此情况。服务器经布置以接收装置的行踪的记录,且将此存储在大容量数据存储装置内以供处理。因此,随着时间过去,大容量数据存储装置累积已上载了数据的导航装置200的行踪的多个记录。一般来说,服务器将收集多个导航装置200的行踪。服务器可接着经布置以根据所述装置或每一装置的所收集的行踪而产生速度数据。此速度数据可包含时变速度概况,其展示沿着地图的可导航段的平均速度如何随着时间变化。图2展示电子地图的实例,在所描述的实施例中,跨越网络(在此情况下为因特网)在导航装置上检视所述电子地图。在本文中正描述的实施例中的任一者中的第一步骤为产生此电子地图1900。可在http://routes, tomtom, com/检视所述地图。为了实现图2的将被用于路线选择目的的电子地图,所述电子地图具有一系列节点,所述电子地图的用户通常看不到所述节点。因而,节点等等可通常被称作地图数据。然而,为了便于理解,在图3中展示节点300中的一些节点。这些节点被设在道路的交叉点、 末端区等等处,且被用于路线选择的目的。当用户要求其导航装置规划在两个点或两个以上点之间的路线时,所述导航装置将通常规划地图的相关节点之间的路线(虽然有可能规划到一组节点的路线)。因而,地图数据可用以根据由导航装置的用户设定的至少一个准则来产生路线。所属领域的技术人员将了解,电子地图还包含提供道路段的形状、建筑物的入口的所在地等等的其它节点。因此,每一节点300具有从其发出的、用户可沿其行进的至少单个道路段,且通常为多个道路段。举例来说,节点302具有四个此种道路段3(Ma、304b、3(Mc、304d。每一道路段可被认为是可导航段,因为其可指代并非道路的路线,例如,人行道、自行车道、沟渠、铁路线、轨道等。然而,为方便起见,参考道路段。因此,如图2中所展示的地图向其用户展示多个道路段,所述多个道路段中的每一者表示在由所述地图覆盖的区域中的可导航路线的一部分。已知路线规划方法(例如,迪科斯彻(Dijkstra)方法、A*方法或穆尔/裴帕 (Moore/Pape)方法)。然而,这些路线规划方法在计算时间方面可为极其慢的。在US 6636 800中展示了如何可增加此路线规划的速度的实例,所述案的教示特此以引用的方式并入本文中。本文中所描述的实施例可在预处理步骤中产生含有搜索加速数据的所谓的侧文件(side-file),所述搜索加速数据是用以在处理电子地图时加速路线的产生。可将此信息以可被称为位向量的形式保持为二进制数据;即,0与1的串(或其经压缩编码)。因而, 所述侧文件还可被认为是地图数据,但可与电子地图一起或不与电子地图一起供应侧文件 (例如,如图2中所展示)。因此,本发明的一些实施例可将地图数据提供为可与侧文件分离的地图,而本发明的其它实施例可组合地图与侧文件数据。然而,所属领域的技术人员将了解,如果使用侧文件,那么所述侧文件应与电子地图(针对其而产生所述侧文件)一起使用。如果并未执行此,那么可想象,将获得不正确路线(例如,未使由其用户设定的成本函数最小化的路线)。并且,本发明的不同实施例可指定用于产生搜索加速数据的不同参数(在此实施例中,其为一系列位向量且在下文中将被方便地称作位向量)。因而,如果使用所产生的地图数据的后续路线规划使用了与用以创建所述位向量的所述参数不同的参数,那么所述位向量不太可能对所述路线规划有用。举例来说,一些实施例可产生用于乘汽车行进穿过地图的位向量。如果后续路线规划系用以产生用于步行的路线,那么汽车特定位向量不太可能为有用的。在另一实例中, 一些实施例可产生在假定用户乐于沿着高速公路、收费道路等等行进的情况下的位向量。 在后续路线规划中,如果用户请求不利用高速公路、收费道路等等的路线,那么所述位向量不太可能为有用的。本发明的一些实施例可产生位向量的多个集合,其各自具有预定准则的不同集合。举例来说,本发明的实施例可约略产生以下各项中的任一者2、3、4、5、6、10、15,或更多集合的位向量。因此,在一些实施例中且为了产生侧文件,在地图预处理步骤中,将节点划分到多个区中,且因而,任何地图均被划分成已知数目个区-例如,N个。这在下文中参考图5更详细解释。此预处理产生可与地图一起利用的数据以便增加路线规划方法的速度。在反复过程(其可为递归的)中,将地图数据内的节点划分到层级式区的集合中。 产生如由图5中的虚线展示的区,所述区中的每一者含有多个节点。所述方法移动那些边界以包括或多或少的节点(且因此包括可导航段),且在移动那些边界的过程中,考虑与所述节点相关联的道路段的参数。所述方法的一些实施例旨在对任一区内所含有的节点的数目设定上限。所述方法还可根据沿着可导航段的预期行进时间来确定区的成员资格。举例来说,如果可导航段具有较慢的平均行进时间(例如,轮渡航线),那么可将所述节点移到单独的区。通常,在使用地图数据之前执行预处理,而不管所述地图数据将用于网站上还是用于例如PND等装置上。因而,预处理步骤常常被称作服务器侧进程。虽然任何通用计算装置均将适于执行预处理,但所属领域的技术人员将了解,装置的性能越高,预处理将执行得越快。通常,将X86架构计算装置用于预处理。此种X86架构装置将通常运行例如Microsoft Windows , UNIX、LINUX、OSX 等等的操作系统(OS)。 然而,其它实施例可使用例如RISC架构等其它计算平台。并且,如别处所论述,可并行执行预处理,且因而,可在多个计算装置上或至少在多个处理器核心(其可为虚拟或真实处理器核心)上执行预处理。作为下一预处理步骤,处理一区内的每一道路段(例如,30 到304d)以确定其是否为到所述地图内的所述数目(N)个区中的每一区的最小成本路线的部分,且产生位向量 (最小成本评估)。因此,对于一区内的每一道路段,位向量针对一区内的每一可导航段包含一位。即,位向量包含N-I个位(除在考虑中的区外,每一区1个),其被设定成0或1, 取决于所述路线是否形成到由所述位表示的区的最短路线的部分。一些实施例可添加额外位以提供进一步信息,例如,标头、可见度区域等等。在下文中描述这些术语。这在下文中参考图5更详细解释。所属领域的技术人员将了解,在此意义上,可对照若干不同成本准则确定最小成本路线。举例来说,可对照以下准则中的任一者判断最小成本最短距离;最短行进时间; 最小花费(在环境影响方面);使用最少汽油;产生最少co2,等等。在本实施例中,对照最短行进时间来判断最小成本。因此,所属领域的技术人员将了解,对于覆盖大量区域的地图来说,N很可能为较大的。因此,预处理可花费大量时间。因此,在(例如)覆盖欧洲及俄罗斯的实例地图中,通常可能存在50,000, 000个节点,其具有120,000, 000个道路段。假定在地图内存在100个区,那么N等于100,且存在属于位向量的120,000, 000 X 100 (N)个位;S卩,需要12 X IO9个位来存储所述地图的每一道路段的99(8卩,N-1)个位。在使用下文所描述的本发明的实施例的情况下,此地图可能使用约略500Mb的额外存储装置。W02009/053410论述指派速度概况的方法,所述速度概况提供随着时间而变的沿着地图的路线的速度。此申请案的内容特此以引用的方式并入本文。因而且出于路线选择的目的,一路线是否构成到另一区的最快速路线的部分将根据时间而变化。即,随着交通密度增加/减小(例如,在高峰时间等),使用一路线分别将变得较不/较合意。一些实施例可针对每一道路段存储多个位向量。所属领域的技术人员将了解,记录速度的分辨率越高,所需位向量的数目越高。然而,其它实施例可利用时变函数来对最快速路线作出评估(非常像W02009/053410中所描述)。在跨越电子地图进行路线规划时,相信,有必要能够使用约略百分之一秒精确度的时间粒度进行路线规划;即,能够将从节点的出发时间指定到0.01秒的精确度以便正确地确定最低成本路线。因此,在考虑此精确性的等级时,将了解,上文所考虑的具有50,000,000个节点及120,000,000个道路段的地图具有穿过其中的120,000,OOO2个可能的路线。当进一步考虑时间维度时,可能的路线的数目进一步增加7(S卩,每周天数)XM(S卩,每日小时数)X3600(即,每小时秒数)X 100(即,每秒的百分之一秒数)X 120,000,OOO2 = 870.91 2. 000. 000. 000. 000. 000. 000(千的七乘方)个可能的路线。在当前处理等级且在使用在每一时间间隔处探索每一段的单纯方法的情况下,将花费大约27,616,438,400, 000, 000年。 欧洲及俄罗斯的地图的申请人当前正逐年增长,藉此进一步增加此时间。因此,将了解,为了在预处理阶段中存储并处理数据,需要大量数据。因而,本发明的实施例使用技术以便显著减少预处理的量。现在更详细地描述这些技术,且本发明的一些实施例可能利用所有所述技术,而其它实施例可能仅利用所述技术中的一些技术。本发明的不同实施例可使用下文所概述的特征的不同组合。因而,一些实施例可利用所描述的全部技术以减少信息的量。在另一极端,其它实施例可能不利用所述技术当中任一者来减少数据。本发明的一些实施例不计算不符合预定准则的道路段的位向量-如步骤1902所展示(即,道路段不满足道路性质的预定准则)。举例来说,如果不可能以预定运输类别沿着道路段行进,那么可能不计算所述道路段的位向量。因此,在将运输模式的准则设定成汽车的实例中,可能不计算以下道路段的位向量 铁路;·存在于地图数据中的未对应于可导航段的段;·错误(非法)方向上的单行道路;·不可由某运输形式通行的道路段(例如,在考虑汽车的驾驶性时的行人徒步区、 人行道);·非决策点处的道路段(即,不能从道路段避开);网络的减小一种技术为减小经考虑以评估道路段是否形成最小成本路线的部分的网络的大小;减少道路段的数目会减小进行计算所花费的时间量,如步骤1904处所展示。为了说明此技术,还在图4中展示如图2中所展示的道路网络,但从图4删除了对于最小成本评估来说没有用的道路段。对网络的此减小旨在提供最小子网络,应对所述最小子网络进行最小成本评估;因此,所属领域的技术人员将了解,可导航段已被移除以形成核心网络。在数学术语中,被留下的且如图4中说明的网络可被描述为图2的道路网络的最大强组成部分的不定向表示的最大的双向连接的组成部分。通过将标准技术应用于两种强连接性(还称为双向连接性)同时适应于道路交通规则(例如,转弯限制及本地准入 (local access))来确定核心网络。所属领域的技术人员将了解,强连接性指示在两个节点之间在两个方向(即,从A —B以及B —A)上行进为可能的。
21
因此,参看图2与图4两者,可见,已删除例如死胡同250、冗余环路252等等的无出口的路。然而,将看见,在已被移除的道路段的起点处剩余有节点(例如,图4中的400)。 这是由于下文中所论述的原因。因此,在将图2的网络减小到图4中所展示的网络的过程中,已移除可导航段,可随后恢复所述可导航段的搜索加速数据;即,已从网络移除形成网络的部分的根据某预定准则为足够小且可通过移除满足某另外预定准则的可导航段的集合而与网络的其余部分中断连接的可导航段。举例来说,节点302的搜索加速数据可易于用于在可导航段30 的远端区处的节点,其对任何路线规划的性能几乎不具有影响。在减小到核心网络之后(例如,如图4中所展示),分割核心网络以提供上文所描述的区。在所描述的实施例中,根据多路弧分离器(multiway arc separator)来分割网络。 所属领域的技术人员将了解,在此网络中,如果由区边界等分的道路段(即,弧)被移除,那么留在任一区中的道路段将不连接到任何其它区。分割网络-步骤1906然而,在执行分割之前,进行以下步骤1.独立地确定并分割岛屿。岛屿趋向于与网络的其它部分物理上分离,且藉此通过例如轮渡链等等的方式而链接。这些以与典型道路段不同的方式表现(即,平均速度显著较低,等等),且如果此些链接被包括于分割中,那么所述方法不会有像预期一样好的性能。2.收缩由网络中的一个以上节点表示的十字路口、环形道及其它接点,使得属于同一十字路口等等的节点不会落到不同区中。3.收缩所有可导航段共享相同特性集合(例如,轮渡段、属于行人徒步区或有门的小区的段等等)的简单路径(即,不具有转弯可能性的两个节点之间的连接)以减小传递到分割系统的网络的输入大小。举例来说,查看图3,可将节点301折叠到在其正下方的节点上;即,如果节点具有连接到其的两个或两个以下可导航段,那么将所述节点一者折叠到另一者上。在另外实施例中,可导航段之间的复杂接点可包含多个节点。可将此些复杂接点折叠到单个节点上(即,在预定情形下,将节点一者折叠(在可导航段之间的接点处发生此)到另一者上)。本发明的正描述的实施例使用分治(divide and conquer)方法,在http// labri. fr/perso/pelegrin/scotch处概述所述分治方法。本文中所概述的方法划分地图以包含若干个区,所述区并不基于地图的区域,而是基于区内所含有的节点的数目。具有经如此组织的节点具有以下优点其可有助于使使用所述区的路线选择更有效率,因为其有助于递送具有类似本地搜索直径的区。每一节点具有与其相关联的包括区ID的身份编号,且因而,同一区中的节点具有相同区ID号。节点属于在L个层级式等级处的区。按照惯例,等级0为最粗略等级(用于长距离路线选择)。等级L-I为最精细等级。在本发明的一些实施例中,可对节点的最大数目设定上限且允许低于此上限的某种灵活性,而不是设定任一区内含有的节点的绝对数目。举例来说,所述方法可指定每区最大节点数目为100个,这可导致每区通常有60个到100个节点的节点散布。上限被认为比固定数目个节点有利,因为固定数目可导致具有强制形状的区,这又导致在使用所述区时的次最佳的路线选择。多个等级在所描述的实施例中,执行分割以提供多个等级的巢式区,在图6中在概念上示范所述区。从图6将清楚,存在层级本质,其中将最粗略等级(0)再分以提供等级1,又将等级1再分以提供等级2,等级2为最精细等级。每一区中的节点的数目在等级之间变化,且与较低等级相比,较粗略等级(其趋向于覆盖较大地理区域)具有更多节点。因而,通常出于长程路线选择目的而使用正描述的实施例中的较粗略等级(例如,等级0),而较精细等级(例如,等级2)用于短程的路线选择。每一道路段的位向量的一部分包含针对所述等级中的每一者的位。位的数目为每一等级中的区的数目。为了提供要编码的数据量的概念(在典型实施例中,等级的数目将通常为L = 3)·全局等级=0,将通常具有100个区。·中间等级=1,将通常针对等级0的每一区具有10个区(即,100X 10)。 最详细等级=2,将通常针对等级1的每一区具有5个区(即,100X 10X5)。使用层级式等级为有利的,因为其减小(可能显著减小)所需的处理量。在正描述的本实施例中,存在100 X 10 X 5个区(S卩,5000个区)。因此,在具有相同数目个区的平坦结构中,将要求本文中所概述的方法涉及5000个区。然而,在本文中所描述的实施例中, 可通过参考处于适当等级中的节点来减少此数目。一旦已知地图的各个因素,等级的数目及每等级的区的数目将通常被调谐。举例来说,多少存储装置可被分配给地图,以及路线选择的应有执行速度。所属领域的技术人员将了解,存在折衷,因为随着预处理的量增加,那么地图大小变得较大以保持数据,但是可使用所述地图来计算较快速路线。在一个实施例中,存在3个等级的区。然而,在其它实施例中,可能存在任何数目个等级。举例来说,可能约略存在以下数目个等级中的任一者1、2、4、5、6、7、8、9或10。因此,在使用上文的实例(通常具有50,000, 000个节点及120,000, 000个道路段的欧洲及俄罗斯的地图)的情况下,最单纯编码将针对每一等级的每个节点的区ID使用固定大小编码,且针对每一等级的每一道路段使用固定大小位向量。因此,可易于将此基本编码的大小计算如下·等级0处的每一节点区ID将使用log_2 (100)位=7个位·等级1处的每一节点区ID将使用log_2 (10)位=4个位·等级2处的每一节点区ID将使用log_2 (5)位=3个位·等级0处的每一位向量将使用100个位(100个区减去针对当前区的1)·等级1处的每一位向量将使用10个位(10个区减去针对当前区的1)·等级2处的每一位向量将使用5个位(5个区减去针对当前区的1)图6展示最粗略的区等级600,其在所述图中提供6个区1到6。将这些区中的每一者再分成其它区(在此实施例中,九个子区),如由粗略区等级600内的虚线表示。因此,6个粗略等级区可被认为是较粗略等级区,且9个区可被认为是较精细等级区,其在与较粗略等级相邻的区中。在所描述的实施例中,使用另一等级的再分,其中还再分由虚线提供的区中的每一者,因而提供三个等级的分割,但为了便于参考未在图6中展示这些等级(但在图6a中展示)。其它实施例当然可使用较多等级(例如,4、5、6、7个或更多等级)或较少等级(例如,1或2个等级)。因此,本发明的实施例针对较精细等级区引入所谓的可见度区域,步骤1908。k区的可见度区域为(k-Ι)区的集合,其中可在旗标集合中的所述区自己的位上区别所述区。 自然地,可见度区域总是包括给定k区所属于的(k-Ι)区。另外,可见度区域可能含有一些相邻的(k-Ι)区。将在预处理期间计算可见度区域,且将可见度区域与位向量相关联地存储。此处,k区可被认为是较精细区,且(k-Ι)区可被认为是较粗略区。还可从相反侧看出k区与其(k-Ι)等级的可见度区域之间的关系每个(k-Ι)区知晓其由位于邻域的k等级区组成的外围(outskirt)。以此方式,可看出道路段的旗标集合不再贯穿整个地图具有固定长度;实情为,每个1区中的位向量具有其特定长度A+B+C+N 外围0+N外围1。其中A指代区的最粗略等级,B指代中间粒度区,且C指代最精细粒度的区(在存在三个等级的实施例中)。后续预处理在最短路径计算之前计算可见度区域以产生位向量。可将找到可见度区域的方法描述如下接着,对于处于除最顶部以外的每一等级处的每一区R来说,使用在区相邻图中的广度优先搜索来探索每一 k区的邻域图,直到以下量度超过选定阈值为止·从R到当前区的节点的图理论距离· R与当前区的中值点之间的欧几里德距离;或·本文中别处所描述的其它距离中的任一者。接着对于每一到访过的k区(其位置足够接近开始区),将其含有的(k_l)区添加到可见度区域。“接近”关系应将地理量度(例如,区中值点之间的距离)与图理论距离两者考虑在内。(因此,如果一区在地理上为远的但通过快速连接而链接到当前区,那么所述区可为 “接近”的。同样,如果难以在区之间行进,那么一区可被认为“遥远的”(即使其在地理上接近))。确切的阈值可经受实验调谐,因为其视地图特定的特性(如都市区域的平均直径)而定,其最易受上文所描述的负面效应(例如,增加的预处理等等)影响。具有格外长行进时间的可导航段(如轮渡或属于行人徒步区的道路段)在相邻图遍历(adjaceny graph traversal)期间被隐藏,这样可见度区域总是限于单一岛屿或属于同一区的小群岛屿。因此,在广度优先搜索期间到访过的区构成R的邻域。完全覆盖所述邻域的下一较粗略等级的区的包括最小(inclusion-minimal)集合被称为R的可见度区域。反向关系被称为附近(vicinity)区Q(等级L处)的附近列表是由在等级L+1处的在其可见度区域中有Q的所有区组成。为了提供特定实例,且参看图6,可见度区域的实例如下如果决定每一 1区与其可见度区域的边缘之间的最小距离应为至少1,那么一些选定1区的可见度区域将由以下0区组成(自己的0区可被省略,因为其总是存在)· 15 ( S卩,等级1区第15号未展示可见度区域,因为自己的0等级区可被省略,因为其总是存在)。· 28 5(即,等级1区第28号的可见度区域含有等级0区第5号)。· 37 :2,5,6(即,等级1区第37号在其可见度区域中具有三个区,即,等级0区第2号、第5号及第6号)除了考虑等级1区的等级0邻居,还确定每一等级0区的等级1邻居。因此,作为实例,· 1 21,24,27,28,41,42,43,51(即,对于等级0区第1号,等级1区为:21、24、27、41、42、43、51)。因此,在此实例中,可看出,区观被列出,尽管其不在区2的最左侧列中。这(例如)可能因为区观具有到区1的快速链接,且因而当在时间而非距离方面进行考虑时为接近的。所属领域的技术人员将了解,可对照例如环保性(greenness)(最少CO2或其类似者) 等其它量度来判断接近性。一些实施例可使用可见度区域以通过约束搜索加速数据的计算而减少产生搜索加速数据所需的预处理量。举例来说,实施例可使用从目的地区(例如,图6的区24)到起点可导航段(例如,图6的区27中)的反向搜索。可以在经由最短路线到达目的地区的可见度区域中的所有可导航段时使反向搜索停止的方式来约束此反向搜索。举例来说,在假定区M的可见度区域为区2的情况下,一旦经由最短路线到达区2中的所有可导航段,反向搜索就将停止。所属领域的技术人员将了解,区2内的最短路线可能穿过未包括于区M 的可见度区域中的区。举例来说,区2中的两个所在地之间的最短路线可能穿过区1。更具体地说,对于区27中的起点可导航段与区M中的目的地之间的最短路线,这可能为正确的。必须考虑此路线以便产生区M的正确搜索加速数据。所属领域的技术人员将了解,上文所描述的受约束的搜索将产生穿过区1的路线的正确搜索加速数据在区2 内部(明确地说,在区27中),使用搜索加速数据的搜索将使用区M的搜索加速数据;当其前进到区1时,其将使用粗略区2的搜索加速。由于区1不在区M的可见度区域中,因此区1中的可导航段将具有粗略区2的搜索加速数据,但不具有较精细区M的搜索加速数据。额外或替代实施例还可使用可见度区域以增加针对给定可导航段而存储的搜索加速数据。虽然这可增加所需的预处理的量,但这也可增加可使用含有此些搜索加速数据的地图数据执行路线规划的速度。在假定区51的可见度区域包括区5与区4两者的情况下,到区51中的目的地的经加速搜索将已使用存在于区4中的区51特定的加速数据;即, 区4内的道路段具有添加到其的额外搜索信息,其指示所述道路段含有到区51的另外的最小成本数据。此额外信息可被称作相关位。这被视为比现有技术有利,现有技术仅会将加速数据应用于区4中的等级5,从而具有搜索前端(search front)宽得多而接近区51的缺点ο
邻居列表的编码与图6相比,图6a展示可使用的等级的更多细节。等级0为最粗略等级且可被认为是等级k-Ι。为简易起见,在图6a中,仅展示区1到区4(即,602;604;606;608)。这些 k-Ι区中的每一者进一步被划分成9个区(1到9),其可被称作k等级区或等级1区。另外, 这些等级1区中的每一者被划分成4个k+Ι等级区(即,等级2区)。位向量的产生一旦网络已被分割成层级式等级的区(在正描述的实施例中为3),那么其经处理以确定到所述区中的每一者的最小成本路线,且为区内的每一道路段创建位向量,步骤 1910。因此,如上文所论述,关于成本函数来分析任一区内的每一道路段,以确定其是否为到其它区中的每一者的最低成本路线的部分。产生一区中的每一道路段的位向量,如图7 中所展示,为便于理解,图7展示简化的位向量。还应了解,确定最低成本路线,其不仅针对单个时间段,而是针对多个时间段来计算(如下文中所描述)。针对图4中所展示的网络(即,减小的网络)来执行此计算。图3中的网络的已被移除的部分被有效地折叠到其所源于的节点上。举例来说,图3上所展示的道路段30 的端节点被折叠到图3中的节点302上。将看出,每一位向量包含三列含有在考虑中的道路段的起始处的节点的身份编号的最左侧列700 ;含有在考虑中的道路段的末端处的节点的身份编号的第二列702 ;及含有所述道路段的位向量的第三列704。因此,将看出,每一道路段由两个节点识别,在道路段的每一末端处存在一个节点。可使用任何合适的路线选择方法来确定道路段是否为最低成本路线的部分。在此特定实施例中,使用众所周知的迪科斯彻方法来探索整个网络。然而,可通过使用各种策略来减少处理时间的量。所属领域的技术人员应了解,上文所描述的用于减小网络的技术还将减小处理时间的量。本发明的实施例可使用以下各项中的任一者或一者以上 同时计算对应于一区的所有位向量条目。在反向图中,针对位于边界上的每一可导航段计算最短路径树。此方法为有利的,因为可并行处理每一区,藉此减少处理时间。·减少对类似最短路径子树的重新计算。·不重新计算已经产生的位向量。因此,总之,一个实施例可执行以下操作以便产生位向量准备步骤1.如所属领域的技术人员将了解,经由电子地图的搜索可由有向非循环图(DAG) 表示。此图及伴随数据结构(转弯成本及长扩展表)为反向的。2.收缩关于最精细等级的简单道路段(即,将端节点一者折叠到另一者上,如别处所论述)。如果道路段(即,路径)由次数=2的一个或一个以上节点组成(所有节点均位于给定等级的同一区中),且可导航段具有相同属性例如“是轮渡”、“禁止通行”及“禁止驾驶”,那么所述道路段被称为简单的。3.对于每一区,视头(即,来自节点)及/或尾(即,去往节点)节点是否属于所述区而定,将道路网络的道路段分类成三组出端口、入端口及内部道路段。即,如果头与尾两者在同一区内,那么道路段被称为内部道路段;如果头在区内但尾不在区内,那么道路段被称为出端口道路段;且如果尾在区中但头不在区中,那么道路段被称为入端口道路段。4.对离开禁止通行及禁止驾驶区域的所有道路段设立特殊转弯限制。预处理例程以从下到上方式进行,以最精细分割等级-即,在正描述的实施例中以等级2开始。在每一等级的区处,针对每一区R重复以下步骤1.确定R的探索区域。在最高等级(例如,正描述的实施例中的区0),其为整个图,在较精细等级,其为由R的可见度区域限制的子图(如上文所描述)。因此,在中间等级(S卩,等级1)处,仅针对等级0区的含有所述等级1区的可见度区域执行以下步骤。在等级0(应记住,其用于长程路线选择)处,考虑整个图的道路段。收集可见度区域的入端口道路段,S卩,从区域外部的节点通向所述区域内的道路段。接着收集边境道路段,即,在入端口道路段之后的道路段。如果头(Li)=尾(U)且不禁止从Ll到L2中的转弯,那么将道路段L2称为在Ll之后(及Ll在L2之前)。为了找到边境道路段,将复杂十字路口收缩成单一节点。具有“禁止驾驶”属性的轮渡航线及道路段不被视为边境道路段。以此方式收集入端口道路段可减少(可能显著减少)在下文中所描述的探索步骤中所需的处理量。探索步骤可减少对图的探索而考虑那些到给定区的包括入端口路线的路线。2.对于R的每一出端口道路段来说,找出根道路段及探索步骤的数目。如果出端口道路段为其位于R内的前任者(predecessor)中的至少一者的唯一后继者,那么此出端口道路段为仅有的根道路段,且执行单个探索步骤。否则,如果出端口道路段为双向的 (即,可在两个方向上行驶),那么将所述道路段自身及其相反(入端口)道路段取作单个探索步骤的根道路段。否则,如果出端口道路段为单向的,那么将每一前置的内部道路段 (且如果存在,其相反道路段)取作用于单独探索步骤的根道路段。最后,不管出端口道路段的种类是什么,对于穿过出端口道路段的每一交通扩展路径,将所述扩展的开始道路段 (如果其位于R内)取作用于单独探索步骤的根道路段。在较精细等级(即,除了等级0之外的所有等级)上,特殊对待出端口轮渡航线。 如上文所提到,在确定区的邻域时,忽略轮渡航线。如果轮渡航线的头部区不属于R的可见度区域,那么将执行单个探索步骤,其中轮渡航线为唯一根道路段,且探索区域被约束到头部区自身。3.执行经调度的探索步骤(下文中所描述)。4.追溯从探索区域内的道路段到根道路段的最短路径。在除了最高等级(即,等级0)之外的所有等级处,相应跟踪起始于的道路段的排序会影响结果。假设R为等级L区 (其中L >0),那么首先处理等级(L-I)区的出端口道路段,接着处理等级L处的剩余出端口道路段,并依此处理到最精细等级;相对于最精细等级来说为内部(且尚未被移除)的道路段被最后处理。每当遇到已在较早跟踪中到访过的道路段时,都没有必要再次沿着所述路径前进。在跟踪的同时,为每一到访过的道路段设定适当的目标位向量。在除了最高等级(即,等级0)之外的所有等级处,进行额外动作在路径已初次横穿某等级L区边界之后,用运输线(transit line)旗标来标记所述边界线及去往根道路段的所有其它道路段;
27
用U形转弯旗标来标记最短路径进行U形转弯的节点。最后,在除了最精细等级外的所有等级处,填充相关矩阵条目。在处理所述级的所有区之后,针对下一等级而简化所述图。首先,移除未标记为运输线的所有道路段。接着,收缩积累的新的简单路径;保留被标记为U形转弯节点的节点。最后,根据相关矩阵将位向量传播到在处理此等级之前移除的道路段。相关矩阵本发明的一些实施例使用相关矩阵,其存储对道路段设定位向量所需的目标区之间的关系。在除了最精细等级之外的每一等级L处,产生且使用新的相关矩阵。在等级L 处,矩阵的行按等级(L+1)区编索引,列按等级L区编索引,且每一矩阵条目为零或零个以上等级(L+1)区的集合。在较低等级处,大多数矩阵条目等于空集,即,矩阵为稀疏的。相关矩阵的目的是为了帮助对已在较早阶段删除的道路段设定位向量。这些道路段未包含于由等级L探索步骤导致的有向非循环图中,但如果其尚未被删除,那么其将包含于有向非循环图中。更精确地说,相关矩阵用以对在S的探索区域中的道路段(在> L(其中L不为最精细等级)的某等级的计算期间,其已被删除)上的某等级L区S设定位向量。对于包含于S的探索区域中的等级(L+1)区R,矩阵元素M[R,S]将最终为在R的可见度区域的边界处的等级(L+1)区的集合,使得从S到R的所有最短路径(在反向图中) 均穿过所述区中的一者。当创建矩阵时,将所有条目初始化成空集。接着,对于所有等级L区S,执行以下两个动作。1.矩阵建立对于根道路段1在S及所得有向非循环图D中或上的每一探索步骤, 针对包含于S的探索区域中的每一等级(L+1)区R,及针对R的每一入端口道路段Γ,将矩阵元素M[R,S]更新如下用A表示R的探索区域(如较早针对等级L+1而计算)。在D中从Γ追溯路径到 1且检查其是否离开A 如果此路径上的道路段从等级(L+1)区T转到等级(L+1)区T'(其中T仍包含于A中,但T'未包含于A中),那么将T添加到集合M [R,S],且处理下一 Γ。2.读取矩阵对于S的探索区域中的已在等级L计算开始之前被删除的每一道路段,令R为所述道路段结束于的等级(L+1)区(再一次,相对于反向图来说)。现在将在所述线上的区S的位向量位设定成区T的位向量位的逻辑“或”,其中T包括M[Rj]的所有元
ο注意,将已在较早等级处直接根据某有向非循环图或按照涉及某较低等级处的相关矩阵的类似程序设定每一 T的位向量位。探索探索步骤由建立以给定道路段(对)为根的最短路径的有向非循环图组成。此是通过使用用于最短路径(即,最小成本)计算的众所周知的迪科斯彻方法的变化形式来实现。归因于传统而选择了术语“最短”;实际上,可自由选择要最小化的目标函数,例如,行进时间或估计燃料消耗,或别处所论述的其它因素中的任一因素。一个实施例使用行进时间、路径长度及抑制不当转弯及机动的其它惩罚项的加权总禾口。对经典(迪科斯彻)方法作出以下修改
1.其对道路段图起作用,S卩,正到访、放松等等的项目为道路段,而非节点。此有用于允许所述方法考虑到转弯限制及/或交通扩展。2.标签中的目标函数为在根道路段的针对到达时隙的固定集合的两个一组(行进时间、成本)的向量。选择时隙以使得覆盖所有相关交通模式(自由流动、工作日早晨高峰时间、傍晚高峰时间,等等)。在下文关于评估多个时间段时的成本函数的论述中进一步详述此内容。3.可针对给定道路段存储一个以上标签。如果两个标签上的待决(未完成的) 交通扩展的集合不相等,那么所述标签自身被称为独立的且两者均在随后道路段上不断传播。否则,如果不同到达时隙的成本函数值之间的关系不交替(即,一个标签明显比另一标签好),那么丢弃较差标签。否则,通过合并每一时隙的较好值而产生新标签,将其代替原始标签来传播。经合并标签的前任者集合于是为原始标签的前任者集合的联合。4.在每一双向道路段上产生特殊U形转弯标签。所述标签编码在两个方向上开始真实(非反向)路线的可能性。不传播U形转弯标签,且不可将U形转弯标签与一般标签合并。然而,U形转弯标签影响设定位向量时的回溯阶段仅在开始标签不比同一道路段上的U形转弯标签差时,最短路径才被加上旗标。5.在较精细等级处(其中将探索区域限于区的集合),永久地监看如上文所界定的边境道路段。一旦搜索前端到达所有边境道路段,就根据每时隙的最大(=最差)成本函数值建立监看梳(watch comb)。接着,在探索区域外部的道路段上的标签在弹离堆积时, 仅在所述标签在至少一个时隙中的成本函数值低于当前监看梳的情况下被传播。如果探索区域伸展越过若干岛屿,那么针对每一岛屿维持单独的监看梳。时变函数本发明的一些实施例可计算展示在多个时间段而不是在单个时间处跨越网络的最小成本路线的位向量。所属领域的技术人员将了解,穿过道路网络的最低成本路线可归因于交通密度等等的影响而随着时间变化。因此,对于任一节点,可能存在两个或两个以上最小成本路径,每一最小成本路径是针对不同时间。在此实施例中,不以关于何时最小成本路径可适用的时间基准来译码位向量。位向量仅被设定成将可导航段识别为是最小成本路径的部分或不是最小成本路径的部分。因此,当使用最小成本数据进行路线选择时,路线选择算法将必须考虑来自节点的所有可能的最小成本路径。现在借助于图7a简要描述此过程。在网络的标准迪科斯彻探索中,当探索网络时,所述方法使用为了到达网络中的所述点迄今所发生的总成本加上尚待发生的预期成本。因此,一些实施例利用函数而非离散值来作出在每一节点处的成本评估。因此,在图7a中,图751的正被探索的每一节点(例如,750)具有与之相关联的成本函数,其识别正探索的参数(例如,时间、花费的燃料或其类似者)如何随着时间而变化。节点750可被认为是起点节点。在一些实施例中,起点节点可与起点可导航段同义。成本函数可与道路段而非节点相关联。所述方法接着处理花费的成本以通过将当前节点处的函数与迄今已累积的成本求和来添加估计成本以产生新函数。图7a中所展示的实例在752处展示已在节点750处通过搜索方法产生的成本函数,且展示行进时间(y轴)如何随着出发时间(χ轴)而变化。
29将看出,行进时间归因于早晨及傍晚高峰时间而在点7M及756处增加。在一个特定实施例中,以5分钟间隔存储成本函数(例如,道路段上的平均速度); 艮口,其为具有5分钟的时间周期的经量化函数而非连续变化的函数。如果道路段在任何时间段均为最低成本路线的部分,那么设定所述道路段的位向量。将核心数据投射到整个网络上文描述了如何减少地图中所含有的网络以便减少必须由分割方法考虑的道路段及节点的数目。然而,还应进一步考虑在减少步骤中被删除的节点,以便路线选择方法仍可产生去往或来自被删除的道路段及节点的路线。因而,将被删除的节点及道路段指派到与在核心网络中其所连接到的节点相同的区。压缩如所论述,所产生的位向量的大小为非常大的,且因此需要压缩信息。本发明的实施例可以不同方式执行此压缩。然而,一个实施例利用各种技术来压缩、聚结位向量及/或使位向量相关,接着是对所述位向量的后续霍夫曼编码。因此,一些实施例可试图并确保存在位向量的不均勻分布,因为这可有助于确保霍夫曼编码比在其它情况下更有效率。举例来说,如果位向量分布如下00000. · · (49 % 的时间)11111. .. (49%的时间) .的时间)那么可能需要在霍夫曼编码之前操控位向量以具有更不均勻的分布,例如00000. · · (79 % 的时间)11111. ·· (19%的时间) .的时间)减少所产生的位向量为了减少需要产生的位向量的量,本发明的实施例可使用以下策略中的任一者或一者以上 并非针对所有节点使用区ID,而使仅针对可导航节点产生区ID(例如,忽略对应于铁路的节点)。 并非所有道路段均需要位向量,且位向量可用于决策节点周围的决策道路段。可通过查看道路段数据来确定决策节点及决策道路段(如本文献中所描述)。 尽管存在许多可能的位向量,但一些位向量远比其它位向量频繁,所以特殊编码可用于最频繁的位向量(例如,000... 000及111... 111)。 并非000. . . 000或111. . . 111的位向量的大多数位仍常常设定成1,或设定成0。
所以部分块的霍夫曼码应相当高效地编码所述位向量。·在彼此接近的节点中,位向量常常相同,所以增量(delta)编码可高效地编码所述位向量。 可通过按源区将目的地区ID重新排序来使不同区具有更类似的位向量模式(想法描述于本文献中)。·或者节点的道路段周围的所有位向量应总是给出111. . . 111。这适当地可用以更高效地编码位向量。下文中进一步详细论述这些情况中的一些情况。这里值得注意的是,本文中所描述的技术旨在减小位向量的大小。然而,应注意, 出于路线选择的目的使用地图数据的装置需要对数据的随机存取。通常,对数据的高效编码需要可变大小,然而,这将阻止对数据的随机存取。因而,本发明的实施例可使用一种折衷,其中数据被编码为一系列被编索引的页, 且接着利用所述页内的可变编码。在此些实施例中,可实现对每一页的随机存取(经由定索引)。一旦一页已被存取,那么实施例可随后解码整个页。这提供效率与地图大小之间的折衷-增加每页的节点的数目会减小地图大小,但使数据存取变慢。本发明的一个特定实施例使用每页16个节点。将了解,任何一个节点还可具有离开所述节点的不同数目或道路段。因而,即使可能存在相同数目个节点,每页仍可存在可变量的道路段。另外,对于存储在每一页上的位向量中的每一者,还可发生不同压缩。此结构可导致如图8中所展示的地图格式。其中,将数字“η”存储在标头内,且可针对不同地图变更所述数字“η”,以便最佳化所述地图的性能。调谐“η”为在地图大小与在解码地图数据时的存取速度之间的折衷·大的η值将把许多节点分组在一起,这对于地图压缩有益,但对于对数据的随机存取的速度不利。·小的η值将把少数节点分组在一起,这对于对数据的随机存取的速度有益,但对于地图压缩不利。·可将“η”设定成(例如)4,S卩,16个始发节点(始发节点在道路段的开始端处-即,图7的列700)的页,但应记住,每一始发节点具有若干个到达道路段(to-road segment),所以在假定平均有3个到达道路段的情况下,每一者意味着每一页的存储量相当于约48个道路段。在此格式中,取决于经编码的区的等级,数据具有不同格式。图9展示等级0(即, 最粗略区)的格式的实例,且图9展示其它等级的区的实例格式。位向量及相关信息存储在数据结构中,在图8中展示所述数据结构的格式,所述格式包含以下各项标头800 ;用于稍后描述的霍夫曼编码中的霍夫曼树802 ;每一层级中的区计数804(在每等级具有恒定数目个区的情况下为空的);区邻居806(在无区邻居的情况下为空的);区ID重新映射表808;位向量页索引(2n个节点)810 ;及区ID与位向量 812。可将保持位向量的数据结构保持于单个文件内,或可将其保持于多个文件内。在一些实施例中,地图标头800经布置成含有指示以下各项的进一步信息 等级的最大数目·最短邻居列表的长度。 最长邻居列表的长度。·含有所有邻居列表的区段的字节偏移。保持信息的文件或每一文件可具有用以编码邻居列表的区段。首先编码所有列表的大小。相对于最短列表长度、在由BitsRequirecK所需位)(最长列表长度-最短列表长度(longestListLength-shortestListLength))确定的固定数目个位上编码每一列表长度。注意,如果所有列表具有相同长度,那么不需要位来编码所述长度。接着编码所有列表的内容。每一列表由邻居区ID的若干元组构成等级0处的对、等级2处的3元素元组,等等。注意,不编码始发区元组(ASCII文件中的在“”之前的部分)。其为隐含的,因为所有区的列表以递升次序存储。举例来说,如果地图具有100X10X5的3个等级(等级 0处的100个区、等级1处的10个区、等级2处的5个区),那么 在等级0处,存储始发区1、2、3.....100的列表(以此次序的100个列表)。这
些列表中的每一者含有若干对。·在等级 1 处,存储始发区 1. 1、1. 2,1. 3、. . .、1. 10,2. 1,2. 2、. . .、2. 10,3. 1、...、
100. 9、100. 10的列表(以此次序的1000个列表)。这些列表中的每一者含有3元素元组。·在等级2处不存储任何东西,因为其为最后等级,所以不存在邻居。将元组中的每一组成部分存储为η位。根据处于对应等级的区的数目确定每一等级的位的数目。所以,有可能随机存取列表。在3个等级100Χ 10X5的情况下,编码元组 a. b. c将针对a使用7个位(因为在等级0处存在100个区),针对b使用4个位(因为在等级1处存在10个区),且针对c使用3个位(因为在等级2处存在5个区)。实例假定100 X 10 X 5个区有如下分割粗略等级0处的100个区、中间等级1处的10个区,及详细等级2处的5个区。在等级0处的文件中,含有邻居列表的区段将含有 指示处于等级0的100个区的列表的长度的100个数目。根据BitsRequired (所需位)(longestListLength-shortestListLength (最长列表长度-最短列表长度))计算位的数目。每一数目是相对于所述级处的最短列表(最短列表存储在标头中)。 接着为100个列表的内容(100对)。在7个位上编码每一对的第一元素(因为在等级0处存在100个区),且在4个位上编码每一对的第二元素(因为在等级1处存在 10个区)。在等级1处的文件中,含有邻居列表的区段将含有· · 100X10 = 1000个数目,其指示等级1处的1000个区的列表的长度。· ·接着为1000个列表的内容(1000个3元素元组)。在7个位上编码每一元组的第一元素(因为在等级0处存在100个区),在4个位上编码每一元组的第二元素(因为在每一等级0区中存在10个等级1区),且在3个位上编码每一元组的第三元素(因为在每一等级1区中存在5个等级2区)。在等级2处的文件中,不需要存储任何内容,因为其为最后等级。标头 800通常,用于本发明的实施例中的标头为较小的,且因而,不需要为了减小其大小而使所述大小最佳化。通常,为了方便起见,全部内容均为字节对准或字对准的· (4个字节)编码版本(每次地图格式改变时会增加)· G个字节)地图旗标(用以开启或关闭特征,最初为0,但以后在需要添加任选特征的情况下可被使用)· (4个字节)地图中的节点的总数目
· (4个字节)地图中的道路段的总数目· (4个字节)区段霍夫曼树的字节偏移· (4个字节)区段区二进制大型对象(blob)的字节偏移· (4个字节)区段区页信息的字节偏移· (4个字节)区段位向量页信息的字节偏移· (4个字节)区段可变大小记录的字节偏移· G个字节)最大位向量页(以位计)(可由路线规划方法用以在启动时预分配位流解码器的较坏情况)· G个字节)平均位向量页大小(以位计)(用以内插位向量页位置)44个字节)最小位向量页增量(用以使得所有增量>=0,从而避免存储位正负号)42个字节)位向量历史的最大大小(可由路线规划方法用以在启动时预分配历史缓冲器)· (2个字节)每页的道路段的最大数目(当前未使用)· (1个字节)此文件的阿波罗(Apollo)等级· (1个字节)每位向量的位· (1个字节)每位向量页增量的位(位向量页的固定大小记录中的字段)· (1个字节)每二进制大型对象索引的位(区页信息的固定大小记录中的字段)· (1个字节)每区计数的位(区页信息的固定大小记录中的字段)· (1个字节)每非平凡(trivial)位向量块的位· (1个字节)区节点页大小的log_2 ()· (1个字节)位向量页大小的log_2()· (1个字节)用以编码本地区ID的霍夫曼树的数目· (1个字节)用以编码位向量历史代码的霍夫曼树的数目霍夫曼树802 用来编码在每一节点周围的道路段的数目的霍夫曼树极小的,仅大约10个码, 仅存在于等级0处的文件中)·用来存储非平凡位向量的块的霍夫曼树最大霍夫曼树,对于压缩来说,越大越好,但在路线规划方法中所需的存储器越多(在地图压缩与路线规划方法中的存储器使用之间的折衷)。·当历史大小为0时位向量增量码的霍夫曼树极小的,仅3个码·当历史大小为1时位向量增量码的霍夫曼树极小的,仅4个码·当历史大小>=η时位向量增量码的霍夫曼树极小的(存储在标头中的霍夫曼树的数目)·当在区页中存在3个区时区ID的霍夫曼树极小的,仅3个码·当在区页中存在4个区时区ID的霍夫曼树极小的,仅4个码·当在区页中存在>=η个区时区ID的霍夫曼树极小的(存储在标头中的霍夫曼树的数目)。区重新映射表804及区ID列表806
虽然区ID 806比图8的文件格式的其它部分小,但还可压缩区ID 806,如图11中示范。其中,可使用地理相关以便减少所使用的数据量。每一区页在所述区页中存储相异区的列表。在大多数情况下预期此列表为较小的 (事实上,许多页很可能仅含有1个至少在等级0的区)。区的列表具有可变大小。应可随机地存取页内的数据(即,随机存取)且因而,使用固定表大小以允许此情况。将相异区的每一列表按每一区中的节点的频率排序列表的第一元素对应于所述页中具有最大数目个节点的区,列表的最后元素为所述页中具有最小数目个节点的区。对于区页中的每一节点,可使用本地区ID(对页来说为本地的)来编码其区ID。 此本地ID为页中的区的索引(其为较小的整数,常常为0,因为0对应于区页中的最普遍的区)。将节点的区ID存储如下 含有区ID的区阵列存储页中的区的所有可能的重叠列表。区的列表为所述阵列中的连续区ID。列表可(且确实)重叠。所述阵列不存储每一列表的开始及结束(此由区页信息表进行)。 区页信息表为固定大小的记录表(因此可随机存取),且每一记录含有在列表的开始的阵列中的索引+所述列表中的项目的数目。·每一节点含有本地节点ID (相对于其页来说为本地的)。在下文中进一步界定这些概念中的每一者。区阵列区阵列编码页的所有可能的区列表。区阵列为区ID的简单阵列,其中区ID的列表可重叠。区阵列的大小应为较小的,因为列表重叠。在区段区页信息中进一步描述所述区阵列。区页信息使用区页信息表的固定大小记录中的2个字段指定区页表中的区ID的列表·区计数(此页中的区的数目,预期为较小的)。·向区列表的阵列中的偏移(区的列表开始之处)。在一个实施例中,此是如图9中所描述。偏移字段指向区阵列中(例如)在假定在每一等级中总是存在小于256个区的情况下(其为合理假定),每区ID具有1字节的固定大小记录是足够的(但如果每等级最大256个区被认为太有限制性,那么使得每个区ID大于8个位为易于实现的)。区页表记录中的区计数指示在指定偏移处在阵列中有多少区要被考虑。如果若干区具有相同列表,那么其可指向相同所在地,其应为紧凑的,因为可预期许多页共享相同列表或共享所述相同列表的部分。参考图9来更详细解释此,图9展示具有2~nr个节点((例如)nr = 9以将512 个节点分组在一起)的页的实施例。注意区ID的阵列900紧凑的程度,因为若干页可指向阵列中的同一所在地或重叠的所在地(图中所标记的区二进制大型对象)。事实上,增加页的数目可能不增加阵列的大小,因为每一页接着在较少的区上重叠,所以组合的可能性减小。所以此阵列应允许创建许多页,而无需太多地图空间,也无需所产生的地图数据被加载于其中的装置上的很多存储
34
所述方法旨在使含有区ID的列表的阵列900尽可能地小。所述方法旨在在阵列中尽可能经常地重新使用相同的区ID列表。所述方法可自由地将列表的最后2个元素重新排序,因为其不会影响霍夫曼码的大小。举例来说,当列表含有2个区10及34时,存储列表10、34或34、10 (与频率无关) 为等效的,因为当仅存在2个节点时,霍夫曼树在所有情况下仅使用1个位。换句话说,对于最后2个区来说,放松了根据频率排序的要求。类似地,还可将3个元素10、34、40的列表存储为10、40、34,因为仅第一个码10 (最频繁的)将使用1个位,且其它码40及34均使用2个位(与次序无关)。因此,查看图9,可看出,阵列900存储两个值长度及从区数据的开始的偏移。因此,以第一行(3:0)为例,此指代从文件的开始偏移了 0的三条数据(即,10、34、40)。作为另一实例,阵列条目(1:2)指代单个区(即,长度为1),其中从文件的开始的偏移为二; (即,区40)。在替代实施例中,根据以下方法来编码区页信息此区段编码每一区中的子区的数目。子区的数目可在每等级中可变。然而,每一等级的子区的数目常常为恒定的。相对于每一等级处的区的最小数目且使用log_2(maX_ number_of_regions-min_number_of_region (区的最大数目_区的最小数目))个位来编码子区的数目。所以如果区的数目为恒定的,那么将0个位用以编码区计数,且此区段为空的。区的最小数目及最大数目存储在侧文件的标头中。区邻居区段(关于图6及图6a来论述邻域)的编码此区段针对在给定等级L处的每一区层级而编码在更详细等级L+1处的区邻居的列表。举例来说,等级L= 1处的区3.9可具有以下在等级L = 2处的邻居的列表 3. 5. 43. 6. 33. 6. 44. 7. 14. 7. 3。如别处所论述,可使用邻居的列表来增加用以产生所述侧文件或每一侧文件的预处理的速度。此区段被分裂成2个子区段 用以编码所有邻居列表(与在给定等级处的区数目一样多)的长度的子区段。相对于最短列表来编码所述长度,且接着,将位的数目计算为l0g_2(length_l0ngest_ list-length_sh0rtest_list (最长列表长度-最短列表长度))。如果所有列表具有相同长度,那么使用0个位来编码长度(且因此,区段就为空的)。 用以编码所有邻居列表(与在给定等级处的区数目一样多)的子区段。区ID重新映射表的编码仅在等级0的侧文件中编码此区段。所述编码编码二维表,所述二维表被用以重新排序且聚结等级0处的每一区中的位(以便高效地编码位向量,在本文献中在下文进一步描述聚结及位重新排序)。进行对位向量中的位的重新排序及聚结以最佳化对位向量的霍夫曼编码。此表由路线规划方法用以在知晓以下各项时找到位向量中的要解码的位位置·当前节点的始发区ID·原始的到达位(to-bit)索引(即,在解聚结位向量位之后的位索引)二维表的2个索引为
·始发区ID·目的地位索引(目的地的区)此区段由2个子区段构成 用以编码等级0处的每一区的经聚结位的数目的区段。用以编码每一数目的位数目为 log_2 (max_number_of_coalesced_bits (经聚结位的最大数目)) 用以编码位重新映射表的区段。因为在进行路线选择时,目的地位元不改变(在进行路线选择时目的地保持相同),但始发区ID改变(视在进行路线选择时所探索的节点而定),矩阵按目的地位的行进行存储。在每一行中,存储每一始发区的位重新排序数目。 路线规划方法在进行路线选择时应通常仅将对应于给定路线选择目的地的1行加载于存储器中。路线规划方法不需要将整个二维矩阵存储在存储器中。路线规划方法可随机存取所述行。将用以编码每一重新映射条目的位数目计算为log_2(经聚结位的最大数目)。图10针对等级0区(见图6)扩展了图8中所展示的文件的位向量区段812。可看出,每一页包含道路段计数、区ID及位向量。图11针对除了等级0之外的等级扩展了图8中所展示的文件的位向量区段812。 可看出,对于其它区来说,仅存储位向量,且不存储道路段计数或区ID (针对等级0存储道路段计数或区ID)。这是因为在较精细等级处,每一节点的针对所有等级的区编号(region number) 被存储在等级0的侧文件中。以此方式存储的原因是为了减少在使用侧文件的任何路线规划期间必须存取的文件的数目位向量810、812的编码表810含有固定大小的记录。始发节点ID被一起分组于具有2n个的页中。将数据分组于具有多个连续节点的页中是方便的,因为预期位向量对于相同邻域中的若干道路段具有类似模式。通过使用页,有可能以增量编码若干道路段且实现良好压缩。类似地,有可能以增量将节点的区ID编码于页中。另一方面,这意味着存取一个道路段的数据需要将若干道路段的数据解封装(无直接随机存取)。可将必须将若干节点或道路段解封装以存取一个道路段或节点的数据认为是可接受的,因为 数据可被高速缓存,所以在存取一个道路段时读取的额外数据常常并非无用的。 可能为以下情况此额外数据不久之后将为有用的(这类似于磁盘高速缓存的预先读取 (read-ahead) #= )。·当与迪科斯彻Α*路线选择比较时,使用所述位向量的路线选择将扩展搜索的大小减小了一数量级。通过按页分组数据,仅地图的小部分仍需要解码(沿着实际路径的页)。·归功于对区ID及位向量的增量压缩,其应显著减小经编码的数据大小。·页减小索引的大小,因为如所描述,数据将存储在侧文件中。表810内的每一记录含有一“增量”字段,其用以找出每一页的可变大小的开始的位置(相对于经内插位置的增量)。针对每一增量的位的数目存储在标头中。为了存取区ID及位向量812,解码器可通过进行以下线性内插而计算开始页的估计偏移interpolated_offset (经内插 _偏移)=from_node_id*avg_page_size (始发节点id*平均页大小)其中aVg_page_SiZe为存储在标头中的以位计的平均页大小(可能在固定点中以改进精确性)。可接着将数据的偏移计算如下interpolated_offset+min_delta+delta( _ ++ 增量)其中min_delta为所有页的所有增量字段的最小值(存储在标头中),且增量为存储在页中的无正负号字段。min_delta值确保所有增量字段为正值(不存储位正负号)。经由先前所描述的位向量页信息的“增量”字段来存取可变大小的记录。每一记录含有2n个节点的数据(始发节点的区ID及其在所有等级处的所附接道路段的位向量)。同一编索引方案因此将被用于所有等级。可变大小记录存储·页码-针对整个页指示所述页内的节点是否为同一区的部分的码; 在位向量页中的每一节点周围的道路段的数目(仅在等级0处存储,因为其对于所有等级将为相同的);·页中的始发节点的区ID,每等级有一个ID(针对所有等级的信息存储在等级0 处的文件中)仅等级i处的在页中的节点周围(仅在具有> 2个所附接道路段的节点周围)的道路段的位向量。此为数据的最大部分。·在每一节点周围的道路段的数目的编码对于位向量页中的2n个节点中的每一者来说,霍夫曼码编码在所述节点周围的道路段的数目。此信息并非具体到所有等级,且其仅存储在等级0处的文件中(ap_0_*. dat)。知晓在节点周围的道路段的数目是用以解码位向量(见1000,图10)。此信息与已经存在于其它文件中的信息重复,但其使得更容易且快速地解码页中的位向量,而无须在别处查找所述信息;藉此大小方面的小增加提供性能的增加。可变大小记录中的区ID的编码在编码每一节点周围的道路段的数目1000之后,即刻在可变大小记录中编码节点的区ID 1002。为了执行使用在预处理中产生的位向量的路线选择,通常需要存取给定节点的所有等级处的区ID 1002,所有等级的区ID被彼此靠近地存储在同一文件中,而不是被分裂于每等级的不同文件中。具有2n个节点(例如,η = 4)且具有3个阿波罗等级的位向量页因此将把节点ID 存储如下节点#0 本地_区_id_等级_0本地_区_id_等级_1本地_区_id_等级_2节点#1 本地_区_id_等级_0本地_区_id_等级_1_本地_区_id_等级_2节点#2 本地_区_id_等级_0本地_区_id_等级_1_本地_区_id_等级_2...节点#15 本地_区_id_等级_0_本地_区_id_等级_1_本地_区_id_等级_2另外·在具有1或2个所附接道路段的节点周围,不编码任何东西(即,对于存储0作为所附接道路段的数目的节点来说)。
·当在给定等级设定了页码中的位时,则知晓所有节点均处于所述级处的相同区 ID中,且接着仅将所述级处的区ID编码一次(对于具有>=3个所附接道路段的第一节点)。用来编码区ID的位的数目为log_2 (regionCount-1 (区计数-1))。·除了页中的区ID经编码的第一节点之外,在编码每一区ID之前还编码一位。此位指示区ID是否与处于同一等级的先前经编码的节点ID相同。当此位被设定时,无需编码所述区ID,因为其与所述级处的先前所编码者相同。当此位为0时,以 log_2 (regionCount-1)个位编码区ID。由于许多连续节点在同一区中,因此常常仅需要1 个位来编码区ID。对本地区索引的霍夫曼编码为高效的,因为·在每一区页中按频率将区分类(所以本地索引0比本地索引1更频繁,…)·对于页中的每一数目个区存在相异的专门的霍夫曼树(对于页中的3个区存在 1个霍夫曼,对于页中的4个区存在1个霍夫曼树,等等)。霍夫曼树为较小的,且因而有可能在不使用大量存储器的情况下存储若干个霍夫曼树。·无论如何,至少在等级0处,具有3个区或3个区以上应为相当罕见的(但在其它等级处并不罕见)。可变大小记录中的位向量的编码每一可变大小记录含有在页中的节点周围的所有道路段的位向量。仅在具有3个或3个以上所附接线路(道路段)的节点周围编码位向量。对于具有1个或2个所附接道路段的节点来说,路线选择方法可将位向量值111. . . 111)隐含地赋予所述节点。不编码到达节点。参看图7,应注意,可由两个节点指定一道路段;在所述道路段的每一末端处有一个节点。因此,当考虑方向时,在方向的开始处的节点可被称作fronuiode(始发节点),且在末端处的节点可被称作tojode (去往节点)。在编码内使用关于位向量的各种性质以使得编码有效率·所述位向量中的许多位向量为000. . . 000或111. . . 111。 对于位向量的其它值(即,非000. . . 000或111. . . 111),很可能存在重复且相同值将很可能被重复。将位向量编码为第一霍夫曼码及任选的其它霍夫曼码。第一霍夫曼码指示位向量是否为 针对平凡位向量000·· .000的码0·针对平凡位向量111. ·· 111的码1 码2,或用以指示在所述页中尚未遇到非平凡位向量。在此情况下且仅在此情况下,后接有其它霍夫曼码以编码新遇到的位向量。·当位向量与在当前页中先前遇到的位向量相同时(忽略平凡位向量000. . . 000 及111... 111),码>=2。此编码因此使用所述页中先前遇到的码的历史。所述码因而实际上按所有先前遇到的码的历史给出索引。不同于此霍夫曼码,仅在于历史中未找到非平凡位向量的情况下,需要编码更多信息(码=幻。在此情况下,紧接在霍夫曼码==2之后,编码·否定位
38
用以通过N个位的块编码η个区的位向量的若干霍夫曼码(N及η给出于地图标头中)。举例来说,使用11个位的块编码100个区(99位位向量)需要编码9个霍夫曼码 (9X11 = 99)。由于大多数位向量主要含有0或含有1,因此否定位指示所述位向量是否被存储为否定的。这使得能够在霍夫曼树中存储决大多数含有0的码(因此,改进块的霍夫曼编码)。仅在块的大小小于区的数目的情况下存在否定位,此为实际上在等级0处的情况,但在等级1或2处,可能在仅1个块中编码整个位向量,所以否定位为不需要的。如果存在100个区;N= 100(因此,99位的位向量),那么第一块编码针对目的地区1到11的位,第二块编码区12到22,等等。在第一块中,LSB(Oxl)对应于目的地区1, 下一位(0x2)对应于区2,下一位(0x4)对应于区3,等等。对于使用历史的位向量来说,历史阵列的深度为页中的先前遇到的相异位向量的数目(不考虑平凡位向量000... 000及111... 111)。不管历史向量含有0个元素、1个元素、2个元素、3个元素等等,使用不同霍夫曼树。使所述霍夫曼树倍增为可接受的,因为所有霍夫曼树均较小,且因而不需要相当大的存储装置·当历史具有0个元素时,霍夫曼树具有3个码针对000. ..000的0、针对 111. . . 111的1、针对新位向量的2。·当历史具有1个元素时,霍夫曼树具有4个码针对000. ..000的0、针对 111. . . 111的1、针对新位向量的2、针对与历史中的元素#0相同的位向量的3。·当历史具有2个元素时,霍夫曼树具有5个码针对000. ..000的0、针对 111... 111的1、针对新位向量的2、针对与历史中的元素#0相同的位向量的3、针对与历史中的元素#1相同的位向量的4。·等等。预期位向量页的大小较小(例如,2n个始发节点),所以预期霍夫曼树的数目较小。然而,有可能将霍夫曼树的大小限于最大值例如,每当历史含有H以上个元素时,就将使用单个霍夫曼树(值H存储在地图标头中)。此编码仅编码每一页中的相异位向量+ —些码。在较大的索引页的情况下,所述编码在大小上较有效率,但代价是为了使用位向量来进行路线选择目的而减慢了解码(页中有更多位向量要解码)。统计数据此处为在按2M个区(1等级)编码比荷卢经济联(Benelux)时的文件格式的详细统计数据。使用以下输入参数每位向量块的位数目11每位向量页的节点数目2~4 = 16每区页的节点数目2~9 = 512提供统计数据以在地图大小方面给出地图形式的概念,且基于一些实际数据说明地图格式的描述—全局统计计数器节点计数....................................................1598632
线路计数....................................................1598632(1
00. 000% )跳过具有1条线路的节点周围的线路..220180(13. 773% )跳过具有2条线路的节点周围的线路...727138 485% )—等级=
处的统计数据地图计数器...................................87437736(100. 000% )经编码平凡arp 旗标 000. . . 000.................. 1310914(31. 651% )经编码平凡arp 旗标 111. . . 111................... 913348(22. 052% )历史中的经编码arp旗标...........................362432(8. 751% )不在历史中的经编码arp旗标...................607717(14. 673% )否定块..............................................235171 (5. 678% )地图大小(以位计)...............................87437736(100. 000% )全局标头..............................................496(0. 001% )霍夫曼树...........................................28808 (0. 033 % )区二进制大型对象......................................52654 (0. 060 % )区页信息.............................................56216(0. 064% )arp 旗标页信息......................................2497880 (2. 857 % )可变大小记录.....................................84801672(96. 985% )节点周围的线路计数.............................2847844(3. 257% )节点区ID........................................... 2112451(2. 416% )arp 旗标.........................................79841370(91. 312% )码平凡000. . . 000................................. 1689322 (1.932%)码平凡 111. · · 111................................. 1826696 (2. 089 % )在历史中找到的码...............................1668053(1. 908% )未在历史中找到.................................74657299(85. 383% )未在历史中找到的码.....................1463183(1. 673% )否定位..............................................607717(0. 695% )士夬..............................................72586399(83. 015% )所有大小以位计。总地图大小为87,437,736个位(10,929,717个字节)。缩进反映了层级。可变大小记录信息为目前为止最大的一条信息(地图大小的 96.975%)。在可变大小记录中,子项目(缩进的)给出更多细节。位向量为目前为止可变大小记录中要存储的最大的一条信息(91.312%)。且在位向量中,存储在历史中尚未遇到的非平凡位向量构成了地图的最大部分(83. 015% )。关于霍夫曼树的统计数据此节给出在按255个区(即,针对上文所展示的地图数据)编码比荷卢经济联盟时的霍夫曼树的统计数据。在每一节点周围的道路段的数目的霍夫曼树-—[霍夫曼树Nr个线路]-—位1值3 码0
位2值2 码10位3值1 码110位4值4 码1110位5值5 码11110位6值6 码111110位7值7 码 1111110位7值8 码 1111111大多数节点具有3个所附接的道路段,但在所述霍夫曼树中的第2及第3位置中, 发现具有2个及1个所附接道路段的节点(其并非决策节点)。非平凡位向量块的霍夫曼树此为最大的霍夫曼树,因为平凡位向量的存储块为目前为止最大的地图大小贡献因素(在比荷卢经济联255区的实例中,为83. 015% )0---[霍夫曼树NonTrivialArpFlagBlock (非平凡 Arp 旗标块)]-—位1值0 码0位6值1 码100000位6值2 码100001位6值4 码100010位6值8 码100011位6值16 码100100位6值32 码100101位6值64 码100110位6值512 码 100111位6值1024 码 101000位7值1 码 1010010位7值256 码 1010011位7值384 码 1010100位8值5 码10101010...裁剪,过大...位24值1534 码 111111111111111111111011位24值1717 码 111111111111111111111100位24值1741 码 111111111111111111111101位24值1830 码 111111111111111111111110位24值1973 码 111111111111111111111111存储全部由0构成的块为最频繁模式,且根据上文的霍夫曼树以仅1个位来编码 (这意味着即使平凡位向量000. . . 000不按块编码,50%或50%以上的块还编码值0)。这是因为大多数非平凡位向量含有·大部分0 (及少数1)·或大部分1 (及少数0)所述编码方案否定( )含有大部分1的位向量,所以最后,位向量的编码块大部
41分情况下仅以1位编码含有000. . . 000的块。次频繁的块为仅设定1位的块(1、2、4、8、16、 32、64...)。其具有或多或少相同的频率,因此具有相同(或几乎相同)数目个位。本地区ID的霍夫曼树由于将区的列表按频率存储在每一页中,因此可看到,与其它所在地的区ID相比,存储本地区ID 0占用较少位(事实上仅1位)。不同霍夫曼树对应于具有3个区、4个区、5个区等等的页。-—[霍夫曼树区_0]-—位1值0 码 0位2值1 码 10位2值2 码 11-—[霍夫曼树区_1]-—位1值0 码0位2值1 码 10位3值2 码 110位3值3 码 111-—[霍夫曼树区_2]-—位1值0 码 0位2值1 码 10位3值2 码 110位4值3 码 1110位4值4 码 1111-—[霍夫曼树区_3]-—位1值0 码0位2值1 码10位3值2 码110位4值3 码 1110位5值4 码 11110位5值5 码 11111...裁剪...位向量历史码的霍夫曼树码0(表示平凡位向量000...000)为最频繁的(且在大多数情况下,仅以1位编码)。码1(平凡位向量111... 111)就为次频繁的(且仅以1位编码)。再次频繁的码O) 是针对按块编码的非平凡位向量。其它码( > 幻针对在历史中找到的位向量。-—[霍夫曼树Arp旗标_0]-—位1值0 码 0位2值1 码 10位2值2 码 11-—[霍夫曼树Arp旗标_1]------位1值0 码 0
42
位2值1 码 10位3值2 码 110位3值3 码 111-—[霍夫曼树Arp旗标_2]-—位1值0 码0位2值1 码10位3值2 码 110位4值3 码 1110位4值4 码 1111-—[霍夫曼树Arp旗标_3]-—位1值0 码0位2值1 码10位3值2 码 110位4值3 码 1110位5值4 码 11110位5值5 码 11111-—[霍夫曼树Arp旗标_4]-—位1值0 码0位2值1 码10位3值2 码110位4值3 码 1110位5值4 码 11110位6值5 码 111110位6值6 码 111111-—[霍夫曼树Arp旗标_5]-—位2值0 码00位2值1 码01位2值2 码10位4值3 码 1100位4值4 码 1101位4值5 码 1110位5值6 码 11110位5值7 码 11111· · ·裁剪· · ·输入参数对地图大小的影响存在若干输入参数,其控制图8中所展示的文件格式且可影响地图大小。对所述参数的调整可为地图大小与存储器使用或解压缩速度(视参数而定)之间的折衷。本发明的实施例可使用以下输入参数·区页大小
位向量页大小 位向量块大小·位向量霍夫曼编解码器计数·区霍夫曼编解码器计数位向量块大小的影响
值地图大小(位)
435548192
533648792
632290344
730853616
831103200
930436696 (默认)
1030051792
1129266784
1228934696增加位向量的霍夫曼块大小会改进地图压缩。块大小越高,压缩越好。但增加块大小是以需要更多存储器来存储具有2~n个值的较大霍夫曼树为代价的。上文的表说明此情况。当引入最佳化以重新映射每源区的区ID时,预期此参数的影响变得更重大在使用较大的位向量块大小时,此最佳化将有希望导致显著的地图大小减小。位向量页大小的影响
值地图大小(位)
2Λ155563944
2Λ242502936
2Λ334898840
2八430436696 (默认)
2Λ527389952
2Λ625165032
2Λ723635936增加页大小有助于更好地压缩地图。但遗憾的是,较大的页使路线选择方法对文件格式中的数据的解压缩减缓,因为存取随机道路段的位向量需要解码页中的所有道路段。上文的表说明此情况。
位向量霍夫曼编解码器计数的影响
权利要求
1.一种创建包括搜索加速数据的地图数据的方法,所述搜索加速数据经布置以增加可在包含多个可导航段的电子地图上规划路线的速度,每一可导航段表示在由所述地图覆盖的区域中的一段可导航路线,其中所述方法包含a)通过移除可导航段以形成可导航段的核心网络而减小在所述创建所述搜索加速数据的过程中要考虑的可导航段的数目;b)将所述电子地图划分成层级式区的集合,使得所述或每一可导航段被分类到所述层级的每一等级中的至少一个区中;c)使用与所述核心网络中的至少一些且通常每一可导航段相关联的时变函数来确定所述可导航段是否为到所述区中的至少一者的最小成本路线的部分,且将此确定记录于所述搜索加速数据中;及d)产生所述地图数据。
2.根据权利要求1所述的方法,其中在部分c)中,为所述地图数据内的大体上每一可导航段提供所述时变函数。
3.根据权利要求1或2所述的方法,其中通过移除所述搜索加速数据稍后可被恢复的可导航段而产生所述核心网络。
4.根据任一前述权利要求所述的方法,其包含产生用于所述核心网络外部的所述可导航段的搜索加速数据。
5.根据任一前述权利要求所述的方法,其中根据以下准则中的任一者或一者以上而在所述创建所述搜索加速数据之前从所述电子地图移除可导航段移除满足与道路性质有关的预定准则的可导航段;从所述网络移除形成所述网络的部分的根据某一预定准则为足够小且可通过移除满足某另一预定准则的可导航段的集合而与所述网络的剩余部分中断连接的可导航段; 在预定情形下,将在可导航段之间的接点处出现的节点一者折叠到另一者上;及在节点具有连接到其的两个或两个以下可导航段的情况下,将所述节点一者折叠到另一者上。
6.根据任一前述权利要求所述的方法,其包含一旦已产生所述搜索加速数据,就压缩所述搜索加速数据,所述压缩可根据以下技术中的任一者计算所述搜索加速数据中的位对的相关性;以无损失方式聚结所述搜索加速数据中的大体上相关的位以便减小要编码的位的数目;聚结所述搜索加速数据中的相关位以便执行有损压缩; 将经聚结的搜索加速数据中的位根据其相关性重新排序; 对所述搜索加速数据进行霍夫曼编码。
7.—种产生地图数据的方法,所述地图数据包括经布置以增加可在电子地图上规划路线的速度的搜索加速数据,所述方法包含使用至少一个处理设备来处理包含多个可导航段的所述电子地图,所述多个可导航段表示在由所述地图覆盖的区域中的可导航路线的段, 所述方法包含致使所述处理设备a.处理所述可导航段以便产生用于所述电子地图的所述可导航段中的至少一些且通常每一可导航段的所述搜索加速数据,其指示所述可导航段是否为最小成本路线的部分;且b.处理所述所产生的搜索加速数据以便压缩所述数据,其中所述压缩包括以下操作中的任一者或一者以上计算所述搜索加速数据中的位对的相关性;以无损失方式聚结所述搜索加速数据中的完全相关的位以便减小要编码的位的数目;聚结所述搜索加速数据中的相关位以便执行有损压缩;将经聚结的搜索加速数据中的位根据其相关性重新排序;对所述搜索加速数据进行霍夫曼编码。
8.一种创建地图数据的方法,所述地图数据包括经布置以增加可在电子地图上规划路线的速度的搜索加速数据,所述方法包含使用至少一个处理设备来处理包含多个可导航段的所述电子地图,所述多个可导航段表示在由所述地图覆盖的区域中的可导航路线的段, 所述方法包含致使所述处理设备a.处理所述可导航段以便通过移除可导航段以形成可导航段的核心网络而减小在所述创建所述搜索加速数据的过程中要考虑的可导航段的数目;b.产生用于所述核心网络的所述可导航段中的至少一些且通常每一可导航段的所述搜索加速数据,其指示所述可导航段是否为最小成本路线的部分;且其中步骤a.包括以下操作中的任一者或一者以上移除满足与道路性质有关的某一预定准则的可导航段;从所述网络移除形成所述网络的部分的根据某一预定准则为足够小且可通过移除满足某另一预定准则的可导航段的集合而与所述网络的剩余部分中断连接的可导航段;在预定情形下,将在可导航段之间的接点处出现的节点一者折叠到另一者上;及在节点具有连接到其的两个或两个以下可导航段的情况下,将所述节点一者折叠到另一者上。
9.一种创建地图数据的方法,所述地图数据包括经布置以增加可在电子地图上规划路线的速度的搜索加速数据,所述方法包含使用至少一个处理设备来处理包含多个可导航段的电子地图,所述多个可导航段各自具有与其相关联的多个节点,表示在由所述地图覆盖的区域中的可导航路线的段,且具有与其相关联的表示所述可导航路线的参数的至少一个属性,所述方法包含a)评估所述至少一个属性;b)将所述电子地图划分成层级式区的集合,使得所述或每一可导航段被分类到所述层级的每一等级中的至少一个区中,其中所述分类使用步骤a.的所述评估来确保与所述可导航段相关联的所述节点在所述电子地图的所述区上得以平衡;c)产生所述地图数据。
10.根据权利要求9所述的方法,其中反复执行步骤a)及b)直到符合测量所述节点越过所述区的所述平衡的预定准则为止。
11.根据权利要求9或10所述的方法,其中所述属性包括以下各项中的任一者可导航段的类型;沿着所述可导航段的平均速度;所述可导航段的长度;所述段到其它可导航段的连接性。
12.根据权利要求9到11中任一权利要求所述的方法,其中所述方法经布置以确定所述地图中到其的行程时间将慢于预定阈值的区,且将所述区内的可导航段与所述电子地图的其它区分离。
13.根据权利要求9到12中任一权利要求所述的方法,其经布置以将作为岛屿的部分的可导航段与所述电子地图的其它区分离,可通过确定所述可导航段的属性表示轮渡航线来执行此分离。
14.一种创建地图数据的方法,所述地图数据包括经布置以增加可在电子地图上规划路线的速度的搜索加速数据,所述方法包含使用至少一个处理设备来处理包含多个可导航段的电子地图,所述多个可导航段各自表示在由所述地图覆盖的区域中的可导航路线的段,所述方法包含a)将所述地图划分成属于至少一较粗略等级及一相邻较精细等级的多个层级式区,使得将每一可导航段分类到所述较粗略及较精细等级中的每一者中的至少一个区中,且其中所述较粗略等级的任一区含有所述较精细等级的多个区;b)针对给定目的地区,通过评估是否应将接近于所述含有所述目的地区的较粗略等级区的区添加到可见度区域且在所述评估为肯定时添加所述区而确定至少包含含有所述目的地区的所述较粗略等级区的所述可见度区域的范围;c)针对至少一些可导航段,计算关于到所述目的地区的至少一个最小成本路线的信息;d)其中对导航段的所述处理包括执行从所述目的地区反过来朝向所述可导航段的反向搜索,且大体上仅包括所述目的地区的所述可见度区域中的可导航段;及e)产生所述地图数据。
15.一种创建地图数据的方法,所述地图数据包括经布置以增加可在电子地图上规划路线的速度的搜索加速数据,所述方法包含使用至少一个处理设备来处理包含多个可导航段的电子地图,所述多个可导航段各自表示在由所述地图覆盖的区域中的可导航路线的段,所述方法包含a)将所述地图划分成属于至少一较粗略等级及一相邻较精细等级的多个层级式区,使得将每一可导航段分类到所述较粗略及较精细等级中的每一者中的至少一个区中,且其中所述较粗略等级的任一区含有所述较精细等级的多个区;b)针对给定目的地区,通过评估是否应将接近于含有所述目的地区的所述较粗略等级区的区添加到可见度区域且在所述评估为肯定时添加所述区而确定至少包含含有所述目的地区的所述较粗略等级区的所述可见度区域的范围;c)针对至少一些可导航段,计算关于到所述目的地区的至少一个最小成本路线的信息;d)布置所述搜索加速数据以包含关于所述可见度区域中的至少一些且通常每一可导航段到所述目的地区的所述至少一个最小成本路线的信息;及e)产生所述地图数据。
16.根据权利要求14或15所述的方法,其中在步骤b)中的关于区是否接近于含有所述目的地区的所述较粗略等级区的所述评估是基于可为以下各项的任一者或组合的预定准则图理论距离、地理距离、行进时间、燃料消耗及/或C02排放。
17.根据权利要求14到16中任一权利要求所述的方法,其中步骤b评估邻近于含有所述目的地区的所述较粗略等级区的区。
18.根据权利要求14到17中任一权利要求所述的方法,其中添加到所述可见度区域的区包含以下各项中的至少一者所述较粗略等级的一个或一个以上区及所述较粗略等级的一个或一个以上区的一部分。
19.根据任一前述权利要求所述的方法,其中所述搜索加速数据包括除了所述最小成本路线之外的至少一个额外路线,其中所述额外路线可反映以下各项中的任一者或一者以上给定出发点与目的地点之间的在不同时间的不同最小成本路线; 针对不同交通情形在给定出发点与目的地点之间的不同最小成本路线; 根据不同成本函数在给定出发点与目的地点之间的不同最小成本路线; 针对给定道路网络中的任何动态改变在给定出发点与目的地点之间的不同最小成本路线;根据相同成本函数在给定出发点与目的地点之间的替代路线;及在彼此类似的方向上的不同目的地点。
20.一种创建地图数据的方法,所述地图数据包括经布置以增加可在电子地图上规划路线的速度的搜索加速数据,所述方法包含使用至少一个处理设备来处理包含多个可导航段的电子地图,所述多个可导航段各自表示在由所述地图覆盖的区域中的可导航路线的段,所述方法包含a)将所述地图划分成层级的一个或一个以上等级处的多个层级式区;b)按等级层级的次序处理属于层级的特定等级的所述区中的至少一些区,从最精细等级直到最粗略等级进行所述处理,且对于这些区中的至少一些区,确定哪些可导航段进入及/或离开所述区;c)处理所述地图内的所述可导航段中的至少一些可导航段以确定从所述可导航段到目的地区的至少一个最小成本路线;d)其中对可导航段的所述处理包括执行从所述目的地区反过来朝向所述可导航段的反向搜索;e)在所得搜索图中,对于下一较精细等级处的至少一个区,识别处于所述下一较精细等级的区的集合,使得来自所述给定区的每一最小成本路径穿过所述集合的所述区中的至少一者,从而产生相关矩阵;f)在所述所得搜索图中,识别哪些可导航段未包含于从不同于其自身的区的区到另一目的地区的任何路径中,使得其可被认为是“非通行段”,且对于后续步骤移除所述非通行段,以便减小在所述后续步骤中考虑的可导航段的数目;g)其中所述创建搜索加速数据包含使用所述相关矩阵将搜索加速数据指派给在所有先前步骤中已经移除的所述非通行段;及h)产生所述地图数据。
21.至少一种计算装置,其经布置以执行根据权利要求1到6中任一权利要求所述的方法。
22.至少一种计算装置,其经布置以执行根据权利要求7所述的方法。
23.至少一种计算装置,其经布置以执行根据权利要求8所述的方法。
24.至少一种计算装置,其经布置以执行根据权利要求9到13中任一权利要求所述的方法。
25.至少一种计算装置,其经布置以执行根据权利要求14所述的方法。
26.至少一种计算装置,其经布置以执行根据权利要求15到19中任一权利要求所述的方法。
27.至少一种计算装置,其经布置以执行根据权利要求20所述的方法。
28.一种含有指令的计算机可读媒体,所述指令在被读取到机器上时致使所述机器执行根据权利要求1到6中任一权利要求所述的方法或作为根据权利要求21所述的计算装置来执行。
29.一种含有指令的计算机可读媒体,所述指令在被读取到机器上时致使所述机器执行根据权利要求7所述的方法或作为根据权利要求22所述的计算装置来执行。
30.一种含有指令的计算机可读媒体,所述指令在被读取到机器上时致使所述机器执行根据权利要求8所述的方法或作为根据权利要求23所述的计算装置来执行。
31.一种含有指令的计算机可读媒体,所述指令在被读取到机器上时致使所述机器执行根据权利要求9到13中任一权利要求所述的方法或作为根据权利要求M所述的计算装置来执行。
32.—种含有指令的计算机可读媒体,所述指令在被读取到机器上时致使所述机器执行根据权利要求14所述的方法或作为根据权利要求25所述的计算装置来执行。
33.一种含有指令的计算机可读媒体,所述指令在被读取到机器上时致使所述机器执行根据权利要求15到19中任一权利要求所述的方法或作为根据权利要求沈所述的计算装置来执行。
34.一种含有指令的计算机可读媒体,所述指令在被读取到机器上时致使所述机器执行根据权利要求20所述的方法或作为根据权利要求27所述的计算装置来执行。
35.一种导航装置,其经布置以使用其处理器在电子地图上产生路线,其中所述处理器经布置以在所述电子地图上执行路线搜索;在所述搜索期间所处理的表示所述电子地图中的可导航段的节点处的成本计算中,执行对连接到所述节点的可导航段是否被标记为最小成本路线的部分的评估;及如果存在此些可导航段,那么仅探索所述可导航段。
36.一种提供由根据权利要求35所述的导航装置提供的路线规划的方法。
37.一种含有指令的计算机可读媒体,所述指令在由机器读取时致使所述机器充当根据权利要求35所述的机器或提供根据权利要求36所述的方法。
38.一种搜索加速数据,其由根据权利要求1到20所述的方法中的任一者产生。
39.一种计算机可读媒体,其含有根据权利要求38所述的搜索加速数据。
40.一种导航装置,其经布置以使用其处理器来分析地图数据以在电子地图上产生到目的地的路线,其中所述处理器经布置以使用保持于所述地图数据中的信息在所述电子地图上执行路线搜索;在所述搜索期间所处理的表示所述电子地图中的可导航段的节点处的成本计算中,执行对连接到所述节点的可导航段是否在搜索加速数据内被标记为最小成本路线的部分的评估;其中所述地图数据包括关于是否存在从所述节点到所述目的地的额外搜索加速数据的指示符,所述额外搜索加速数据提供关于最小成本路线的另外信息;且如果所述额外搜索加速数据可用,那么仅探索在所述额外搜索加速数据中被标记为最小成本路线的部分的所述可导航段。
全文摘要
一种创建包括搜索加速数据的地图数据的方法,所述搜索加速数据经布置以增加可在包含多个可导航段的电子地图上规划路线的速度,每一可导航段表示所述地图所覆盖的区域中的一段可导航路线,其中所述方法包含a)通过移除可导航段以形成可导航段的核心网络而减小在所述创建所述搜索加速数据的过程中要考虑的可导航段的数目;b)将所述电子地图划分成层级式区的集合,使得所述或每一可导航段被分类到所述层级的每一等级中的至少一个区中;c)使用与所述核心网络的至少一些且通常每一可导航段相关联的时变函数来确定所述可导航段是否为到所述区中的至少一者的最小成本路线的部分,且将此确定记录于所述搜索加速数据中。
文档编号G01C21/34GK102483333SQ201080039464
公开日2012年5月30日 申请日期2010年7月9日 优先权日2009年7月9日
发明者于尔根·韦贝尔, 埃格尼·高里洛, 安德列亚斯·普洛福斯, 海科·席林, 莫里茨·希尔格 申请人:通腾科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1