实例实施例总体上涉及部分地图更新。具体地,实例实施例总体上涉及使用混合导航中的混合版本的地图图块进行部分地图更新。
背景技术
汽车导航系统和其它移动系统可以基于存储的地图数据为用户提供从起点到目的地的旅行路线、区域地图、沿路线的危险警报等。可以频繁地更新由汽车导航系统或其它移动系统存储的地图数据。例如,地图数据可以以基于图块的格式(例如,mos-f8、nds等)存储,使得可以以模块化方式更新地图数据。例如,可以逐个图块地提供更新的地图数据。例如,用户希望尽可能快地提供所请求的路线,并且如果要更新整个地图那么可能不满足提供路线所需的时间。在另一实例中,可以限制用户设备到更新服务器的可用带宽和/或连接性,使得更新整个地图是不可行的。
如果地图得到部分更新,问题是现在汽车导航系统或其它移动系统中存在不同版本的图块。例如,可以接收一个图块的地图更新,但是可能不接收相邻图块的地图更新。因此,由于道路拓扑的变化,两个相邻图块相遇的边界可能不兼容。但是,任何提供的路线或显示的地图应在本地连接并且功能正常。
技术实现要素:
实例实施例被配置成为(例如,操作用户设备的)用户提供本地连接且功能正常的地图,所述地图可以用于使用最新可能的地图版本快速提供路线或其它信息,同时不要求同时更新整个地图。
根据实例实施例提供了方法、设备和计算机程序产品,以便提供部分地图更新。在实例实施例中,接收更新的地图数据。所述更新的地图数据包括多个链路。标识所述多个链路中的一个或多个变更的或新的链路。变更的链路不同于先前的地图数据中的相应链路,并且新链路在所述先前的地图数据中不具有相应链路。确定所述更新的地图数据的平铺。基于所述更新的地图数据的所述平铺确定图块边界与所述一个或多个变更的或新的链路中的至少一个相交。所述图块边界是第一图块与第二图块之间的边界。基于所述更新的地图数据、对应于与所述图块边界相交的所述一个或多个变更的或新的链路的先前的地图数据和所述平铺来编译地图更新。
根据实例实施例,提供了一种方法。所述方法包括接收更新的地图数据。所述更新的地图数据包括多个链路。所述方法进一步包括标识所述多个链路中的一个或多个变更的或新的链路。变更的链路不同于先前的地图数据中的相应链路,并且新链路在所述先前的地图数据中不具有相应链路。所述方法进一步包括确定所述更新的地图数据的平铺,以及基于所述更新的地图数据的所述平铺确定图块边界与所述一个或多个变更的或新的链路中的至少一个相交。所述图块边界是第一图块与第二图块之间的边界。所述方法进一步包括基于所述更新的地图数据、对应于与所述图块边界相交的所述一个或多个变更的或新的链路的先前的地图数据和所述平铺来编译地图更新。
在实例实施例中,标识变更的或新的链路包括确定所述先前的地图数据是否包括与所述多个链路的链路相对应的相应链路。在实例实施例中,所述多个链路的所述链路包括链路属性,并且标识所述多个链路中的一个或多个变更的或新的链路进一步包括将所述链路的所述链路属性与所述相应链路的链路属性进行比较。在实例实施例中,所述链路属性包括以下中的一者或多者:链路标识符、链路几何形状、链路位置、交叉口标识符、街道号码范围、交通方向流量指示符、拼车车道存在指示符、汽车开启指示符、直通交通指示符、一个或多个时间限制、驾驶侧指示符、受控访问指示符、服务道路指示符、施工指示符、渡轮指示符、私人道路指示符、或季节性关闭。
在实例实施例中,对应于与所述图块边界相交的所述一个或多个变更的或新的链路的所述先前的地图数据对应于仅部分地包含在所述第一图块内的完全连接的断开集群。在实例实施例中,其中当(a)尚未为所述第二图块提供地图更新数据以及(b)包括所述第一图块与所述第二图块之间的所述图块边界的区域处于所关注地图区域中时,使用或显示对应于与所述图块边界相交的所述一个或多个变更的或新的链路的所述先前的地图数据。在实例实施例中,所述多个链路的链路表示第一交叉口与第二交叉口之间的路段。
根据实例实施例,提供了一种设备。在实例实施例中,所述设备包括至少一个处理器和存储计算机程序代码的至少一个存储器。所述至少一个存储器和所述计算机程序代码被配置成与所述处理器一起使得所述设备至少接收更新的地图数据。所述更新的地图数据包括多个链路。所述至少一个存储器和所述计算机程序代码进一步被配置成与所述处理器一起使得所述设备至少标识所述多个链路中的一个或多个变更的或新的链路。变更的链路不同于先前的地图数据中的相应链路,并且新链路在所述先前的地图数据中不具有相应链路。所述至少一个存储器和所述计算机程序代码进一步被配置成与所述处理器一起使得所述设备至少确定所述更新的地图数据的平铺,并且基于所述更新的地图数据的所述平铺来确定图块边界与所述一个或多个变更或新链路中的至少一个相交。所述图块边界是第一图块与相邻的第二图块之间的边界。所述至少一个存储器和所述计算机程序代码进一步被配置成与所述处理器一起使得所述设备基于所述更新的地图数据、对应于与所述图块边界相交的所述一个或多个变更的或新的链路的先前的地图数据至少编译地图更新。所述至少一个存储器和所述计算机程序代码进一步被配置成与所述处理器一起使得所述设备至少为所述第一图块提供所述地图更新。
在实例实施例中,为了标识变更的或新的链路,所述至少一个存储器和所述计算机程序代码被配置成与所述处理器一起使得所述设备至少确定所述先前的地图数据是否包括与所述多个链路的链路相对应的相应链路。在实例实施例中,所述多个链路的所述链路包括链路属性,并且标识所述多个链路中的一个或多个变更的或新的链路进一步包括将所述链路的所述链路属性与所述相应链路的链路属性进行比较。在实例实施例中,所述链路属性包括以下中的一者或多者:链路标识符、链路几何形状、链路位置、交叉口标识符、街道号码范围、交通方向流量指示符、拼车车道存在指示符、汽车开启指示符、直通交通指示符、一个或多个时间限制、驾驶侧指示符、受控访问指示符、服务道路指示符、施工指示符、渡轮指示符、私人道路指示符、或季节性关闭。
在实例实施例中,对应于与所述图块边界相交的所述一个或多个变更的或新的链路的所述先前的地图数据对应于仅部分地包含在所述第一图块内的完全连接的断开集群。在实例实施例中,其中当(a)尚未为所述第二图块提供地图更新数据以及(b)包括所述第一图块与所述第二图块之间的所述图块边界的区域处于所关注地图区域中时,使用或显示对应于与所述图块边界相交的所述一个或多个变更的或新的链路的所述先前的地图数据。在实例实施例中,所述多个链路的链路表示第一交叉口与第二交叉口之间的路段。
根据实例实施例,提供了一种计算机程序产品。在实例实施例中,所述计算机程序产品包括至少一个非暂时性计算机可读存储媒体,所述至少一个非暂时性计算机可读存储媒体具有存储在其中的计算机可执行程序代码指令。所述计算机可执行程序代码指令包括被配置成接收更新的地图数据的程序代码指令。所述更新的地图数据包括多个链路。所述计算机可执行程序代码指令进一步包括程序代码指令,所述程序代码指令被配置成标识所述多个链路中的一个或多个变更的或新的链路。变更的链路不同于先前的地图数据中的相应链路,并且新链路在所述先前的地图数据中不具有相应链路。所述计算机可执行程序代码指令进一步包括程序代码指令,所述程序代码指令被配置成确定所述更新的地图数据的平铺并且基于所述更新的地图数据的所述平铺来确定图块边界与所述一个或多个变更的或新的链路中的至少一个相交。所述图块边界是第一图块与相邻的第二图块之间的边界。所述计算机可执行程序代码指令进一步包括程序代码指令,所述程序代码指令被配置成基于所述更新的地图数据、对应于与所述图块边界相交的所述一个或多个变更的或新的链路的先前的地图数据和所述平铺来编译地图更新。所述计算机可执行程序代码指令进一步包括程序代码指令,所述程序代码指令被配置成至少为所述第一图块提供所述地图更新。
在实例实施例中,所述多个链路的所述链路包括链路属性;标识变更的或新的链路包括确定所述先前的地图数据是否包括与所述多个链路的链路相对应的相应链路;和/或标识所述多个链路中的一个或多个变更的或新的链路进一步包括将所述链路的所述链路属性与所述相应链路的链路属性进行比较。在实例实施例中,对应于与所述图块边界相交的所述一个或多个变更的或新的链路的所述先前的地图数据对应于仅部分地包含在所述第一图块内的完全连接的断开集群。在实例实施例中,其中当(a)尚未为所述第二图块提供地图更新数据以及(b)包括所述第一图块与所述第二图块之间的所述图块边界的区域处于所关注地图区域中时,使用或显示对应于与所述图块边界相交的所述一个或多个变更的或新的链路的所述先前的地图数据。
根据本发明的又另一个实例实施例,提供了一种设备。所述设备包括用于接收更新的地图数据的器件,其中所述更新的地图数据包括多个链路。所述设备进一步包括用于标识所述多个链路中的一个或多个变更的或新的链路的器件,其中变更的链路不同于先前的地图数据中的相应链路,并且其中新链路在所述先前的地图数据中不具有相应链路。所述设备进一步包括用于确定所述更新的地图数据的平铺以及基于所述更新的地图数据的所述平铺确定图块边界与所述一个或多个变更的或新的链路中的至少一个相交的器件。所述图块边界是第一图块与相邻的第二图块之间的边界。另外,所述设备包括用于基于所述更新的地图数据、对应于与所述图块边界相交的所述一个或多个变更的或新的链路中的至少一个的先前的地图数据和所述平铺来编译地图更新的器件。此外,所述设备包括用于至少为所述第一图块提供地图更新的器件。
根据实例实施例提供了方法、设备和计算机程序产品,以便提供或使用已经部分更新的地图。在实例实施例中,至少接收第一图块的地图更新数据。所述地图更新数据包括对应于与所述第一图块与第二图块之间的图块边界相交的一个或多个变更的或新的链路的所述第一图块的更新地图和所述第一图块的先前的地图数据。确定了所关注地图区域。所述所关注地图区域包括所述第一图块的至少一部分。响应于确定所述所关注地图区域包括所述第二图块的至少一部分,确定是否已经接收到所述第二图块的地图更新。当确定已经接收到所述第二图块的地图更新时,不使用或显示与所述图块边界相交的所述一个或多个变更的或新的链路的所述先前的地图数据。当确定尚未接收到所述第二图块的地图更新时,使用或显示与所述图块边界相交的所述一个或多个变更的或新的链路的所述先前的地图数据。
根据实例实施例,提供了一种方法。所述方法包括至少接收第一图块的地图更新。所述地图更新包括对应于与所述第一图块与第二图块之间的图块边界相交的一个或多个变更的或新的链路的所述第一图块的更新的地图数据和所述第一图块的先前的地图数据。所述方法进一步包括确定所关注地图区域。所述所关注地图区域包括所述第一图块的至少一部分。响应于确定所述所关注地图区域包括所述第二图块的至少一部分,所述方法包括确定是否已经接收到所述第二图块的地图更新。所述方法进一步包括:(a)当确定已经接收到所述第二图块的地图更新时,不使用或显示与所述图块边界相交的所述一个或多个变更的或新的链路的所述先前的地图数据,以及(b)当确定尚未接收到所述第二图块的地图更新时,使用或显示与所述图块边界相交的所述一个或多个变更的或新的链路的所述先前的地图数据。
在实例实施例中,当确定已经接收到所述第二图块的地图更新时,所述方法进一步包括:使用或显示所述所关注地图区域内的所述第一图块的一部分的更新的地图数据。在实例实施例中,对应于与所述图块边界相交的所述一个或多个变更的或新的链路的所述先前的地图数据对应于仅部分地包含在所述第一图块内的完全连接的断开集群。在实例实施例中,所述第一图块的所述地图更新的所述先前的地图数据仅包括所述第一图块内包含的所述完全连接的断开集群的一部分的先前的地图数据。在实例实施例中,所述地图更新的所述先前的地图数据不包括链路的先前的地图数据,所述链路不是仅部分地包含在所述第一图块内的完全连接的断开集群的链路。在实例实施例中,当确定尚未接收到所述第二图块的地图更新时,所述方法进一步包括:使用或显示仅完全连接的断开集群及其链路的所述先前的地图数据。在实例实施例中,所述地图更新的所述先前的地图数据包括:(a)当尚未接收到所述第二图块的所述地图更新时使所述地图跨所述图块边界本地连接的先前的地图数据,以及(b)与所述先前的地图数据相对应的地图版本的指示。在实例实施例中,基于当前位置、路线或缩放级别中的至少一个来确定所述所关注地图区域。
根据实例实施例,提供了一种设备。在实例实施例中,所述设备包括至少一个处理器和存储计算机程序代码的至少一个存储器。所述至少一个存储器和所述计算机程序代码被配置成与所述处理器一起使得所述设备至少接收至少一个第一图块的地图更新。所述地图更新包括对应于与所述第一图块与第二图块之间的图块边界相交的一个或多个变更的或新的链路的所述第一图块的更新的地图数据和所述第一图块的先前的地图数据。所述至少一个存储器和所述计算机程序代码进一步被配置与所述处理器一起使得所述设备至少确定所关注地图区域。所述所关注地图区域包括所述第一图块的至少一部分。响应于确定所述所关注地图区域包括所述第二图块的至少一部分,所述至少一个存储器和所述计算机程序代码进一步被配置成与所述处理器一起使得所述设备至少确定是否已经接收到所述第二图块的地图更新。所述至少一个存储器和所述计算机程序代码进一步被配置成与所述处理器一起使得所述设备至少(a)当确定已经接收到所述第二图块的地图更新时,不使用或显示与所述图块边界相交的所述一个或多个变更的或新的链路的所述先前的地图数据,以及(b)当确定尚未接收到所述第二图块的地图更新时,使用或显示与所述图块边界相交的所述一个或多个变更的或新的链路的所述先前的地图数据。
在实例实施例中,当确定已经接收到所述第二图块的地图更新时,所述至少一个存储器和所述计算机程序代码进一步被配置成与所述处理器一起使得所述设备至少使用或显示所述所关注地图区域内的所述第一个图块的一部分的更新的地图数据。在实例实施例中,对应于与所述图块边界相交的所述一个或多个变更的或新的链路的所述先前的地图数据对应于仅部分地包含在所述第一图块内的完全连接的断开集群。在实例实施例中,所述第一图块的所述地图更新的所述先前的地图数据仅包括所述第一图块内包含的所述完全连接的断开集群的一部分的先前的地图数据。在实例实施例中,所述地图更新的所述先前的地图数据不包括链路的先前的地图数据,所述链路不是仅部分地包含在所述第一图块内的完全连接的断开集群的链路。在实例实施例中,当确定尚未接收到所述第二图块的地图更新时,所述至少一个存储器和所述计算机程序代码进一步被配置成与所述处理器一起使得所述设备至少使用或显示仅完全连接的断开集群及其链路的所述先前的地图数据。在实例实施例中,所述地图更新的所述先前的地图数据包括:(a)当尚未接收到所述第二图块的所述地图更新时使所述地图跨所述图块边界本地连接的先前的地图数据,以及(b)与所述先前的地图数据相对应的地图版本的指示。在实例实施例中,基于当前位置、路线或缩放级别中的至少一个来确定所述所关注地图区域。
根据实例实施例,提供了一种计算机程序产品。在实例实施例中,所述计算机程序产品包括至少一个非暂时性计算机可读存储媒体,所述至少一个非暂时性计算机可读存储媒体具有存储在其中的计算机可执行程序代码指令。所述计算机可执行程序代码指令包括被配置成至少接收第一图块的地图更新的程序代码指令。所述地图更新包括对应于与所述第一图块与第二图块之间的图块边界相交的一个或多个变更的或新的链路的所述第一图块的更新的地图数据和所述第一图块的先前的地图数据。所述计算机可执行程序代码指令进一步包括被配置成确定所关注地图区域的程序代码指令。所述所关注地图区域包括所述第一图块的至少一部分。所述计算机可执行程序代码指令进一步包括程序代码指令,所述程序代码指令被配置成响应于确定所述所关注地图区域包括所述第二图块的至少一部分而确定是否已经接收到所述第二图块的地图更新。所述计算机可执行程序代码指令进一步包括程序代码指令,所述程序代码指令被配置成(a)当确定已经接收到所述第二图块的地图更新时,不使用或显示与所述图块边界相交的所述一个或多个变更的或新的链路的所述先前的地图数据,以及(b)当确定尚未接收到所述第二图块的地图更新时,使用或显示与所述图块边界相交的所述一个或多个变更的或新的链路的所述先前的地图数据。
在实例实施例中,所述计算机可执行程序代码指令进一步包括程序代码指令,所述程序代码指令被配置成当确定已经接收到所述第二图块的地图更新时,使用或显示所述所关注地图区域内的所述第一图块的一部分的更新的地图数据。在实例实施例中,对应于与所述图块边界相交的所述一个或多个变更的或新的链路的所述先前的地图数据对应于仅部分地包含在所述第一图块内的完全连接的断开集群。在实例实施例中,所述第一图块的所述地图更新的所述先前的地图数据仅包括所述第一图块内包含的所述完全连接的断开集群的一部分的先前的地图数据。在实例实施例中,所述地图更新的所述先前的地图数据不包括链路的先前的地图数据,所述链路不是仅部分地包含在所述第一图块内的完全连接的断开集群的链路。在实例实施例中,所述计算机可执行程序代码指令进一步包括程序代码指令,所述程序代码指令被配置成当确定尚未接收到所述第二图块的地图更新时,使用或显示仅完全连接的断开集群及其链路的所述先前的地图数据。在实例实施例中,所述地图更新的所述先前的地图数据包括:(a)当尚未接收到所述第二图块的所述地图更新时使所述地图跨所述图块边界本地连接的先前的地图数据,以及(b)与所述先前的地图数据相对应的地图版本的指示。在实例实施例中,基于当前位置、路线或缩放级别中的至少一个来确定所述所关注地图区域。
根据本发明的又另一个实例实施例,提供了一种设备。所述设备包括用于至少接收第一图块的地图更新的器件。所述地图更新包括对应于与所述第一图块与第二图块之间的图块边界相交的一个或多个变更的或新的链路的所述第一图块的更新的地图数据和所述第一图块的先前的地图数据。所述设备进一步包括用于确定所关注地图区域的器件。所述所关注地图区域包括所述第一图块的至少一部分。所述设备进一步包括用于响应于确定所述所关注地图区域包括所述第二图块的至少一部分而确定是否已经接收到所述第二图块的地图更新的器件。所述设备进一步包括用于(a)当确定已经接收到所述第二图块的地图更新时不使用或显示与所述图块边界相交的所述一个或多个变更的或新的链路的所述先前的地图数据以及(b)当确定尚未接收到所述第二图块的地图更新时使用或显示与所述图块边界相交的所述一个或多个变更的或新的链路的所述先前的地图数据的器件。
附图说明
因此已经概括地描述了某些实例实施例,在下文中将参考附图,所述附图不一定按比例绘制,并且其中:
图1是示出本发明的一个实施例的实例架构的区块图;
图2a是可以根据实例实施例具体配置的更新设备的区块图;
图2b是可以根据实例实施例具体配置的用户设备的区块图;
图3a示出了根据实例实施例的两个实例图块的先前的地图数据;
图3b示出了根据实例实施例的图3a中所示出的两个实例图块的更新的地图数据;
图4是流程图,其展示了根据实例实施例的如由图2a的更新设备执行以便为一个或多个图块提供地图更新的操作的流程图;
图5示出了根据实例实施例的断开集群的示意图;
图6是流程图,其展示了根据实例实施例的如由图2a的更新设备执行以便确定链路是锚还是断开链路的操作的流程图;
图7是流程图,其展示了根据实例实施例的如由图2a的更新设备执行以便标识断开集群的操作的流程图;并且
图8是流程图,其展示了根据实例实施例的如由图2b的用户设备执行以便使用混合版本的图块来使用/显示地图的操作的流程图。
具体实施方式
现在将参考附图在下文中更全面地描述一些实施例,附图中示出了本发明的一些但非全部实施例。实际上,本发明的各个实施例可以以许多不同的形式体现,并且不应该被解释为限于在此阐述的实施例;相反,提供这些实施例使得本公开将满足适用的法律要求。相同的附图标记始终表示相同的元件。如本文所使用的,术语“数据”、“内容”、“信息”以及类似术语可以互换地用来指代能够根据本发明的实施例被传输、接收和/或存储的数据。因此,任何这类术语的使用不应限制本发明的实施例的精神和范围。
另外,如本文所使用的,术语‘电路系统’是指(a)仅硬件电路实施方式(例如,模拟电路系统和/或数字电路系统中的实施方式);(b)电路和一种或多种计算机程序产品的组合,所述一种或多种计算机程序产品包括存储在一个或多个计算机可读存储器上的软件和/或固件指令,这些存储器一起工作以使设备执行本文所描述的一个或多个功能;(c)电路,如例如一个或多个微处理器或一个或多个微处理器的一部分,所述电路需要软件或固件进行操作,即使软件或固件实际上不存在。‘电路系统’的这个定义适用于本文中这种术语的所有用途,包括在任何权利要求中。作为另一实例,如本文所使用的,术语‘电路系统’还包含包括一个或多个处理器和/或其一个或多个部分以及附带软件和/或固件的实施方式。作为另一实例,如本文所使用的,术语‘电路系统’还包含例如用于移动电话的基带集成电路或应用处理器集成电路或服务器、蜂窝网络装置、其它网络装置和/或其它计算装置中的类似集成电路。
如本文所定义的,指代非暂时性物理存储媒体(例如,易失性或非易失性存储器装置)的“计算机可读存储媒体”可以与指代电磁信号的“计算机可读传输媒体”区分开。
i.总体概述
根据实例实施例提供了方法、设备和计算机程序产品,以便为平铺地图提供地图更新。例如,可以平铺地图,使得可以以模块化格式(例如,逐个图块)存储、接收、提供、传输地图信息/数据。在各个实施例中,图块可以由一组平行且垂直的图块边界限定。例如,图块可以是矩形或正方形(例如,2km乘2km的正方形)。在其它实施例中,图块可以由弯曲的、不平行的和/或垂直于一个或多个其它边界等的边界限定。在各个实施例中,图块可以是地图的均匀平铺。在其它实施例中,图块可以基于地图区域的地理位置、地图区域的拓扑、地图区域内的人口密度等来变更大小和/或形状。
在各种情况下,可能需要跨更新的版本图块与相邻的先前的版本图块之间的边界进行导航。如果更新的版本图块包含图块之间的边界附近的区域变化,那么更新的版本图块中的路段可能不能跨边界与先前的版本图块中的道路的相应区段恰当对齐。实例实施例确保跨图块边界的路段或链路的一致性,其中一个图块是更新的版本图块并且相邻图块是先前的版本图块。如本文所使用的,链路可以是第一交叉口与第二交叉口之间的道路、街道、高速公路、路径等的一部分。在实例实施例中,第一交叉口和第二交叉口可以是相邻的交叉口(例如,在经过第一交叉口之后,第二交叉口可以是沿着链路行进时到达的下一个交叉口)。
图1提供了可以与本发明的各个实施例结合使用的实例系统的图示。如图1所示,系统可以包含一个或多个用户设备20、一个或多个更新设备10、一个或多个网络50等。在各个实施例中,用户设备20可以是车载导航系统、移动计算装置等。例如,车辆导航系统安装在如机动车辆、非机动车辆汽车、踏板车、卡车、厢式货车、摩托车、自行车、赛格威、高尔夫球车等车辆内和/或是车载的。在各个实施例中,用户设备20可以是智能手机、平板电脑、个人数字助理(pda)和/或其它移动计算装置。在实例实施例中,更新设备10可以包括类似于在图2a中图解的实例更新设备10中示出的那些部件。在实例实施例中,用户设备20可以包括类似于在图2b中图解的实例用户设备20中示出的那些部件。在各个实施例中,更新设备10可以被定位成远离用户设备20。系统的每个部件可以通过相同或不同的无线或有线网络彼此电子通信,包含例如有线或无线个人局域网(pan)、局域网(lan)、城域网(man)、广域网(wan)、蜂窝网络等。例如,用户设备20可以经由网络50与更新设备10通信。例如,用户设备20可以经由云与更新设备10通信。
在实例实施例中,如图2b所示,用户设备20可以包括处理器22、存储器24、用户界面28、一个或多个传感器30(例如,如gps传感器等位置传感器)、通信接口26和/或被配置成执行本文描述的各种操作、规程、功能等的其它部件。类似地,如图2a所示,更新设备10可以包括处理器12、存储器14、用户界面18、通信接口16和/或被配置成执行本文描述的各种操作、规程、功能等的其它部件。下面参考图2a和2b更详细地描述用户设备20和更新设备10的实例实施例。
ii.示例性操作
在实例实施例中,可以接收更新的地图信息/数据,并且可以确定与先前的地图信息/数据相比,链路是否已经更新、变更或添加到更新的地图信息/数据中/哪些链路已经更新、变更或添加到更新的地图信息/数据中。在各个实施例中,先前的地图信息/数据可以指来自立即进行与更新的地图信息/数据相对应的地图的更新版本的地图的版本的地图信息/数据。在其它实施例中,先前的地图信息/数据是来自地图的先前的版本但不需要来自地图的前一版本的地图信息/数据。在实例实施例中,链路可以包括一个或多个链路属性和/或与所述一个或多个链路属性相关联。例如,链路属性可以包括以下中的一者或多者:被配置成(唯一地)标识链路的链路标识符、被配置成描述链路的形状和/或长度的链路几何形状信息/数据、被配置成为链路的一端或两端提供地理位置信息的链路位置、被配置成标识限定链路末端的一个或多个交叉口的一个或多个交叉口标识符、被配置成标识沿链路定位的街道号码的街道号码范围、交通方向流量指示符、拼车车道存在指示符、汽车开启指示符、直通交通指示符、一个或多个时间限制、驾驶侧指示符、受控访问指示符、服务道路指示符、施工指示符、渡轮指示符、私人道路指示符、季节性关闭、链路高度/重量限制等。
在实例实施例中,可以通过将链路的链路属性与先前的地图信息/数据中的链路的链路属性进行比较来确定链路是否已经更新、变更或添加到更新的地图信息/数据中(例如,更新设备10上存在的地图信息/数据或在接收到更新的地图信息/数据时可由更新设备10访问的地图信息/数据数据库)。在其它实例实施例中,可以通过查找指示已经变更的链路的属性的变更标志来确定链路是否已经更新、变更或添加到更新的地图信息/数据中。
一旦标识出更新的地图信息/数据和先前的地图信息/数据的新和旧的变更集,就可以编译地图更新信息/数据。地图更新信息/数据可以包括更新的地图信息/数据、新的变更集和/或旧的变更集,其中新的变更集可以包括来自更新的地图信息/数据的零个、一个或多个链路,并且旧的变更集可以包括来自先前的地图信息/数据的零个、一个或多个链路。地图更新信息/数据提供与先前的版本的地图的相邻图块一致的更新版本的地图的图块。例如,ol变更集可以包括已经在相对于先前的地图信息/数据的更新的地图信息/数据中变更的链路的先前的地图信息/数据。
然后可以提供更新版本的地图的一个或多个图块。例如,可以通过有线或无线网络(例如,网络50)传输更新版本的地图的一个或多个图块。更新版本的地图的一个或多个提供的图块中的至少一个可以被接收并且用于显示地图区域、确定和/或导航路线等。
例如,图3a展示了新版本的地图45的第一图块50和第二图块55。图3b展示了先前的版本的地图40中的相同的第一图块50和第二图块55。第一图块50和第二图块55是共享图块边界52的相邻图块。虚线链路示出了与先前的地图信息/数据中的图块边界52和相应链路75相交的更新的地图信息/数据的断开集群的断开链路70。粗实线链路示出了紧邻断开集群的断开链路70的锚链路60。锚链路60在新版本的地图45与先前的版本的地图40之间存在且不变化。如果新地图版本45的第一图块50和先前的地图版本40的第二图块50一起使用,那么用户体验将可能不令人满意并且令人困惑。因此,可以将先前的地图信息/数据的一部分添加到更新的地图信息/数据以提供地图更新信息/数据,所述地图更新信息/数据包括在图块边界52上一致的第一图块50和第二图块55所需的信息。现在将参考图4到图7更详细地描述实例实施例的各个方面。
地图更新的示例性规定
图4提供了流程图,其展示了可以根据本发明的实例实施例完成的各种操作和规程,以便提供地图更新。具体地,实例实施例涉及提供部分地图更新。例如,可以提供一个或多个图块的地图更新信息/数据,然而,可能不总是为地图中的所有图块提供地图更新信息/数据。从区块102开始,接收更新的地图信息/数据。例如,更新设备10可以接收更新的地图信息/数据。例如,更新设备10可以包括用于接收更新的地图信息/数据的器件,如处理器12、通信接口16、用户界面18等。例如,更新的地图信息/数据可以包括地图信息/数据,所述地图信息/数据包括多个链路和相应的链路属性。例如,更新的地图信息/数据可以提供提供更新版本的地图所需的地图信息/数据。
在区块104,标识出锚链路和断开链路。例如,更新设备10可以标识锚链路和断开链路。例如,更新设备10可以包括用于标识锚链路和断开链路的器件,如处理器12等。在实例实施例中,锚链路是与在先前的地图信息/数据中基本上相同的更新的地图信息/数据中的链路。例如,锚链路可以是不从先前的版本的地图信息/数据显著更新或变更的链路。在实例实施例中,断开链路可以是已经从先前的版本的地图信息/数据显著变更的链路或不存在于先前的版本的地图信息/数据中的链路。在一些实施例中,如果链路的任何链路属性与先前的地图信息/数据中的相应链路的相应链路属性不同和/或如果与任何链路属性相关联的变更标志指示链路的属性变更,那么链路可以从先前的地图信息/数据中的相应链路显著地变更或与其不同。例如,新链路可以被分类为断开链路,因为新链路不存在于先前的地图信息/数据中。在各个实施例中,更新的地图信息/数据中的每个链路被分类为锚链路或断开链路。在本文其它地方更详细地描述了用于标识锚链路和断开链路的实例方法。
在区块106,对于所标识的任何断开链路,标识出断开集群。例如,更新设备10可以标识出已标识的任何断开链路的断开集群。例如,更新设备10可以包括用于标识所标识的任何断开链路的断开集群的器件,如处理器12等。例如,如果标识出断开链路,那么标识出断开链路的断开集群。例如,可以标识出包括断开链路的完全连接的断开集群。例如,与包括断开集群的断开链路相对应的先前的地图信息/数据中的链路可以是由断开集群的锚链路所界定的先前的地图信息/数据中的完全连接的链路集群。例如,一旦标识出断开链路,就可以从断开链路沿所有方向横越地图。对于程序达到的每个链路,可以确定所述链路是锚链路还是断开链路。如果链路是断开链路,那么断开链路被添加到断开集群,并且所述程序继续沿那个方向横越地图。如果链路是锚链路,那么记住锚链路并且所述程序在那个方向上停止。在实例实施例中,可以为每组连接的断开链路标识一个断开集群。
图5提供了标识断开集群的实例示意图,其中实线表示锚链路,而非实线表示断开链路。确定如虚线所示的链路1是断开链路。然后从链路1沿所有方向横越地图。在链路1的右侧,标识出第二个断开链路,链路2。沿链路2继续行进,到达两个锚链路,链路3和4。链路3和4的链路标识符与断开集群相关联地存储,并且所述程序在那个方向上停止横越地图。在链路1的左侧,存在可以横越地图的三个方向。链路5和6是锚链路。因此,链路5和6的链路标识符与断开集群相关联地存储,并且所述程序在那些方向上停止横越地图。确定链路7是断开链路。链路7被添加到断开集群,并且所述程序继续沿着链路7横越地图。然后到达链路8和4,它们均是锚链路。因此,链路8和4的链路标识符与断开集群相关联地存储,并且所述过程在那个方向上停止横越地图。因此,这个实例断开集群是包括链路1、2和7并且由锚链路3、4、5、6和8界定的完全连接的变更集群。
返回图4,在区块108,确定断开集群是否与图块边界相交。例如,确定断开集群的一部分是否处于一个图块中并且断开集群的一部分是否处于另一个图块中。例如,更新设备10可以确定断开集群是否与图块边界相交。例如,更新设备10可以包括用于确定断开集群是否与图块边界相交的器件,如处理器12等。如果确定断开集群不与图块边界相交(例如,断开集群完全包含在一个图块内),那么当跨图块边界导航或显示两个相邻地图图块时,基于断开集群在新地图版本与先前的地图版本之间进行的变化将不会导致任何问题。
如果断开集群与图块边界相交,那么在区块110标识出包括断开集群的一部分的每个地图图块的新变更集和旧变更集。例如,响应于确定断开集群与图块边界相交,标识出与断开集群对应的先前的地图信息/数据中的链路。例如,断开集群的先前的地图信息/数据中的断开链路可以对应于先前的地图信息/数据中已经变更或不存在于更新的地图信息/数据中的链路。在先前的地图信息/数据中标识出的断开集群的断开链路包括旧变更集。类似地,在更新的地图信息/数据中标识出的断开集群的断开链路包括新变更集。在实例实施例中,取决于在更新的地图信息/数据与先前的地图信息之间对地图所做的变更,新变更集可以是非空的并且旧变更集可以是空集,反之亦然。例如,更新设备10可以基于一个或多个断开集群来标识新变更集和旧变更集,所述一个或多个断开集群各自仅部分地包含在地图图块内。例如,更新设备10可以包括用于基于一个或多个断开集群来标识新变更集和旧变更集的器件,如处理器12等,所述一个或多个断开集群各自仅部分地包含在地图图块内。
在区块112,可以编译地图更新信息/数据。例如,可以为一个或多个地图更新图块编译地图更新信息/数据。在实例实施例中,地图更新信息/数据包括更新的地图信息/数据、新变更集和旧变更集。每个变更集可以标记有变更集信息/数据来自的地图版本(例如,新版本、先前的版本、来自2016年4月19日的版本、版本3.6.9等)的指示。例如,新变更集可以包括与新版本地图中的一个或多个断开链路相关的更新的地图信息/数据,并且旧变更集可以包括与先前的版本的地图中的一个或多个断开链路相关的先前的地图信息/数据。在一些场景中,地图图块的新变更集、地图图块的旧变更集或地图图块的两个变更集可以是空集。例如,更新设备10可以编译地图更新信息/数据。例如,更新设备10可以包括用于编译地图更新信息/数据的器件,如处理器12等。例如,地图更新信息/数据的编译可以包括将更新的地图信息/数据、图块的新变更集以及图块的旧变更集打包成地图更新信息/数据的图块。在实例实施例中,编译地图更新信息/数据可以包括将新变更集和/或旧变更集嵌入更新的地图信息/数据的图块中。例如,新变更集可以包括来自更新的地图信息/数据的一组变更的部件,并且旧变更集可以包括来自先前的地图信息/数据的一组变更的部件,其中相对于其它地图版本进行变更。例如,地图更新信息/数据可以包括标记为对应于新版本地图的变更的部件的新变更集以及标记为对应于先前的版本地图的变更的部件的旧变更集。例如,变更的部件的新变更集可以包括跨图块边界的新地图版本的一个或多个断开集群,并且变更的部件的旧变更集可以包括与跨先前的地图版本中的一个或多个断开集群对应的链路的先前的地图信息/数据。例如,如图3a中的虚线(70)所示的链路可以包括标记为对应于新版本地图的新变更集,并且如图3b中的虚线(75)所示的链路可以包括标记为对应于其相应图块的先前的版本的地图的旧变更集。在实例实施例中,新变更集和/或旧变更集可以是空集。在实例实施例中,新变更集和/或旧变更集可以作为层、附加有效载荷等嵌入新版本地图图块中。
在区块114,提供了编译的地图更新信息/数据的至少一部分。例如,可以提供针对新版本地图的至少一个图块的编译的地图更新/信息。例如,更新设备10可以提供编译的地图更新信息/数据的至少一部分(例如,至少一个图块)。例如,更新设备10可以包括用于提供编译的地图更新信息/数据的至少一部分(例如,至少一个图块)的器件,如处理器12、通信接口16等。如上所述,编译的地图更新信息/数据可以以块或包的形式提供,所述块或包各自与一个图块有关。例如,可以提供对应于可以提供整数个图块的编译的地图更新信息/数据。
锚链路和断开链路的示例性标识
图6提供了流程图,其展示了根据实例实施例的执行以标识更新的地图信息/数据中的锚链路和断开链路的操作。例如,对于更新的地图信息/数据中的每个链路,可以确定链路是锚链路还是断开链路。从区块202开始,选择未分类的链路。例如,更新的地图信息/数据的每个链路可以在开始标识锚链路和断开链路之前标记为未分类的。标识锚链路和断开链路的程序可以继续,直到更新的地图信息/数据和/或先前的地图信息/数据中的所有链路被分类。例如,设备10可以选择更新的地图信息/数据和/或先前的地图信息/数据中的标记为未分类的链路。例如,设备10可以包括用于选择更新的地图信息/数据和/或先前的地图信息/数据中的标记为未分类的链路的器件,如处理器12等。
在区块204,可以确定链路是否存在于新版本的地图和先前的版本的地图两者中。例如,设备10可以确定链路是否存在于新版本的地图和先前的版本的地图两者中。例如,设备10可以包括用于确定链路是否存在于新版本的地图和先前的版本的地图中的器件,如处理器12等。例如,可以将来自更新的地图信息/数据的所选链路与先前的地图信息/数据进行比较。例如,可以确定相应链路是否存在于先前的地图信息/数据中。例如,基于与所选链路相关联的链路标识符,可以确定相应链路是否存在于先前的地图信息/数据中。
如果确定链路仅存在于新版本的地图或先前的版本的地图中,或者响应于此,那么在区块208将链路分类为断开链路。在实例实施例中,因为相应链路不存在于先前的地图信息/数据或更新的地图信息/数据中和/或因为更新的地图信息/数据中的链路与先前的地图信息/数据中的相应链路(大体上/显著地)不同,所以断开链路是更新的地图信息/数据或先前的地图信息/数据中的链路。例如,更新设备10可以将链路分类为断开链路。例如,更新设备10可以包括用于将链路分类为断开链路的器件,如处理器12等。在区块210,确定更新的地图信息/数据的所有链路(例如,新地图版本的所有链路)和/或先前的地图信息/数据的所有链路(例如,先前的地图版本)是否已被分类。例如,更新设备10可以确定所有链路是否都已被分类。例如,更新设备10可以包括用于确定所有链路是否都已被分类的器件,如处理器12等。如果所有链路都已被分类,那么所述程序可以继续标识断开集群。例如,可以如图7所示标识断开集群。如果尚未对所有链路进行分类,那么所述程序返回到步骤202,并且选择另一个未分类的链路。
如果在区块204确定链路存在于新版本的地图和先前的版本的地图两者中,那么程序继续到区块206。在区块206,确定链路是否从先前的地图版本显著变更为新地图版本。例如,设备10可以确定链路是否从先前的地图版本显著变更为新地图版本。例如,设备10可以包括用于确定链路是否从先前的地图版本显著变更为新地图版本的器件,如处理器12等。例如,可以确定先前的地图信息/数据中的相应链路的链路属性是否与更新的地图信息/数据中的链路的链路属性基本相同。例如,可以确定相应链路的链路属性是否与所选链路的链路属性相同。如果相应链路的链路属性与所选链路的链路属性相同,那么确定链路未变更。如果所选链路的相应链路的链路属性与相应链路的链路属性相差大于阈值量,那么可以确定相应链路已变更。在实例实施例中,阈值量不允许所选链路的链路属性与相应链路的链路属性之间的任何差异。例如,链路属性可以包括以下中的一者或多者:被配置成(唯一地)标识链路的链路标识符、被配置成描述链路的形状和/或长度的链路几何形状信息/数据、被配置成为链路的一端或两端提供地理位置信息的链路位置、被配置成标识限定链路末端的一个或多个交叉口的一个或多个交叉口标识符、被配置成标识沿链路定位的街道号码的街道号码范围、交通方向流量指示符、拼车车道存在指示符、汽车开启指示符、直通交通指示符、一个或多个时间限制、驾驶侧指示符、受控访问指示符、服务道路指示符、施工指示符、渡轮指示符、私人道路指示符、季节性关闭、链路高度/重量限制等。
在实例实施例中,链路属性可以与变更标志相关联,使得如果在更新的地图信息/数据中变更链路属性,那么将与那个链路属性相对应的变更标志设置为真,并且如果不在更新的地图信息/数据中变更链路属性,那么将与那个链路属性相关联的变更标志设置为假。因此,在实例实施例中,可以通过考虑更新的地图信息/数据的变更标志来确定是否已经将任何链路属性从先前的地图信息/数据更新和/或变更为更新的地图信息/数据。
如果在区块206确定相应链路属性未变更,那么程序继续步骤212。在步骤208,将所选链路分类为锚链路。例如,更新设备10可以将所选链路标识为锚链路。例如,更新设备10可以包括用于将所选链路标识为锚链路的器件,如处理器12等。
在区块214,确定更新的地图信息/数据的所有链路(例如,新地图版本的所有链路)和/或先前的地图信息/数据的所有链路(例如,先前的地图版本)已被分类。例如,更新设备10可以确定所有链路是否都已被分类。例如,更新设备10可以包括用于确定所有链路是否都已被分类的器件,如处理器12等。如果所有链路都已被分类,那么所述程序可以继续标识断开集群。例如,可以如图7所示标识断开集群。如果尚未对所有链路进行分类,那么所述程序返回到步骤202,并且选择另一个未分类的链路。
标识断开集群
图7提供了流程图,其展示了根据实例实施例执行以标识断开集群的操作。例如,在实例实施例中,对应于断开链路的断开集群可以是断开链路和直接邻接的锚链路的完全连接的集群并且含有相应断开链路。在实例实施例中,如上所述,可以通过在所有方向上横越地图来从断开链路标识断开集群,直到到达锚链路。每个横越的断开链路都被添加到断开集群。标识每个到达的锚链路的信息也可以添加到断开集群和/或与所述断开集群相关联。在一些实施例中,可以在更新的地图信息/数据、先前的地图信息/数据或两者中标识断开集群。
当标识对应于断开链路的断开集群的程序开始时,分类为断开链路的每个链路可以被标记为未解析的断开链路。可以在区块250选择未解析的断开链路。例如,在步骤250,更新设备10可以选择未解析的断开链路。例如,更新设备10可以包括用于选择未解析的断开链路的器件,如处理器12等。
在区块252,可以从所选断开链路开始在所有方向上行进地图。例如,更新设备10可以从所选断开链路开始在所有方向上沿地图行进。例如,更新设备10可以包括用于从所选断开链路开始在所有方向上沿地图行进的器件,如处理器12。例如,如上所述,可以评估邻接/邻近所选断开链路的每个链路以确定邻接/邻近链路的所述链路是否是锚链路。
在区块254,确定到达的链路是否是锚链路。例如,更新设备10可以确定所到达的链路是否是锚链路。例如,更新设备10可以包括用于确定所到达的链路是否是锚链路的器件,如处理器12等。例如,可以确定所到达的链路是否被分类为锚链路。如果确定所到达的链路不是锚链路,那么程序继续到步骤252,并且继续行进地图直到到达另一链路。
如果在区块254确定所到达的链路是锚链路,那么通向来自所选断开链路的锚链路和锚链路的所有断开链路被添加到断开集群。例如,更新设备10可以将通向来自所选断开链路的锚链路和锚链路的所有断开链路添加到断开集群。例如,更新设备10可以包括用于将通向来自所选断开链路的锚链路和锚链路的所有断开链路添加到断开集群的器件,如处理器12等。
在区块258,确定是否已在所有方向上到达锚链路。例如,可以确定是否没有可以从所选断开链路开始行进的另外方向,沿着所述所选断开链路尚未到达锚链路。例如,更新设备10可以确定是否已经在所有方向上到达锚链路。例如,设备10可以包括用于确定是否已经在所有方向上到达锚链的器件,如处理器12。如果尚未到达锚链路,那么程序继续到区块252,并且沿着尚未到达锚链路的方向行进地图。
如果在区块258确定从所选断开链路开始沿着地图的每个方向到达锚链路,那么所述程序继续到区块260。在区块260,将断开集群中的所有断开链路标记为已解析。例如,更新设备10可以将断开集群的所有断开链路标记为已解析。例如,更新设备10可以包括用于将集群的所有断开链路标记为已解析的器件,如处理器12。如果存在仍然尚未解析的断开链路,那么可以标识出另一个断开集群。例如,如果存在仍然标记为未解析的断开链路,那么可以针对剩余断开链路中的所选的一个断开链路重复标识断开集群的程序。
在区块262,确定是否存在任何剩余的未解析的断开链路。例如,更新设备10可以确定是否存在任何剩余的未解析的断开链路。例如,更新设备10可以包括用于确定是否存在任何剩余的未解析的断开链路的器件,如处理器12等。如果在区块262确定存在剩余的一个或多个未解析的断开链路,那么所述程序返回到区块250,并且选择剩余的未解析的断开链路之一。
如果在区块262确定已经解析了所有断开链路,那么所述程序继续到区块264。在区块264,可以返回和/或提供一个或多个断开集群。例如,更新设备10可以返回/提供一个或多个断开集群。例如,更新设备10可以包括用于返回一个或多个断开集群的器件,如用户界面18、通信接口16、处理器12等。
使用混合版本的图块进行导航
在实例实施例中,更新设备10可以(例如,经由通信接口16)提供地图更新信息/数据的一个或多个图块(例如,新版本的地图的一个或多个图块)。用户设备20可以接收(例如,通过通信接口26)地图更新信息/数据的一个或多个图块(例如,新版本的地图的一个或多个图块)并且在本地存储地图更新信息/数据(例如,在存储器24中)。然后,用户设备20可以使用地图更新信息/数据(例如,新版本的地图的一个或多个图块)来显示地图区域、导航路线等。在各种场景中,用户设备20可以接收地图更新信息/数据的第一图块,但不接收地图更新信息/数据的第二图块(和/或反之亦然),其中第一图块和第二图块是地图中的相邻图块。因此,用户设备20可能必须显示地图区域和/或导航涵盖新地图版本图块和先前的地图版本图块的路线。因此,在各种场景中,用户设备20可以使用混合版本的地图图块来显示地图区域和/或导航。
图8是流程图,其展示了根据实例实施例的由用户设备20执行以便显示地图区域和/或使用混合版本地图图块进行导航的操作。从区块302开始,可以确定所关注地图区域。例如,可以基于待导航的路线、用户设备20的当前位置、待显示的地图区域的缩放级别等来确定所关注地图区域。在实例实施例中,所关注地图区域是待由用户设备20的用户界面28显示的地图区域。例如,用户设备20可以确定所关注地图区域。例如,用户设备20可以包括用于确定所关注地图区域的器件,如处理器22、用户界面28、通信接口26、传感器30等。
在区块304,可以标识所关注地图区域中的地图图块。例如,用户设备20可以标识所关注地图区域中的地图图块。例如,用户设备20可以包括用于标识所关注地图区域中的地图图块的器件,如处理器22等。
在区块306,确定是否存在与所关注地图区域中的地图图块的任何边界相对应的非空变更集。例如,可以确定所关注地图区域中的任何地图图块是否具有非空的新变更集或旧变更集。在实例实施例中,仅考虑所关注地图区域内的地图图块边界。例如,用户设备20可以确定所关注地图区域中的地图图块的任何边界是否具有与其对应的非空变更集。例如,如果图块具有对应于不在所关注地图区域内的图块边界的非空变更集,那么非空变更集可能不会影响在所关注地图区域内的地图的显示或使用。例如,用户设备20可以包括用于确定所关注地图区域中的地图图块的任何边界是否具有与其对应的非空变更集的器件,如处理器22等。
如果在区块306确定所关注地图区域中的地图图块的边界都没有与其对应的非空变更集,那么程序继续到区块308。在区块308,对于地图更新信息/数据可用的所有地图图块使用/显示地图更新信息/数据(例如,地图更新信息/数据存储在存储器24中)。例如,用户设备20可以使用/显示地图更新信息/数据可用的所有地图图块的地图更新信息/数据。例如,用户设备20可以包括用于使用/显示地图更新信息/数据可用的所有地图图块的地图更新信息/数据的器件,如处理器22、用户界面28等。
如果在区块306确定图块之一具有与其相关联并且对应于所关注地图区域内的边界的非空变更集,那么在区块310确定地图更新信息/数据是否可用于共享边界的一个或多个图块。例如,用户设备20可以确定地图更新信息/数据是否可用于共享与非空变更集相对应的边界的两个或更多个图块(例如,与断开集群相交的边界由非空变更集表示)。例如,用户设备20可以包括用于确定地图更新信息/数据是否可用于共享与非空变更集相对应的边界的两个或更多个图块的器件,如处理器22、用户界面28等。例如,可以确定共享与非空变更集相对应的边界的两个或更多个图块中的所有图块是否是新的地图版本图块。例如,地图图块元数据可以包括相应地图图块的版本指示符。可以检查两个或更多个图块中的每个图块的地图图块元数据以确定每个地图图块的版本并确定两个或更多个图块中的每个图块是否是新的地图版本图块。
如果在区块310确定地图更新信息/数据可用于共享与非空变更集相对应的边界的两个或更多个图块中的所有图块,那么在区块312使用/显示更新的地图信息/数据。例如,可以使用新的变更集信息/数据。在另一个实例中,可以使用新版本的地图。例如,用户设备20可以使用/显示共享与非空变更集相对应的边界的两个或更多个图块的更新的地图信息/数据。例如,用户设备可以包括用于使用/显示共享与非空变更集相对应的边界的两个或更多个图块的更新的地图信息/数据的器件,如处理器22、用户界面28等。
如果在区块310确定地图更新信息/数据不可用于共享与非空变更集相对应的边界的两个或更多个图块中的所有图块,那么在区块314使用/显示作为旧变更集提供的先前的地图信息/数据。例如,可以使用旧变更集信息/数据。在另一个实例中,可以使用先前的版本的地图。例如,用户设备20可以使用/显示作为旧变更集提供的先前的地图信息/数据。例如,用户设备可以包括用于使用/显示作为旧变更集提供的针对共享与非空变更集相对应的边界的两个或更多个图块的先前的地图信息/数据的器件,如处理器22、用户界面28等。
在各个实施例中,如果图块是新的地图版本图块并且它与对应于非空变更集的先前的版本地图图块共享边界,那么除了包括非空变更集的断开集群的链路之外,所使用/显示的图块是新版本图块图块。例如,如果图块a是新版本地图图块并且与对应于非空变更集的先前的版本地图图块b共享边界,那么可以沿着图块a与图块b之间的边界使用/显示针对图块a的一部分的旧的变更集信息/数据。如果图块a与新版本地图图块c共享另一边界,那么可以沿着图块a与图块c之间的边界使用/显示新的变更集信息/数据。因此,只要有可能,在保持地图本地连接且功能正常的同时使用/显示最新的地图信息/数据。
iii.实例设备
实例实施例的用户设备20和/或更新设备10可以由各种各样的计算装置体现或与其相关联,包含例如如包含车载导航系统、个人导航装置(pnd)或便携式导航设备的导航系统、高级驾驶员辅助系统(adas)、全球定位系统(gps)、蜂窝电话、移动电话、个人数字助理(pda)、手表、照相机、计算机和/或可以执行如数字路由和地图显示等导航相关功能的其它装置。另外地或可替代地,所述设备可以体现在其它类型的计算装置中,如出于路线规划或其它目的被配置成分析探测点的服务器、个人计算机、计算机工作站、膝上型计算机、多个联网计算装置等。在这方面,图2a描绘了更新设备10,并且图2b描绘了可以由包含上面标识的那些各种计算装置体现的实例实施例的用户设备20。如所示出的,实例实施例的更新设备10可以包含处理器12和存储器装置14以及任选地通信接口16和/或用户界面18、可以与其相关联或者可以以其它方式与其通信。类似地,实例实施例的用户设备20可以包含处理器22和存储器装置24以及任选地通信接口26、用户界面28和/或一个或多个传感器30(例如,如gps传感器等位置传感器)、可以与其相关联或者可以以其它方式与其通信。
在一些实施例中,处理器12、22(和/或协处理器或协助处理器或以其它方式与所述处理器相关联的任何其它处理电路系统)可以经由总线与存储器装置14、24通信以在设备的部件之间传递信息。存储器装置可以是非暂时性的并且可以包含例如一个或多个易失性和/或非易失性存储器。换句话说,例如,存储器装置可以是电子存储装置(例如,计算机可读存储媒体),所述电子存储装置包括被配置成存储可由机器(例如计算装置,如处理器)检索的数据(例如,比特)的门。存储器装置可以被配置成存储信息、数据、内容、应用、指令等,以使设备能够执行根据本发明的实例实施例的各种功能。例如,存储器装置可以被配置成缓冲输入数据以供处理器处理。另外地或可替代地,存储器装置可以被配置成存储供处理器执行的指令。
如上所述,更新设备10和/或用户设备20可以由计算装置体现。然而,在一些实施例中,所述设备可以体现为芯片或芯片组。换句话说,所述设备可以包括包含结构组件(例如,基板)上的材料、部件和/或电线的一个或多个物理封装体(例如,芯片)。结构组件可以为其上包含的部件电路系统提供物理强度、尺寸保持和/或电相互作用的限制。因此,在一些情况下,所述设备可以被配置成在单个芯片上实施本发明的实施例或将本发明的实施例实施为单个“片上系统”。这样,在一些情况下,芯片或芯片组可以构成用于执行一个或多个操作以提供本文描述的功能的器件。
处理器12、22可以以多种不同方式体现。例如,处理器可以被体现为各种硬件处理器件中的一个或多个,如协处理器、微处理器、控制器、数字信号处理器(dsp)、有或者无附带dsp的处理元件、或各种其它处理电路系统,这些其它处理电路系统包含集成电路,如例如asic(专用集成电路)、fpga(现场可编程门阵列)、微控制器单元(mcu)、硬件加速器、专用计算机芯片等。这样,在一些实施例中,处理器可以包含被配置成独立执行的一个或多个处理核。多核处理器可以在单个物理封装体内实现多处理。另外地或可替代地,处理器可以包含经由总线串联配置的一个或多个处理器,以便使得能够独立执行指令、流水线和/或多线程。
在实例实施例中,处理器12、22可以被配置成执行存储在存储器装置14、24中或以其它方式处理器可访问的指令。可替代地或另外地,处理器可以被配置成执行硬编码功能。这样,无论是通过硬件或软件方法还是通过其组合配置,处理器可以表示能够在相应配置时执行根据本发明的实施例的操作的实体(例如,物理地体现在电路系统中)。因此,例如,当处理器被体现为asic、fpga等时,处理器可以被具体地配置成用于执行本文中描述的操作的硬件。可替代地,作为另一实例,当处理器被体现为软件指令的执行器时,指令可以具体地配置处理器以在执行指令时执行本文描述的算法和/或操作。然而,在一些情况下,处理器可以是特定装置(例如,直通显示器或移动终端)的处理器,所述处理器被配置成通过按照用于执行本文描述的算法和/或操作的指令进一步配置处理器来采用本发明的实施例。处理器可以包含被配置成支持处理器的操作的时钟、算术逻辑单元(alu)和逻辑门。
在一些实施例中,更新设备10和/或用户设备20可以包含用户界面18、28,所述用户界面进而可以与处理器12、22通信以向用户提供输出,如建议的路线,并且在一些实施例中以接收用户输入的指示。这样,用户界面可以包含显示器,并且在一些实施例中,还可以包含键盘、鼠标、操纵杆、触摸屏、触摸区域、软键、麦克风、扬声器或其它输入/输出机构。可替代地或另外地,处理器可以包括用户界面电路系统,所述用户界面电路系统被配置成控制如显示器等一个或多个用户界面元件的至少一些功能,并且在一些实施例中控制扬声器、振铃器、麦克风等的至少一些功能。处理器和/或包括处理器的用户界面电路系统可以被配置成通过存储在处理器可访问的存储器(例如,存储器装置14、24等)上的计算机程序指令(例如,软件和/或固件)来控制一个或多个用户界面元件的一个或多个功能。
更新设备10和/或用户设备20可以任选地包含通信接口16、26。通信接口可以是任何器件,如装置或电路系统,所述装置或电路系统被体现为配置成从/向网络接收和/或传输数据和/或与设备通信的任何其它装置或模块的硬件或硬件和软件的组合。在这方面,通信接口可以包含例如用于实现与无线通信网络通信的天线(或多个天线)和支持硬件和/或软件。另外地或可替代地,通信接口可以包含用于与一根或多根天线交互以使得经由一根或多根天线传输信号或者处理经由一根或多根天线接收的信号的接收的电路系统。在一些环境下,通信接口可以可替代地或还支持有线通信。这样,例如,通信接口可以包含用于经由电缆、数字用户线(dsl)、通用串行总线(usb)或其它机制支持通信的通信调制解调器和/或其它硬件/软件。
除了体现实例实施例的更新设备10和/或用户设备20之外,导航系统还可以包含或访问地理数据库,所述地理数据库包含在构建路线或导航路径和确定横越路线或导航路径的时间时利用的各种各样的数据(例如,地图信息/数据)。例如,地理数据库可以包含节点数据记录(例如,包含包括结点标识符的锚节点数据记录)、路段或链路数据记录、兴趣点(poi)数据记录和其它数据记录。可以提供更多、更少或不同的数据记录。在一个实施例中,其它数据记录包含制图(“carto”)数据记录、路由数据和操纵数据。poi或事件数据的一个或多个部分、部件、区域、层、特征、文本和/或符号可以存储在这些数据记录中的一个或多个中、链路到这些数据记录中的一个或多个和/或与这些数据记录中的一个或多个相关联。例如,poi、事件数据或记录的路线信息的一个或多个部分可以通过位置或gps数据关联(如使用已知或未来的地图匹配或地理编码技术)与相应的地图或地理记录匹配。
在实例实施例中,路段数据记录是链路或区段,例如,如可以在计算的路线或记录的路线信息中使用的用于确定一个或多个个性化路线的表示道路、街道或路径的操纵图的操纵。节点数据记录是对应于路段数据记录的相应链路或段的端点。道路链路数据记录和节点数据记录表示如由车辆、汽车和/或其它实体使用的道路网络。可替代地,例如,除了车辆道路记录数据之外或代替所述车辆道路记录数据,地理数据库可以包含路径段和节点数据记录或表示行人路径或区域的其它数据。
道路/链路段和节点可以与以下各项相关联:属性,如地理坐标、街道名称、地址范围、速度限制、交叉口转弯限制和其它导航相关属性;以及poi,如加油站、酒店、餐馆、博物馆、体育馆、办公室、汽车经销商、汽车修理店、建筑物、商店,公园等。地理数据库可以包含poi数据记录中的关于poi及其对应位置的数据。地理数据库还可以包含:关于地点的数据,如城市、城镇或其它社区;以及其它地理特征,如水体、山脉等。这类地点或特征数据可以是poi数据的一部分或者可以与poi或poi数据记录(如用于显示或表示城市点的数据点)相关联。另外,地理数据库可以包含与poi数据记录或地理数据库的其它记录相关联的事件数据(例如,交通事件、构造、安排的事件、未安排的事件等)和/或与其相关联。
地理数据库可以由与服务平台相关联的内容提供者(例如,地图开发者)维护。举例来说,地图开发者可以收集地理数据以生成和增强地理数据库。地图开发人员可以使用不同方式来收集数据。这些方式可以包含从其它来源获取数据,如市政当局或对应的地理当局。此外,例如,地图开发者可以雇用现场人员沿着贯穿整个地理区域的道路行驶以观察关于它们的特征和/或记录信息。此外,可以使用遥感,如航空或卫星摄影。
地理数据库可以是以便于更新、维护和开发的格式存储的主地理数据库。例如,如出于开发或生产的目的,主地理数据库或主地理数据库中的数据可以呈oracle空间格式或其它空间格式。可以将oracle空间格式或开发/生产数据库编译成交付格式,如地理数据文件(gdf)格式。可以编译或进一步编译呈生产和/或交付格式的数据以形成可以在终端用户导航装置或系统中使用的地理数据库产品或数据库。
例如,地理数据被编译(如编译成平台规范格式(psf)格式)以组织和/或配置用于执行导航相关功能和/或服务的数据,如路线计算、路线引导、地图显示、速度计算、距离和行程时间功能以及其它功能。导航相关功能可以对应于车辆导航或其它类型的导航。产生最终用户数据库的编译可以由与地图开发者分开的一方或实体执行。例如,地图开发者的客户,如导航装置开发者或其它终端用户装置开发者,可以以交付格式对接收的地理数据库进行编译,以产生一个或多个编译的导航数据库。无论编译和维护数据库的方式如何,体现根据实例实施例的设备10的导航系统可以更精确地确定横越包含在相应交叉口处的一个或多个转弯的路线的时间。
iv.设备、方法和计算机程序产品
如上所述,图4、图6和图7展示了根据本发明的实例实施例的设备10、20、方法和计算机程序产品的流程图。将理解,流程图的每个区块以及流程图中的区块的组合可以通过各种手段来实施,如硬件、固件、处理器、电路系统和/或与包含一个或多个计算机程序指令的软件的执行相关联的其它装置。例如,上述规程中的一个或多个可以由计算机程序指令体现。在这方面,体现上述规程的计算机程序指令可以由采用本发明的实施例的设备的存储器装置14、24存储并由设备的处理器12、22执行。可以理解,可以将任何这样的计算机程序指令加载到计算机或其它可编程设备(例如,硬件)上以产生机器,使得所得计算机或其它可编程设备实施流程图区块中指定的功能。这些计算机程序指令还可以存储在计算机可读存储器中,所述计算机可读存储器可以引导计算机或其它可编程设备以特定方式起作用,使得存储在计算机可读存储器中的指令产生制造品,所述制造品的执行实施流程图区块中指定的功能。计算机程序指令还可以加载到计算机或其它可编程设备上,以使在计算机或其它可编程设备上执行的一系列操作产生计算机实施的程序,使得在计算机或其它可编程设备上执行的指令提供用于实施流程图区块中指定的功能的操作。
因此,流程图的区块支持用于执行指定功能的器件的组合和用于执行指定功能的操作的组合以便执行指定功能。还将理解,流程图的一个或多个区块以及流程图中的区块的组合可以由执行指定功能的专用基于硬件的计算机系统或专用硬件和计算机指令的组合来实施。
在一些实施例中,可以修改或进一步放大上述操作中的某一个操作。此外,在一些实施例中,可以包含附加的任选操作。可以以任何顺序和任何组合对上述操作进行修改、添加或放大。
受益于前述描述和相关附图中呈现的教导,本发明所属领域的技术人员将想到本文所阐述的本发明的许多修改和其它实施例。因此,应该理解,本发明不限于所公开的具体实施例,并且修改和其它实施例旨在包含在所附权利要求的范围内。此外,尽管前面的描述和相关联的附图在元件和/或功能的某些实例组合的上下文中描述了实例实施例,但是应当理解,在不脱离所附权利要求的范围的情况下,可以通过替代性实施例提供元件和/或功能的不同组合。在这方面,例如,不同于前面明确描述的元件和/或功能的组合也被设想为可以在一些所附权利要求中得到阐述。尽管本文中采用了特定术语,但是其仅在通用和描述性意义上使用而不用于限制目的。