沿返回路线搜索兴趣点的制作方法

文档序号:5866441阅读:126来源:国知局
专利名称:沿返回路线搜索兴趣点的制作方法
技术领域
本发明涉及导航系统的使用。具体地,本发明使得能够提供关于沿路线的兴趣点的更好计时和路线信息。
背景技术
导航系统已经广泛用于将出行者引导到目的地。这种系统可以安装到车辆内,或是可在车辆间移动的独立式的;该系统适于由驾驶员和/或行人使用;其作为特定目的的设备或作为应用于通用目的的设备(诸如个人数字助理或移动电话)上的应用;以及作为整个独立的系统或作为利用远程服务器来执行一些或其所有计算的系统。我们通常将这些系统称为“导航系统”。由于导航系统的通常用途是将出行者引导到希望的目的地,因此这种系统的一个重要功能就是目的地的选择。在某些情况下,驾驶员通过输入地址来选择目的地。在其它情况下,驾驶员从通常包括家庭住址和工作地址的个人存储目的地列表中来选择目的地。此外,驾驶员通常希望从“兴趣点”的目录中来选择目的地。兴趣点(POI)包括驾驶员可能希望找到的各种目的地,要么是当在家附近外出时或远离家行驶时,诸如旅馆、饭店、加油站、各类商场、路边休息区,以及诸如医院或警察局的应急服务点。驾驶员可能希望搜索给定类别的任意POI (例如,任何饭店),或者希望搜索给定类别的具有给定名称的POI (例如,其名称包含“Taqueria”的饭店),或者希望搜索任何类别的具有给定名称的POI (例如,其名称包含“Taqueria”的饭店,但是不清楚该类别应该是“饭店”还是“快餐店”)。驾驶员可能希望搜索当前位置的径向周围内的Ρ0Ι,不考虑任何先前的或当前的目的地。可选的,驾驶员可能希望搜索已经计算的路线附近的Ρ0Ι,例如,找到从当前到目的地的规划路线附近的加油站。所有这些类型的搜索通常在现代的导航系统中都是支持的。

发明内容
本发明使得能够搜索沿路线的兴趣点,同时考虑到偏离路线到达POI的成本(时间或距离)以及返回到路线的成本。驾驶员可能寻找更紧急或较不紧急的Ρ0Ι,并且因此可能希望从当前规划的路线行驶更长或更短的距离。突然注意到燃油量表接近“空”的驾驶员可能希望偏离路线行驶几英里就能迅速找到加油站,而刚开始感到饥饿的驾驶员可能希望沿着路线行驶半个小时才找到非常接近路线的饭店。本发明还使得即使当路线没有被驾驶员预先规划过时也能够搜索沿着当前路线的Ρ0Ι。根据本发明的系统包括GPS模块、用户界面模块、数据库和路线引擎。该路线模块识别从路线可以以成本小于某一阈值距离m到达的所有Ρ0Ι。例如,可通过利用Dijkstra 算法执行测定来进行上述识别。路线引擎然后(或同时)在规划路线中的节点上执行反向测定以便定位可以以小于第二阈值成本η的成本从POI到达路线的Ρ0Ι。例如,该过程可通过利用反向Dijkstra测定来执行,所述反向Dijkstra测定用于对于成本η(例如,英里或分钟)而言,在成本上从沿着定向图的路线进行反向测定以便确定哪些POI处于成本η内。 然后将被识别为从路线可以以小于成本m到达的POI以及从POI可以以小于成本η到达路线的POI进行进一步过滤,以便识别从路线到达POI的时间或距离以及从POI返回到路线的时间或距离的总和小于阈值时间或距离t的POI的子集。


图1是根据本发明一个实施例的导航设备的框图;图2示出根据本发明一个实施例的从出发点到目的地和兴趣点的路线;图3示出根据本发明一个实施例的从出发点到兴趣点的多条路线;图4示出根据本发明一个实施例的用于提供沿路线搜索兴趣点的方法的流程图;图5示出根据本发明一个实施例的在移动设备和服务器之间的通信;图6示出根据本发明一个实施例的用于提供沿路线搜索兴趣点的方法的流程图。
具体实施例方式由于导航系统广泛地由车辆驾驶员使用,因此我们通常将这种系统的用户称为 “驾驶员”。然而,下述说明不仅限定于车辆驾驶员;其同样可用于任何用途,其中系统的用户是任意类型的行驶者,例如包括行人、骑自行车的人、或者使用多种运输模式的人,诸如行人和坐公交车的人。此外,虽然在公共道路和高速公路的上下文中描述了系统和方法,但是所述的系统和方法也可用于飞机导航和航海导航。图1是根据本发明一个实施例的系统100的图。系统100包括用户界面(Ul)模块102、路线引擎104、数据库106、以及GPS模块108。UI模块102提供一个或多个信息屏, 并且使得驾驶员能够与导航系统100通信。路线引擎104管理路线规划和引导功能,包括如下所述的沿路线到达POI以及从POI出发的路线。数据库106为导航系统100提供本地存储,并且可包括关于POI以及诸如公路、十字路口、地形地势等的其它特征的信息。GPS模块108执行GPS定位功能,并且接收来自GPS卫星110的GPS信号。应该注意虽然所述实施例中导航系统100利用GPS来确定其位置,但是尤其是因为研发了更新的技术,因此也可使用可替代的技术。不管系统100得到其位置的方式,同样可应用本发明。用户界面模块102提供通常在个人导航设备上可得到的许多用户界面功能。例如,UI模块102容许用户通过输入地址或从列表选择来指定目的地。此外,在本发明的各个实施例中,UI模块102包括用于接收来自驾驶员的POI搜索偏好以及用于呈现POI搜索结果和路线信息的界面元素,如下面更详细描述的那样。我们从一个实例开始来解释说明系统100的操作。在该实例中,驾驶员开始从加利福尼亚州的旧金山到弗吉尼亚州的亚历山大(Alexandria)的较长公路旅程。路线引擎 104标绘出最佳路线,并且考虑到驾驶员选定的任何偏好,例如,避免收费公路。用户界面模块102显示所标绘的路线,以及驾驶员沿着州际公路80向东行驶。在驾驶几个小时后,驾驶员开始感到饥饿。通过参考用户界面,驾驶员获知其刚通过内华达州的米尔(Mill)城。沿其路线的下一大的城镇是温纳穆加(Wirmemucca),其可能有几个饭店选择。可选的,仅具有一个饭店的小城镇科斯格雷夫(Cosgrave)更近。但是, 科斯格雷夫没有在州际公路上,并且会与驾驶员规划的路线偏离一定距离。虽然对于驾驶员而言尽快地吃上饭是有益的,但是对于他而言在天黑之前到达犹他州的盐湖城也是重要的。他不确定当偏离到科斯格雷夫饭店而造成的延迟,因此将更愿意做一个被告知的选择。通过在用户界面中选择POI搜索功能,由系统100呈现给驾驶员从其中进行选择的POI列表。取决于实现方式,可以用各种方式呈现列表。例如在一个实施例中,用户选择 POI搜索,之后通过饭店类别进行过滤。之后用户界面模块102呈现给驾驶员在给定距离 (如下面所述,其可以是径向的、行驶时间、或者是行驶距离)内的饭店列表。对于没有沿着驾驶员路线的每个Ρ0Ι,用户界面模块102显示两个距离第一距离是沿着路线到达驾驶员从那个点离开并前往到POI的点的距离(到“路线离开点”的“沿着路线的距离”);第二距离是POI偏离路线的距离(“偏离路线的距离”)。在我们的实例中,沿着路线的距离是8. 5 英里,而偏离路线的距离是1. 1英里。可选的,驾驶员可将系统100设定成显示估计的由基于存储于数据库106中关于绕道而行的信息的偏离导致的偏离路线的时间,例如包括沿着偏离路线部分的估计速度。在该实例中,延迟约两分钟。驾驶员做出决定,两分钟是可接受的时间,因此偏离以行驶向科斯格雷夫。图2示出沿着路线的距离和偏离路线距离之间的区别。在图2中,驾驶员规划的路线是从点202到点204。假定POI位于点206处,而且为了到达Ρ0Ι,驾驶员不得不在点 208处离开路线到另一公路上。因此沿着路线的距离210是从点202到点208的距离,以及偏离路线的距离212是从点208到点206的距离。在另一实施例中,两个距离分别是第一距离是沿着路线的距离与偏离路线距离的总和(“总距离”),并且第二距离是偏离路线的距离。还在另一实施例中,两个距离分别是沿着路线的距离和总距离。在传统的导航系统中示出到达每一 POI的一个距离,POI通常以距离增加的顺序被存储。在本发明的一个实施例中,路线引擎104以沿着路线的距离增加的顺序对POI分类。在其它实施例中,路线引擎104以总距离增加的顺序或以偏离路线的距离增加的顺序对POI分类。应该注意用作分类标准的距离没有必要是由用户界面模块102显示距离的其中之一。在一个实施例中,以及参照图3,沿着路线的距离和偏离路线的距离仅仅是纯几何学的计算。在该实施例中,路线离开点308是在欧几里得距离上在路线上距POI 306最近的点,POI的偏离路线距离是从路线离开点308到POI 306的欧几里得距离314,以及沿着路线的距离312是沿着路线测量的从当前位置302到路线离开点308的距离。在另一实施例中,通过测量行驶距离来计算沿着路线的距离和偏离路线的距离。在该实施例中,路线离开点是在路线上的点310,从该点到POI的行驶距离(不是欧几里得距离)最短,偏离路线的距离是沿着公路的从路线离开点310到POI 306的行驶距离,而不是欧几里得距离,以及沿着路线的距离是沿着路线从当前位置302到路线离开点310的行驶距离。在另一实施例中,代替行驶距离,采用被最小化的另一度量。例如,可使用估计行驶时间。在该情况下,路线离开点是在路线上的点302,从该点302到POI 306的估计行驶时间最小,偏离路线的“距离”是从路线离开点316到POI 306的估计行驶时间,以及沿着路线的“距离”是从当前点 302到达路线离开点316的估计行驶时间。本领域的普通技术人员将理解可使用各种距离测量方式。在一些实施例中,可以用如下方式对沿着路线和偏离路线的距离的定义进行略微变化路线离开点是在路线上的一点,从而使得沿着路线到该点的距离加上从该点到POI 的距离最小。此处“距离”可以是行驶距离、估计行驶时间、或者要使得最小的任意其它距
离测量值。在一个实施例中,对POI的搜索受到“搜索距离”的限制,也就是,距离路线的指定的距离(根据欧几里得距离、行驶距离、估计行驶时间、或者另一距离测量值)。即,仅处于该距离阈值内的POI才显示给用户。在一个实施例中,用户针对不同类别指定不同默认搜索距离。例如,驾驶员可能希望从路线行驶5英里而到达加油站,但是从路线仅行驶3英里就能到达饭店。在一个实施例中,用户界面模块102除了为驾驶员提供具有沿着路线的距离和偏离路线的距离的POI列表之外,还提供“更紧急”和/或“较不紧急”按钮。如将了解的那样,与用户界面的其它部件一样,“按钮”可以是真实按钮、触摸屏上的虚拟按钮、或者是其它合适类型的用户界面元素。当按压“更紧急”按钮时,路线引擎104重复搜索,但是对于最大偏离路线的距离有更大的限制。之后路线引擎104将趋于找到更靠近当前位置的更多的Ρ0Ι,但是其偏离路线更远。当按压“较不紧急”按钮时,路线引擎104重复搜索, 但对于偏离路线的最大距离有更小的限制。之后路线引擎104将趋于找到距离当前位置更远的Ρ0Ι,但是距离行驶路线更近,因此如果驾驶员希望在到达POI之前行驶更远距离则对驾驶员而言更加方便。在一个实施例中,对于驾驶员来说,通过设置可由用户访问的具有更少动作(例如通过按压更少的按钮)的一个或多个“我需要”的按钮可使得同样的POI搜索比通用POI 搜索更方便。例如在一个实施例中,用户界面模块102的地图显示屏在屏幕上具有“我需要汽油”按钮和“我需要食物”按钮,以便快速访问来进行搜索。在另一实施例中,地图显示屏具有“我需要”按钮;当按压“我需要”按钮时,屏幕切换到具有非常普通大众化选择的简单菜单,例如,“我需要汽油”、“我需要宾馆”以及“我需要食物”。在某些实施例中,位于地图主屏上和位于地图次屏上的“我需要”按钮可由用户来配置。因此,喜欢咖啡的一个驾驶员可在快速“我需要”菜单中输入咖啡商店,而不喜欢咖啡但喜欢在便利店购买软饮料的另一驾驶员可将咖啡从快速“我需要”菜单中去除而包括便利店。在某些实施例中,甚至当前没有计算的路线时路线引擎104也能沿着路线搜索。 例如,由于驾驶员特别熟悉路线而不需要引导,驾驶员可能没有计算路线。此外,即使沿着熟悉的路线,但是驾驶员可能希望搜索诸如加油站或快餐店的不熟悉的Ρ0Ι。路线引擎104 通过推断可能的路线使得能够执行这种搜索。在一个实施例中,路线引擎104假定驾驶员将沿着具有相同名称的路线尽可能远的继续行进,以及当公路名称没有继续时假定驾驶员将继续沿着同样的公路或更重要的公路尽可能接近直线地继续行驶。接着路线引擎104采用该推断路线作为沿其进行搜索的路线。在这种情况下,可以传统方式对路线进行搜索,或者使用在此描述的技术。在可选的实施例中,路线引擎104通过跟踪多次旅程的驾驶员行为,进行更可能的推论,并且当驾驶员位于系统100认为是驾驶员习惯行为中经常行驶的公路上时,推断驾驶员当位于当前公路上时将沿着他或她最通常行驶的路线行进。在一个实施例中,系统100存储由驾驶员所采取的先前路线(不管是否预先规划)的历史记录。历史记录中的路线数目根据设计者和/或驾驶员的偏好而改变。之后路线引擎104搜索先前路线以便预测驾驶员当前是否沿着其中之一行驶。接着路线生成器104选择具有最高预测分值的路线以便推断路线和提供POI援助。在另一实施例中,路线生成器104维护过去目的地(相对于通往目的地的路线)的列表,并且识别位于行驶方向上或者在行驶方向附近的一个或多个过去目的地。在一个实施例中,如果到达目的地的距离在减少,那么目的地则位于行驶方向上或者在行驶方向附近。然后,路线生成器104选择作为最快到达的先前的目的地并且标绘到达该目的地的路线。然后,该路线就是沿路线搜索POI的预期路线。图4是根据本发明一个实施例的用于提供沿路线搜索兴趣点的方法的流程图。系统100接收来自驾驶员的请求(步骤402)以便显示附近POI的列表。如注意到的那样,该请求会受到特定类别的限制,或者仅可以是针对沿着路线的所有已知POI的请求。同样如注意到的那样,请求包括距离或时间限制,或可选的,采用默认限制。路线引擎104例如利用数据库106进行搜索并识别一组附近的POI (步骤404)。然后,路线引擎104根据由驾驶员提供的距离或时间参数或根据默认值来过滤列表(步骤406)。用户界面模块102显示经过滤的列表以及包括如上所述的沿着路线的距离和偏离路线的距离或时间的偏离信息 (步骤408)。例如在驾驶员不需要引导到POI的一个实施例中,驾驶员仅是继续前进,而不需要获取其它路线引导。可选的,驾驶员提出请求,并且用户界面模块接收POI的选择(步骤410),然后标绘通往所选POI的路线(步骤412)。在各个实施例中,上述描述的计算不是在移动设备上执行而是在服务器上执行。 图5示出经由通信网络506与移动设备502进行通信的服务器504。由移动设备502经由通信网络506将驾驶员对于POI的特定请求以及关于驾驶员当前位置和行驶的规划路线或方向的数据发送到服务器504。服务器504确定合适结果的列表并且将信息返回到移动设备102以便显示给用户。这容许移动设备502用较少的处理和存储需求来运行,并且还容许对POI以及路线信息更集中地进行更新。对于本领域的普通技术人员而言基于欧几里得距离搜索的技术是已知的。有在一个区域(诸如沿着路线的区域)内进行搜索的许多方法。在NO. 5,963,956的美国专利中教导了一个索引方案,通过引用全文将其并入本文中。在该方法中,以及在许多其它已知索引方法中,可找到落入路线的指定距离内的记录。可以在这种记录中检索所有Ρ0Ι,然后计算到路线的欧几里得距离以及在路线上的最近点,然后将到路线的欧几里得距离超过期望阈值的那些POI丢弃。当基于行驶距离搜索时,可基于欧几里得距离的搜索开始,然后增加额外的过滤步骤来执行搜索。假定阈值距离为dkm。如果POI在欧几里得距离中离路线超过dkm,那么在行驶距离中距离路线当然超过dkm,因为行驶距离必须至少与欧几里得距离(其基本为一直线)一样长。因此第一搜索操作可找到在欧几里得距离中距离路线在dkm内的那些 POL·然后可测定公路网络以便确定POI是否在行驶距离中离路线在dkm内。可以用两种方式中的任一种来执行该第二过滤操作。可从POI向外测定公路网络 (例如使用Dijkstra算法,其对于本领域的技术人员是众所周知的)直到所有公路都在距离内(如果测定到dkm),或者直到到达路线,不管哪个首先实现。如果找不到POI位于dkm 内的路线,则POI在行驶距离中距离路线超过dkm,并且可被排除掉。如果找到POI位于dkm 内的路线内,我们就获知了路线上最近的点以及到该最近点的距离。可选的,可通过从路线而不是从POI向外测定公路网络(例如使用Dijkstra算法)来同时核查到达多个POI的距离。可执行该测定直到已经测定到在路线的dkm内的所有的公路。对于测定到的那些Ρ0Ι,我们就获知了路线上的最近点以及到该点的距离。没有测定到的那些POI未处于路线的dkm内。在某些情况下,从POI测定是更有效的,但是在其他情况下从路线测定是更有效的。通常,POI在路线附近的区域内更密集,其在路线处开始执行搜索就更有效。在一些实施例中,在运行时基于包括路线长度、搜索半径以及经过初始测试的POI数目的标准来进行是从POI进行搜索、还是从路线进行搜索的决定。在一个这种实施例中,按照如下进行测试假定花费在搜索上的计算量与搜索面积大致成比例。如果路线长度为1,并且最大的搜索距离为r,如果搜索在路线处开始,则将被搜索的面积大约为21ι·+πι·2。此外,如果经过初始过滤的POI数目为n,如果搜索在POI处开始,则将被搜索的面积大约为η π r2。这意味着如果并且只有当ηη r2 > 21r+ π r2时,g卩,如果并且只有当(η_1) π r > 21时,S卩,如果并且只有当η > 1+21/ π r时,在POI处开始所花费的计算量超过在路线处开始所花费的计算量。因此,如果η ^ 1+21/ π r,则从POI进行搜索,而如果η > 1+21/π r,则从路线进行搜索。(其中η精确等于1+21/ π r的情况是罕见的,因此在该情况下进行哪种决定仅存在较小差异或没有差异)。当基于行驶时间搜索时,以几乎相同的方式进行搜索。如果被估计的是行驶时间, 那么存在与地图中每个公路元素相关联的速度。因此路线引擎104可获知与数据库中任何地方任何公路相关联的最大速度。通过利用该最大速度,可以确定最大的距离,使得在以最大行驶速度行驶的最大行驶时间内的任何POI也必须在最大距离内。(如果行驶时间阈值为t小时,以及在数据库中任意地方的最大速度为skm/h,那么在t小时的行驶时间内的任意点也将在stkm的行驶距离内,因此也在stkm的欧几里得距离内)。可如上所述执行第一过滤,然后可如与针对使用行驶距离进行测定的描述一样,执行利用行驶时间的测定。如上所述,在一些实施例中,选择路线离开点以便使得从路线到POI的行驶距离不是最小的,而是使得从出发点到路线离开点的距离加上到POI距离的总距离最小。在这种实施例中,可对Dijkstra算法进行改变来执行找到路线离开点的步骤。如通常使用的 Dijkstra算法保持从出发点到测定中的每一节点的最佳已知距离,以及距离出发点的最佳路线中的先前节点的指示。在该实施例中,对Dijkstra算法进行改变,以使得对于每个节点,保持距离出发点的最佳已知距离以及距初始路线的距离,以及先前节点的指示。对于初始路线中的每一节点,距离出发点的最佳已知距离被初始化为从出发点到该节点的距离, 以及距离路线的距离被初始化为零。接着以通常方式应用Dijkstra算法,但是如果距离路线的距离大于限制距离,则不测定给定节点。没有落入该测定中的POI在限制距离之外。使从出发点到每一POI的距离最小化的路线通过参照先前节点沿着POI返回直到到达原始路线来获得。返回到路线我们现在描述不仅只考虑从路线偏离的成本(时间或距离)而且还考虑从POI返回到路线的成本的附加实施例。这并不是无关紧要的,因为相当多的情况下路线是不可逆的。例如,在美国州际公路系统以及其它全球高速公路系统中常见的事情是例如,考虑到高速公路变路时仅仅包括出口而没有入口。在这种情况下,实际上位于该出口处的特定POI 确实正好处于由驾驶员或制造商指定的阈值距离或时间内;但是,实际上从POI返回到高速公路需要沿着辅助公路行驶-且在某些情况下是相对驾驶员的目的地错误的方向-以重新进入高速公路。该经历可易于将此时看似好主意的停止变成尴尬以及不希望的绕道而行。参照图6,路线引擎104通过识别从路线可以小于成本m到达的所有POI而开始 (步骤602)。例如,如果成本是行驶时间的测量值,那么路线引擎104识别从路线上的某一点可以在m分钟内到达的所有Ρ0Ι。例如,这可通过利用Dijkstra算法执行测定来实现。 然后路线引擎104在规划路线中的节点上执行反向测定以便将定位从POI可以以成本小于 η到达路线的POI (步骤604)。对于η分钟(或η英里)而言,在时间(即在成本上)上从路线沿着定向图利用反向Dijkstra算法进行反向测定以便确定哪些POI处于η分钟(或 η英里)内。在反向Dijkstra测定中,从每一节点的搜索确定从多个节点可以到达那个节点的多个节点。这与常规(正向)Dijkstra测定不同,在常规(正向)Dijkstra测定中,从每一节点的搜索确定从那个节点可到达的多个节点。然后路线引擎104保存从路线可以以小于成本m到达的POI以及从POI可以以小于成本η到达路线的POI组(步骤606)。也就是,如果m和η都设定成等于时间t,那么所保存的POI组包括驾驶员可以以小于时间t的成本到达以及从POI返回到路线的所有点。 当然,该组也包括许多错误肯定(false positive)(需要长于时间t才能到达的POI以及从POI需要长于时间t才能返回到路线的Ρ0Ι),但是生成该组的方式导致没有错误否定 (false negative)。然后路线引擎104过滤所保存的POI组以便识别从路线到达POI的时间以及从POI返回到路线的时间的总和小于t的那些POI (步骤608)。应该注意,POI不处于节点上而是沿着两个节点之间的链路也是可能的。在该情况下,如果可在时间t内到达位于链路远端的节点,那么因为它在链路中出现的较早,所以可以稍微短于时间t的时间到达Ρ0Ι,但是需要相应较长的时间从POI返回到路线。那么, 如果以及仅仅如果POI也通过测试,则处于链路端部处的节点通过t分钟的测试,并且因此如果处于链路端部处的节点通过测试,则链路上的POI才是完全可接受的。路线引擎104仍在执行相当大数目的测定,因为路线可能是非对称的,所以路线引擎104不会简单地假设可以在时间t/2到达以及从POI可以以时间t/2到达路线的任意 POI代表所找到的整个POI组。例如,假设仅仅花1分钟就能从路线到达Ρ0Ι,但是从POI 需要花费9分钟的时间才能到达路线上的点,例如,其中高速公路出口没有相应的驶进匝道(on-ramp)。如果t为10分钟,那么该POI应该被包括在最终的POI组内。但是,如果路线引擎104仅仅考虑在t/2分钟内可到达的POI以及在t/2分钟内可从其返回,那么该 POI将被漏掉。为了到达节点,驾驶员沿着路线行驶特定距离,然后偏离路线行驶额外的距离。如果沿着路线行驶的距离为r,那么从路线偏离到节点的距离是s,那么总距离d为r+s。在一个实施例中,路线引擎104跟踪s和d(需要时可从上述推出r)。可选的,路线引擎可跟踪 r和d,或者r和s,第三变量可从另外两个推出。具体的,在用于执行测定的下述Dijkstra算法中,如果找到到达节点的第二路径,则保存第二路径,以及如果第二路径成本低于第一路径,则用第二路径代替第一路径。 但是在一个实施例中,路线引擎104认为更好的路径是从路线起始点相对于从路线离开点具有较低成本的路径,以及如果到达节点的第二路径具有从路线出发点的较低成本,则用第二路径代替先前已知的最佳路径,以及将相关的成本对(例如,上述的s和d)进行储存。 因此,路线引擎104可以有时用从路线离开点具有更高成本、但是从出发点具有更低成本的路径代替从路线离开点具有更低成本的路径。例如,具有沿着路线行驶的5分钟成本以及偏离路线行驶的1分钟、成本总共6分钟的第一路径将由具有沿着路线行驶的3分钟成本以及偏离路线行驶的2分钟、成本总共5分钟的第二路径代替,尽管第一路径中的偏离路线的成本1分钟小于第二路径中的偏离路线的成本2分钟。用于测定的停止标准是偏离路线的成本m以及返回到路线的成本n,因此当上述两个测定完成时,路线引擎104已经确定了从路线出发点到达节点的最佳路径,其不涉及从路线偏离长于t分钟的路径。在一个实施例中路线引擎104基于下述来过滤结果,从出发点到达路线离开点成本,加上从路线离开点到达节点的成本,加上从节点到达路线上返回点的成本,加上从返回点到达目的地的成本,以及减去沿着最初路径从出发点到达目的地的成本。这会导致由于沿着最佳已知路径偏离到POI而发生的额外行驶的量(时间或距离)。在一些情况下,POI可以非常靠近于从出发点到目的地的可能路线,尽管该可能路线不是从出发点到目的地的最短(或最快)路线。例如,从加利福尼亚的圣何塞(San Jose) 到达旧金山存在两条高速公路路线。两条中较短的是沿着美国高速公路101 ;两条中较长的是沿着州际公路观0。但是两者的差异不大,取决于旧金山中的最终目的地,大约1-5英里。现在假定POI在距离州际公路280上特定出口的2英里内,那么用户可将10英里的最大阈值限定为可接受的绕道而行的总距离。如果高速公路101是初始规划的路线,那么取而代之采取州际公路280将导致小于10英里的净额外行驶距离,其对于驾驶员而言是可接受的。但是为了找到Ρ0Ι,路线引擎104将必须从原始路线进行扩展式的测定-有可能在距离原始路线的远达30英里的范围内寻找(因为高速公路101和州际公路280大致彼此平行延伸,但是位于硅谷的相对侧上)。利用上述技术确实可以执行上述测定,以及在一个实施例中,路线引擎104确实配置成执行这种测定。但是,在一个可选实施例中,路线引擎104 对于距离路线的距离以及返回到路线所需要的距离有更近距离的限制,例如5英里。由于上述原因该限制将漏掉沿着州际公路280的Ρ0Ι,但是需要相当小的计算能力。在该实施例中,路线引擎104仍确保找到小于t分钟的额外行驶距离的每个已知Ρ0Ι,以及距离原始路线少于5英里和从POI返回到路线少于5英里。虽然以上关于有限数目的实施例对本发明进行了详细的描述,但是其它实施例也是可能的。组件的具体命名以及其程序或结构方面不是强制性的或重要的,以及实现本发明或其特征的机构可具有不同的名称、格式或协议。此外,可如上所述经由硬件和软件的结合来实施该系统,或完全用硬件元件来实施。此外,在此描述的各个系统组件之间的具体功能划分仅仅是示例性的,不是强制性的;由单个系统组件执行的功能可由多个组件代替执行(例如由图4的描述所示),以及由多个组件执行的功能可由单个组件代替执行。例如, 路线引擎104的具体功能可以由许多或一个模块来提供。虽然在功能上或逻辑上进行了描述,但是上述操作可以通过由存储在一个或多个计算机可读介质上的、由处理器执行的计算机程序来实施。例如计算机可读介质包括任意类型的磁盘(包括软盘、光盘、CD-ROM、磁性光盘)、只读存储器(ROM)、随机存取存储器 (RAM)、EPR0M、EEPR0M、磁性或光卡、专用集成电路(ASIC)、或者适于存储电子指令的任何类型的介质,并且其每一个耦合到计算机系统总线。此外,在说明书中所提及的计算机可以包括单个处理器或可以是利用多个处理器设计以用于增强的计算机能力的体系架构。贯通该说明书,用诸如“处理”或“运算”或“计算”或“确定”或“显示”等的术语的论述指的是特定计算机系统、或类似的电子计算设备的动作和程序,其操纵并传送表示物理特征或对物理特征建模的数据,并且所述数据被表示为计算机系统存储器或寄存器或其它这种信息存储、传送或显示设备内的物理(电子)量。上述的算法和显示没有内在地与任何特定的计算机或其它设备相关联。可通过本文中的教导来对各种通用系统进行改变,或者构建更专门的设备来执行所述的方法步骤被证实是方便的。对于各类这些系统而言,所需的结构根据上述说明将显而易见。此外,没有参照任何特定的编程语言对本发明进行描述,可由实施者选择任意合适的其中之一。最后,应该注意在本说明书中使用的语言原则上是为了可读性和指导性目的而选择的,并不是为了表示或限制发明性的主题而选择的。因此,本发明的公开意旨是说明性的,而不是对本发明范围进行限制。
权利要求
1.一种用于提供到兴趣点的路线的方法,所述方法包括识别第一组兴趣点,从规划的导航路线以小于第一阈值成本的成本可到达第一组中的每个兴趣点;识别第二组兴趣点,从所述第二组中的每个兴趣点以小于第二阈值成本的成本可到达所述规划的导航路线;确定第三组兴趣点,所述第三组仅仅包括同时在所述第一组和所述第二组中的兴趣点。确定第四组兴趣点,所述第四组仅仅包括所述第三组中的兴趣点,其中从所述路线到达所述兴趣点的成本加上从所述兴趣点返回到所述路线的成本小于第三阈值成本;以及在导航设备的用户界面中显示所述第四组兴趣点。
2.根据权利要求1所述的方法,其中所述第三阈值成本是行驶距离。
3.根据权利要求1所述的方法,其中所述第三阈值成本是估计的行驶时间。
4.一种用于提供到兴趣点的路线的系统,包括 数据库,其存储兴趣点数据;全球导航卫星系统无线电,其适于确定用户的当前位置; 路线引擎,其耦合到GPS模块和所述数据库,所述路线引擎适于 识别第一组兴趣点,从规划的导航路线以小于第一阈值成本的成本可到达所述第一组中的每个兴趣点;识别第二组兴趣点,从所述第二组中的每个兴趣点以小于第二阈值成本的成本可到达所述规划的导航路线;确定第三组兴趣点,所述第三组仅仅包括同时在所述第一组和所述第二组中的兴趣点。确定第四组兴趣点,所述第四组仅仅包括所述第三组中的兴趣点,其中从所述路线到达所述兴趣点的成本加上从所述兴趣点返回到所述路线的成本小于第三阈值成本;以及耦合到所述路线引擎的用户界面模块,其适于显示到所述兴趣点的距离的一个或多个标记。
5.根据权利要求4所述的系统,其中所述全球导航卫星系统无线电是GPS无线电。
6.一种用于提供到兴趣点的路线的计算机程序产品,所述计算机程序产品存储在计算机可读介质上并且包括适于使计算机执行下述步骤的指令,所述步骤包括识别第一组兴趣点,从规划的导航路线以小于第一阈值成本的成本可到达所述第一组中的每个兴趣点;识别第二组兴趣点,从所述第二组中的每个兴趣点以小于第二阈值成本的成本可到达所述规划的导航路线;确定第三组兴趣点,所述第三组仅仅包括同时在所述第一组和所述第二组中的兴趣点。确定第四组兴趣点,所述第四组仅仅包括所述第三组中的兴趣点,其中从所述路线到达所述兴趣点的成本加上从所述兴趣点返回到所述路线的成本小于第三阈值成本;以及在导航设备的用户界面中显示所述第四组兴趣点。
全文摘要
根据本发明的系统包括GPS模块、用户界面模块、数据库和路线引擎。该路线模块识别从路线可以以成本小于某一阈值距离m到达的所有POI。例如,可通过执行利用Dijkstra算法的测定来进行该识别。路线引擎然后(或同时)在规划路线中的节点上执行反向测定以便定位从POI可以以小于第二阈值成本n的成本到达路线的POI。例如,该过程可通过利用反向Dijkstra测定来执行,对于成本n(例如,英里或分钟)而言,在成本上从路线沿着定向图进行反向测定以便确定哪些POI处于成本n内。然后将被识别为从路线可以小于成本m到达的POI以及从POI可以小于成本n到达路线的POI进行过滤,以便识别从路线到达POI的时间或距离以及从POI返回到路线的时间和距离的总和小于阈值时间或距离t的POI的子集。
文档编号G01C21/34GK102449439SQ200980159608
公开日2012年5月9日 申请日期2009年4月1日 优先权日2009年4月1日
发明者R·F·波彭, 唐卫东 申请人:德卡尔塔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1