在数字地图描绘系统中产生并提供拼图的制作方法

文档序号:6655664阅读:220来源:国知局
专利名称:在数字地图描绘系统中产生并提供拼图的制作方法
技术领域
本发明涉及地图描绘系统,且更具体而言涉及数字环境中的地图描绘系统。
技术背景人们已开发出计算机化地图描绘系统来搜索、识别及查找关于地理位置的信 息。此种计算机化地图描绘系统的一种形式包括旅行计划因特网网站。由于有超 过5千万的无与伦比的月用户数量,这些地图网站为一种非常流行的服务。此类 网站的实例包括AOL公司的MapQuest、 Yahoo公司的基于Telcontar的地图及 Microsoft公司的MapPoint.net套件。如现在所将阐述,此类网站均按照一共用模 型工作。当一网络用户要求得到一新的地图视图(例如通过输入一邮政地址或通过点 击一靠近当前地图视图的导航链接)时,所述用户的网络浏览器会向一网络服务 器发送一指示新地图视图的边界的请求。所述网络服务器又从一数字库中提取对 应的基于向量的地图数据,并绘制所述地图视图的一位像。然后,所述服务 器将所述位图转换成所述用户的网络浏览器所支持的一图像格式并将所述图像 (有时嵌入于HTML中)回送至所述用户的网络浏览器以便能够显示所述图像。 而其它地图网站(例如英国的MultiMaps或澳大利亚的Wherels)利用一基 于光栅的地图数据库。在这些情形中,不必提取向量及绘制地像。更确切地 说,这些功能由简单地提取一较大的经预先再现的图像的适当部分所取代。不管是基于向量还是基于光栅,这些现有系统通常均表现出极差的性能。特 别是,所得到的地图往往较小且移动缓慢。例如考虑将一现有地图视图向西平移 所述视图宽度的比如50%的简单任务。传统的系统通常产生一全新的图像并将所 述新图像自服务器传输至用户的浏览器。此类系统不经济,因为其不能对所述新 地图视图与旧地图之间50%的重叠加以识别和利用。在基于向量的情况下,另外 需要实时地根据向量产生一地像,此往往导致地图通常难以读取并缺乏专业 外观及感觉,从而有损于用户体验。其他商家已选择编写定制软件来供其用户下载并安装。虽然后面的这种方法 可大大改善用户体验,但在用户计算机上安装软件这一需要可能会妨碍其被广泛 采用。因此,需要提供有利于有效地在线传送美观悦目的地图的数字地图描绘技术。发明内容本发明的一实施例提供一种用于为一基于拼图的数字地图描绘系统产生地图文件 的系统。所述系统包括一用于产生数字地像的地图涂画模块、 一用于根据所述数字 地像产生地图拼图的拼图制作器及一用于存储由所述拼图制作器所产生的地图拼 图的拼图存储器。在一个这样的实施例中,所述地图涂画模块可运行以请求并接收一给 定区域的据以产生所述数字地像的地理数据。此处,可使用一地图数据存储器来存 储一给定区域的地理数据的一个或多个集合,所述一个或多个集合可由所述地图涂画模块存取。所述地图数据存储器可包括(例如) 一组增强地图描绘格式(RMF)文件。在 一特定配置中, 一远程地图描绘引擎(RME)库具有一应用禾Mff界面以使所述地图涂画 模块能够存取所述地理数据。所述拼图制作器可(例如)根据一规定所应产生的地图拼图的区域及放大级 的配置文件来运行。所述配置文件可进一步规定要使用的至少一个地理数据集合 中及应如何绘制地图(包括标记布置信息)。所述拼图制作器可使用所述地图涂 画模块来为所述配置文件中所规定的区域产生数字地像。在一特定实施例 中,所述拼图制作器适于将所述配置文件中所规定的大区域划分成较小的区域, 并使用所述地图涂画模块来为这些较小区域产生数字地像。所述拼图制作器 可进一步经配置以将所产生的地图拼图编码成一所需图像格式(例如子像素位 图、GIF、 PNG、 TIFF或JPEG)并存储经格式化的地图拼图。所述系统可进一 歩包括一经配置以响应于来自用户的地图请求而提供存储于所述拼图存储器中 的地图拼图的地图拼图服务系统。
本发明另一实施例提供一种经配置以响应于来自用户的地图请求而提供地 图拼图的地图拼图服务系统。所述系统包括复数个用于提供由一用户请求的一个 或多个地图拼图的前端拼图服务器。使用一请求分配器在所述复数个前端拼图服 务器之间分配对地图拼图的请求。所述系统中还包括复数个与所述复数个前端拼 图服务器进行通信耦接的后端拼图服务器。每一后端拼图服务器均可存取所述地 图拼图(例如就地在一磁盘上存取或通过一网络存取),并经配置以向一对应的 前端拼图服务器提供所请求的地图拼图。所述前端拼图服务器中的至少一个服务器可经配置以识别一个或多个单色 地图拼图,并经配置以提供所述单色地图拼图,而无需自所述后端拼图服务器之 一中请求所述单色地图拼图。在一个这样的实施例中,所述一个或多个单色地图 拼图存储于一包括于所述至少一个前端拼图服务器中的存储器高速缓存器中,从 而降低对与提供这些单色地图拼图相关联的磁盘存取的需要。在另一个这样的实施例中,用户正在使用一计算装置与所述至少一个前端服务器进行通信,且所述 至少一个前端服务器使所述计算装置使用所述计算装置可就地得到的单色地图 拼图,因而无需提供此类拼图。每一地图拼图均可(例如)与一 NxN地图拼图块相关联,且每当请求得到一地图拼图时,均可提供对应NxN块中的所有NZ个拼图。也可高速缓存所有 W个拼图。在其它实施例中,所述地图拼图可(例如)与一NxM地图拼图块(即 所述块不需要为正方形的)相关联。后端服务器的数量可使每一后端服务器可用 于提供一特定的地图拼图子集。此处,每一后端服务器均可高速缓存其对应子集 中的全部或某些部分。可将每一后端拼图服务器专用于提供所述地图拼图的一子 集,且每一前端拼图服务器均可经配置以识别一适用于满足一用户对得到一地图 拼图的请求的后端服务器。在一个这样的实施例中,每一前端拼图服务器均使用 一基于地图拼图坐标的散列函数来识别所述适当的后端服务器。应注意,所述后 端拼图服务器不需要知道其正在提供哪个子集,从而简化了部署。响应于一后端拼图服务器无法用于提供其地图拼图负载,每一前端拼图服务 器均可经配置以将所述负载分配于其余后端拼图服务器中。在一个这样的实施例 中,每一前端拼图服务器均使用一基于地图拼图坐标的散列函数及一尝试计数器 来分配所述负载。所述系统可进一步包括一用于产生所述地图拼图的地图拼图产 生系统,所述地图拼图产生系统包括一拼图制作器。还可提供一用于存储所产生 的地图拼图的拼图存储器,其中无法在所述前端及/或后端服务器的高速缓存器中 获得的地图拼图可自所述拼图存储器存取。本发明另一实施例提供一种基于拼图的数字地图描绘方法。所述方法包括根 据数字地像产生地图拼图、存储所述地图拼图并响应于一用户地图请求来提 供一个或多个所述地图拼图。所述方法可进一步包括识别可就地提供给所述用户 的一计算装置的单色地图拼图。所述方法可进一步包括产生所述数字地像,
其包括规定应产生地图拼图的区域及縮放级。产生所述数字地像可包括(例 如)规定要使用的至少一个地理数据集合及应如何绘制包括标记布置信息的地 图。存储所述地图拼图可包括将所产生的地图拼图编码成一所需图像格式,并存 储经格式化的地图拼图。提供一个或多个所述地图拼图可包括对所提供的地图拼 图加以高速缓存。在一特定实施例中,根据数字地像产生地图拼图可包括识别要绘制的 区域及绘制所述区域所需的不同縮放级;根据需要在不同的縮放级下将所述区域 划分成子区域,以便能够在一可用存储器中预先再现每一子区域;以一给定縮放 级预先再现每一子区域;将每一预先再现的子区域划分成再现区域,以便能够在 所述可用存储器中对每一再现区域进行再现;及对所述再现区域进行再现,并将 所得到的图像切割成地图拼图。在一种这样的情况下,处于一縮放级下的每一子 区域均表示一任务,以便提供一由区域及縮放级所规定的任务列表,并应用并行 处理来执行这些任务。在另一种这样的情况下,要向发出请求的用户显示的地图 具有一分辨率,且所述再现是以一比要显示的地图分辨率大N倍的分辨率来进行 (例如N〉=2),并将通过所述再现所产生的位图用作输入来产生拼图作为子像 素位图。本发明另一实施例提供一种用于根据数字地图数据来产生数字地图拼图的 方法。所述方法包括识别要绘制的区域及绘制每一区域所需的各个縮放级。所述 方法继续来根据需要在不同縮放级下将所述区域划分成子区域,以便能够在一可 用存储器中对每一子区域进行预先再现。所述方法继续以一给定縮放级对每一子 区域进行预先再现,并随后将每一预先再现的子区域划分成再现区域,以便能够 在所述可用存储器中对每一再现区域进行再现。所述方法继续对所述再现区域进 行再现以产生一图像,并将所述图像划分成地图拼图。所述对每一子区域进行预 先再现可包括(例如)存取至少一个地理数据集合及一关于如何构建数字地 像的指令的表示形式。所述指令可表示(例如)在一配置文件中。所述子区域可 分别在每一縮放级下具有一预定的固定尺寸。在一特定实施例中,预先再现决策 防止会成问题的特征越过子区域之间的边界。或者,在另一实施例中,预先再现 决策允许各特征越过子区域之间的边界。在这种情况下,不允许同时对两个与一 边界跨越特征相关联的对齐子区域进行预先再现。可将预先再现决策存储起来以 便可将其用于后续的预先再现任务(其使各特征能够越过子区域之间的边界)。本文所述的特征和优点并不囊括一切,且具体而言,所属领域的技术人员根 据图式及说明将易知许多其它特征及优点。而且,应注意,本说明书中所使用的 语言原则上是出于易读性和指导性目的来选取,而非是为了限制本发明标的物的 范围。


图1为一根据本发明一实施例配置而成的基于拼图的数字地图描绘系统的一方i央图。图2为一可用于图1所示系统中的处理环境的一方块图。图3为一根据本发明一实施例配置成用于为一数字地图描绘系统产生地图拼图的系统的一方块图。图4及5图解说明一基于拼图的地图描绘系统情形,其中一地图标记跨越地图拼图边界。图6图解说明一根据本发明一实施例对图4及5中所示情形的解决方案,其 中不允许一地图标记跨越地图拼图边界。图7图解说明根据本发明一实施例对图4及5中所示情形的另一解决方案, 其中将一跨越一地图拼图边界的地图标记绘制成两个部分。图8为一根据本发明一实施例配置而成的地图拼图服务系统的方块图。
具体实施方式
本发明揭示能够有效地在线^f共美观悦目的地图的基于拼图的数字地图描绘技术。 在—待定实施例中,将一基于图像拼图的数字地图描绘系统配置成在离线会话期间产生 地图拼图,并在受到请求时将戶服拼图的选定子集劍共至一客户机。还樹共用于例如(举 例而言)当一地图标记或其它特征Sil地图拼图边界时在一基于拼图的地图描绘系统中 处理地图标记及其它特征的解决方案。可在所述系统中采用各种处理环境(例如服务器 或其它计算装置)。本文中所述的功能可由计算机禾,指令来执行。可将这些指令载入一计算机或其它 处理环境中以产生一机器,以便执行所述指令来实施根据本发明各实施例的基于拼图的 地图描绘技术。也可在一处理器可读媒体中对这些计算机禾,指令进行编码以提供一种 制品。可使用任一数量的编程语言或其组合(例如C, C++, HTML)来构建戶/M计算 机禾聘指令。本发明的其它实施例可由专用硬件(例如现场可编程门阵列(FPGA)或应 用专用集成电路(ASIC)技术)来构建。同样地,根据本揭示内容将易知,也可j顿硬 件与软件的组合来实施本发明的其它实施例。系统概述图1为一根据本发明一实施例配置而成的基于拼图的数字地图描绘系统的 一方块图。由图可见,所述系统包括一连接至一网络105的计算装置103。各种 服务系统也连接至网络105,包括一网络服务系统110、 一拼图服务系统115及 一位置数据服务系统120。其它计算装置105 (未显示)也可通过网络105与服 务系统110、 115及120进行通信。计算装置103可为配置成用于计算的任一类型的装置,例如个人计算机或膝 上型计算机、移动电话、个人数字助理、位于车内的导航系统、手持式GPS系统
等等。计算装置103包括一使用户能够与网络105上的其它装置及系统进行接口及通信的浏览器(或其它类似应用)。浏览器的实例包括Microsoft公司的Internet Explorer浏览器、Netscape公司的Navigator浏览器、Mozilla公司的Firefox浏览 器、PalmSource公司的Web浏览器、或任何其它能够与网络105进行通信的浏 览或应用软件。大体而言,计算装置103可为任一种使用户能够通过网络105访 问服务系统110、 115及120的装置。网络服务器110为整个系统的一部分,其传送初始HTML(超文本标记语言)、 图像、脚本语言(例如JavaScript、 Jscript、 Visual Basic Script)、 XSLT (可扩充 样式表语言转换)、及由计算装置103上的浏览器使用的其它静态要素。应注意, 此服务系统110可包括一个或多个根据一负载平衡方案运行的服务器,其中每一 服务器(或一服务器组合)均经配置以响应于计算装置103并与计算装置103交 互作用。如根据本揭示内容将易知,网络服务系统110可借助传统技术来构建。拼图服务系统115为整个系统的一部分,其负责响应于来自计算装置103的 请求来传送各个地图拼图,其中每一拼图均(例如)通过与整个基于拼图的地图 相协调的x、 y及z值来唯一地界定。也可使用其它拼图识别方案。服务系统115 可包括一个或多个根据一负载平衡方案运行的服务器,其中每一服务(或一服务 器组合)均经配置以响应于计算装置103并与计算装置103交互作用。与拼图服 务系统115相关联的实例性架构及功能将参照图8加以进一步阐述。位置数据服务系统120为整个系统的一部分,其将各种形式的位置数据传送 至计算装置103。其功能包括(例如)寻找一街道地址的地理位置、产生驱动方 向并将其格式化、及搜索一査询的具体位置结果(例如如同Google Local Search 服务一样)。还可提供其它服务。通常,当用户输入一搜索字符串时,所述搜索 字符串由计算装置103输入一请求中,并通过网络105发送至位置数据服务系统 120。然后,位置数据服务系统120确定所述请求的对象,并以一种计算装置103 可用以将所述数据呈现给所述用户(例如通过一浏览器)的格式以来自各个子系 统(例如地理编码器、选路引擎及本地搜索索引)的适当数据作出响应。网络105可为任一类型的通信网络,例如局域网(例如内联网)、广域网(例 如因特网)或其某一组合。或者,网络105可为计算装置103与服务系统110、 115及120之间的一直接连接。通常,计算装置103、网络105、及/或服务系统 110、 115及120均可使用各种各样的通信协议通过任一类型的有线或无线连接进 行通信。图2为一可用于图1所示系统的处理环境的一方块图。例如,可使用所示处 理环境来配置计算装置103或任何包含于服务系统110、 115及120中的服务器。 也可使用众多其它处理环境,且本发明并非意欲仅限于任何一种这样的实施例一 图2仅提供作为一可能的实例。由图可见,此实例性处理环境包括一总线200、 一个或多个处理器205、 一主存储器210、 一只读存储器(ROM) 215、 一存储装置220、 一个或多个输入装 置225、 一个或多个输出装置230及一通信接口 235。总线200可包括一个或多 个允许在所述处理环境的各组件之间进行通信的导体,并可使用传统的总线技术 来构建。处理器205可包括任一类型的传统处理器、微处理器、或解译并执行指令的 处理逻辑。主存储器210可包括一随机存取存储器(RAM)或另一类型的动态存 储装置以存储供处理器205执行的信息及指令。ROM 215可包括一传统的ROM 装置或另一类型的非易失性存储装置以存储供处理器205使用的信息及指令。存 储装置220可包括(例如) 一磁性及/或光学记录媒体及其相应的驱动器。应注意, 主存储器210也可包括一高速缓存器以用于临时存储共同存取的数据(例如地图 拼图)。此种高速缓存器将不需要每当接收到一对数据的请求时就对存储装置220 进行存取,从而縮短处理时间。输入装置225可包括一个或多个允许用户将信息输入至所述处理环境的传 统机构,例如键盘、鼠标、笔、记录笔、笔迹识别、语音识别、生物测定机构等 等。输出装置230可包括一个或多个将信息输出至用户的传统机构,例如显示器、 打印机、扬声器等等。通信接口 235可包括任一使所述处理环境能够与其它装置 及/或系统进行通信的收发机类机构。例如,通信接口 235可包括一用于通过网络 丄05与另一装置或系统进行通信的调制解调器(例如56K、 DSL或电缆)。在一实施例的运行中,计算装置103请求得到存储于拼图服务系统115中的 地图信息。 一前端服务器(包含于拼图服务系统115中)通过回送一包含供客户 机侧浏览器存取的指令(例如以JavaScript或另一脚本语言形式)的网页来对计 算装置103或"客户机侧"所提交的查询作出响应。以此方式,客户机计算装置103 根据需要自拼图服务系统115请求地图拼图,拼图服务系统115提供与所请求的 地图拼图相关联的拼图。然后,通过在所述网络浏览器中将所述拼图集组合在一 起形成所请求的地像,将所请求的地像显示于计算装置103处。地图拼 图可"预先再现",此意味着其是在一将参照图3加以说明的离线阶段期间产生。为了将所述大的光栅图像的任一子区域视图作为一地像再生于用户的 网络浏览器上,可使用一浏览器侧脚本,其仅使用最小的拼图集来一同覆盖所需 视图。因此,用户可观看到一所提供的地图区段,并随后对所看到的地图区段加 以改变(例如通过使用输入装置225的光标朝一方向拖动所述地图),从而提供 提供用来填充此时处于浏览器窗口内的新地图位置的新地图拼图。其效果是得到 一可放大/縮小并可进一步调整至所需新位置的实际上无止境的地图。此特征以及 由一根据本发明一实施例配置而成的基于拼图的数字地图描绘系统所实现的其 它特征进一步详述于前面所并入的名称为"数字地图描绘系统(ADigital Mapping System)"的母申请案中。对于任一给定实施方式而言,可在假定存在下列折衷 的情况下试探性地确定拼图的尺寸(1)较大的拼图往往会增大为形成一给定 图所需的拼图的总体尺寸(在像素及字节两方面而言);而(2)较小的拼图往往会增大为形成一给定视图所需的单独请求(例如HTTP请求)的数量。或者,并非使用一位于服务器侧(例如拼图服务系统115)上的拼图数据库, 而是可将每 一 拼图存储于 一 可使用 URL (例如 http:〃<domain>/7/-18/!/-145 12 7.gif,其中此实例中的目录路径7/-18/1只取决于 拼图坐标,所述拼图坐标在此种情况下等于(-145, 12, 7))来存取的单独文件中。 为简明起见,可将每一縮放级z的每一拼图定位成使所述拼图的左上部像素具有 坐标(0, 0, z)。此设置有利于通过使所述拼图中左上角像素的像素x及y坐标 分别整除以所述拼图的宽度及高度来为每一拼图指配一唯一的三坐标组。应注 意,在一些实施例中,因此利用总共三个坐标系纬度/经度坐标、像素(x, y, z)坐标及拼图(x, y, z)坐标。对坐标系的此特定选择并非意欲限制本发明, 而是选择用来帮助阐述一些实施例中所使用的算法。通常,此处可使用任一相容 的坐标系或检索系统。反过来,每一像素均属于一可容易地计算出其坐标的唯一 拼图。在一实施例中,将所述縮放级编号为O至Z,其中O表示最接近于街道级的 级,而Z为离街道级最远的级。将所关心区域内的任一纬度/经度点指定及定义 为原点或起点(例如毗连的美国的地理中心)。然后,在每一縮放级z下,为包 含此原点的z级光栅图像的像素指配三坐标组(0, 0, z)。使用x轴坐标从左至 右增大而y轴坐标从上至下增大的标准计算机图形规约,为每一光栅图像的每一 像素指配一唯一的三坐标组(x, y, z)。在给定縮放级z的情况下, 一坐标转换例程将一纬度/经度坐标对转换成适 当的(x, y, z)像素坐标,反之亦然。此种转换的细节取决于在最初形成所述 光栅图像时所用的地图投影。拼图产生图3为一根据本发明一实施例经配置用于为一数字地图描绘系统产生地图 拼图的系统的一方块图。如先前所提及,可在一对用户而言透明的离线处理中产生由所述地图系统所 覆盖的整个区域的一组大的、邻接的、预先再现的光栅图像。为每一縮放级(例 如从街道级到国家级)提供一组这样的光栅图像。然后,将这些较大的图像切割 成拼图,然后将这些拼图编码成一适当的图像格式(例如GIF)。图3中所示系统 的用途是产生完整的一组拼图来覆盖给定的一组区域及縮放级。通常,可将产生一可用以制成地图拼图的地像的过程划分成两个逻辑过 程预先再现及再现。在所述预先再现过程中,根据可用地图数据及配置数据作 出关于应如何绘制地图的决策。在所述再现过程中,通过产生一位像或通过 规定以一基于向量的格式绘制所述地图来进行实际的地图绘制。对于这两个过程 而言,非常需要具有高的速度。在一计算装置的存储器或其它适当的处理环境中
实施所述过程是一种用以达到足够速度的方式。在一实施例中,所述预先再现过程可利用所有需要的地图数据(可用以绘制 地像的地理数据集)及一关于如何在存储器中构建所述地图的决策的表示形 式。此决策可表示(例如)于一配置文件中。所述再现过程可将正在绘制的位图 连同所要绘制的内容的定义保存在存储器中。在一些(并非所有)情形中,就可 用存储量而言,所述预先再现过程可覆盖一比所述再现过程大得多的区域。例如,如要覆盖整个美国及加拿大大陆,可能需要上亿块拼图,所述拼图的 总文件尺寸大约为数百吉字节。并非是在需要时根据基本数据来绘制地像, 而是将整个地图预先绘制成若干区段(拼图),并在需要拼图时将适当的拼图发 送至客户机。最终组合并显示于用户的网络浏览器上的每一基于拼图的地像 均与其中一个较大的预先确定的光栅图像的一子区域(通常呈一矩形形状)相匹配。本文中阐述大区域的拼图产生。通过执行拼图制作器305来启动所述拼图产生过程。为了绘制若干区域,拼图制作器305使用地图涂画模块310来产生图像。地图涂画模块310通过一市售 RME (远程地图描绘引擎)库315来获得一给定区域的地理数据,RME (远程地 图描绘引擎)库315采用一使地图涂画模块310能够存取地图数据存储器320的 应用程序界面(API)。应注意,在替代实施例中,地图涂画模块310可经配置以 直接对地图数据存储器320进行存取,从而无需使用商业RME库315。总之, 地图涂画模块310作为一绘制模块运行,其中可使用一图形库来产生具有所需外 观的位图。为了使一位图地像反混淆,此可通过下述方式来进行通过所述 图形库或通过以高于所需的分辨率绘制所述地像、并随后以一适当方法(例 如双线性或双三次再采样)按比例縮小所述图像,或通过将更高分辨率的位图用 作能够产生子像素位图的软件的输入。 一个特定的此种实施例使用Microsoft公 司的GDI/GDI+以四倍的分辨率来绘制一地像,并随后通过将每一 512x512 像素区域转换成一个128x128像素子像素位图拼图来产生子像素位图。拼图存储器300为保存由拼图制作器305所产生的拼图的地方。在一实施例 中,将拼图存储器300构建成一简单的基于磁盘的存储系统,但其也可为任一能 够有效地接收并存储大量数据的系统。由于通常的文件系统在处理大量小文件时 常常变得效率低下,因此可将所述拼图存储于复合文件中。在一特定实施例中, 可将所述拼图存储成子像素位图(如在前面所并入的第60/555,501号美国临时申 请案中所述),但也可改为使用任一基于位图或向量的格式。 一旦所述地图拼图 存储到一拼图存储器300中,其便可供用于一读取所述拼图(例如按块形式或一 次一个)并以一对于将所述拼图提供至一发出请求的客户机的数字地图描绘系统 而言可最优化的方式对所述拼图进行高速缓存的过程。可使用一配置文件来启动拼图制作器305,所述配置文件规定应针对哪些区 域及縮放级产生所述拼图、使用哪些数据集以及应如何绘制所述地图(例如通过
色彩规范、各种特征的外观、标记布置等等)。所述配置文件也可包含不存在于 地图数据存储器320中的额外数据,例如手动布置的标记。在一实施例中,将所述配置文件构建成一可扩充标记语言(XML)格式化文本文件,其包含拼图制作 器305需要用来绘制地像(使用地图涂画模块310)的所有配置数据。如根 据本揭示内容所将易知,也可使用其它格式及解决方案来执行拼图制作器305。如上文所解释,拼图制作器305使用地图涂画模块310为所述配置文件中所 规定的区域绘制地像。在一特定示例中,地图绘制是根据向量数据来产生一 目标区域(例如美国中西部或旧金山市,或某一其它地理区域)的位像的过 程,所述向量数据规定例如所关心的点(POI)及地址等地理特征、例如公路及 铁路等特征、城市、公园及诸如此类的点、线及区域。当一区域较大时,使地图 涂画模块310绘制并将整个所绘制地像存储于存储器中可能不切实际,因此 拼图制作器305可将所述区域划分成若干较小的区域,并一次一个地绘制这些较 小的区域。本文进一步阐述大区域的拼图产生。由于期望使正在绘制的区域构成 单个连续图像,因此此种划分可能带来问题,因为关于所述区域的不同部分的绘 制决策可能在这些部分之间的边界处不对齐。一种解决方案(其将参照图6加以进一步阐述)是强行将标记及其它会造成 问题的特征绘制成只完全处于当前正在绘制的区域内一此种解决方案能防止出 现局部绘制的标记,但其可降低沿边界的地像的质量,因为其会限制布置此 类特征的可能性范围。例如, 一跨越此种位于两个分别绘制的区域之间的边界的 公路可能在所述边界的两侧上布置有相同的标记,所述标记布置的比其原本布置 的近得多。另一解决方案一其将参照图7加以进一步阐述一是保存对于沿边界布 置会造成问题的特征的决策,并随后在绘制后续区域时将这些决策考虑在内。这 样作可只是为了避免以不合宜的方式将各特征布置在一边界的每一侧上,或者其 可允许将各特征独立于边界布置(例如通过允许此类特征跨越边界)。为了绘制一区域,拼图制作器305可使用地图涂画模块310,并向地图涂画 模块310传递关于要绘制的区域、所需比例尺、要包含哪些地理数据集、要绘制 哪些特征及应如何绘制此类特征的相关信息。响应于此,地图涂画模块310回送 一对应的数字地像,所述数字地像由拼图制作器305变成拼图并以例如 子像素位图(或任一基于位图或向量的格式)等所需格式存储于拼图存储器300 中。在一特定实施例中,使用一 128x128像素的拼图尺寸,其中所述拼图以一 GIF格式存储。其它实施例可使用一以GIF、 PNG、 TIFF或JPEG格式存储的 256x256像素的拼图尺寸。根据对每一特定实施方式的要求,也可使用其它拼图 尺寸及图像存储格式。这些拼图大体形成一规则的矩形网格,且此属性在一实施 例中有利于系统的构建。然而,应注意,也可使用任何其它将大的光栅图像划分 成具有任何能在客户机侧(例如计算装置103)组装的形状及尺寸的拼图的划分
形式来实现本发明的效果。如前面所述,RME库315为一可用于从RMF (增强地图描绘格式)文件中 查询数据的市售软件。RME库315支持空间査询,所述空间査询用于请求涉及 到两个或更多个项的地理关系的信息。实例性查询为"哪些地图特征处于一给定 区域内?"或"哪些具有一高于某一阈值的优先级的地图特征处于一给定区域 内?"。使用所述空间査询的结果来产生地像并最终产生地图拼图。通过将 其它地图格式编译成RMF来产生RMF文件。此过程的优点在于可按一相容方式 通过RME库315査询可编译成RMF文件的各种各样的地图数据文件格式。应注 意,可在所述系统中使用文件格式与库的任一组合;唯一的要求是需要一种可供 地图涂画模块310用于获得一给定区域的地理数据的服务。地图数据存储器320是存储于一供RME库315存取的磁盘上的地理地图数 据。在一实施例中,所存储的地图数据包括已由Telcontar (—数字地图及导航信 息的商业提供商)编译成一RMF (增强地图格式)文件集的市售NavTech数据。 RMF为一种针对空间査询处理得到最佳化的传统地图数据格式。因此, 一旦在空 间上格式化的数据集中发现一个项,便可相对容易地发现其它临近项。不过,应 注意,还有许多其它用于将地图数据组织于存储器320中的方式,例如依序或分 层组织。要使用的确切文件/数据集可由用于控制拼图制作器305的执行的配置文 件来规定。此处可替换任何地图数据源,且RME库315及地图数据存储器320 可为一个具有一可供地图涂画模块310使用的API的系统。或者,可将RME库 315与API功能集成到地图涂画模块310中。根据本文中所揭示内容将易知其它 配置。大区域的拼图产生如前面所示,就可用存储量而言,所述预先再现过程可(在某些情形中)覆 盖一比所述再现过程大得多的区域。可对图3所示系统所实施的拼图产生过程进 行改进,以使所述拼图产生适用于大的区域(例如美国及加拿大大陆)。在一实 施例中,按下述方式进行用于产生由一配置文件所规定的所有拼图的过程。首先,拼图制作器305查看需要绘制的所有区域及绘制这些区域所需使用的 各个縮放级,并以不同的縮放级根据需要将所述区域划分成子区域,以便能够以 一给定存储量来对每一子区域进行预先再现。所述决策可基于用于一给定区域的 实际数据。或者,为了使此步骤尽可能地短,可对一子区域使用一固定尺寸或对 每一縮放级使用一固定尺寸。处于一縮放级的每一子区域均变成一由区域及縮放 级界定并存储于一列表中的独立任务,并可应用大量拼图制作器305来执行这些 任务(例如使用并行处理)。为了避免出现跨越这些子区域之间的边界的问题,所述预先再现过程可确保 没有会造成问题的特征跨越这些边界,从而使每一子区域均能够完全独立地预先 再现及随后再现(图6)。或者,可对在一预先再现过程期间所作出的决策加以保
存,以便可在后续预先再现任务中对其加以存取,从而使各特征可跨越子区域之 间的边界(图7)。此要求进行一定的协调,以避免同时要对两个对齐的子区域进 行预先再现(假定存在一使用多个拼图制作器305的并行处理方案)。当一拼图制作器305从所述列表中选择一个任务时,其以所述任务所规定的縮放级对所述子区域进行预先再现,并随后将所述子区域划分成小到足以在所述可用存储器中再现的再现区域。然后,拼图制作器305着手一次一个地对再现区 域进行再现,将所得到的图像切割成拼图,并将所述拼图置于拼图存储器300中。 在一特定实施例中,以四倍的所需分辨率进行再现,并将所得到的位图用作输入 来产生拼图作为子像素位图,但也可根据所需输出使用其它尺寸及格式。应注意, 例如标记等特征可跨越各再现区域之间的边界,因为关于其布置的所有决策均是 在所述预先再现过程期间作出。还应注意,如果使所述子区域小到足以既在存储 器中预先再现又在存储器中再现,则在对例如标记等特征的布置施加限制的边界 之间存在较小的距离,且所得到的地图通常质量较差。除已提及的用于产生描绘一没有断开特征(例如跨越拼图边界)的连续地图 的拼图的策略外,还可仅根据某一半径内的地图数据以一种使所述半径外任何事 物均无法影响所述标记布置的方式作出关于所述特征布置的决策。在此种系统 中,可不需要对不能由例如标记等特征跨越的边界加以识别,只要一正预先再现 及再现的区域可存取所述子区域以外(直到所述子区域以外的半径)的地图数据 即可。借助对所述预先再现代码的充分改良及一足够大的半径,此种系统可能能 够产生在质量上与前面所述方法相当的结果。当对例如城市或公园等区域进行标 记时,所述预先再现过程可从所述地图数据中加载整个特征,并仅使用所述特征 来决定是否布置标记。这意味着,关于此种标记或类似特征的布置的决策对于毗 邻的子区域而言将相同,因而可允许这些特征跨越边界。基于拼图的地图描绘系统问题及解决方案下文参照图4至7图解说明前面所述连续性技术的实例性应用。由于地图描绘系统实施例可处理大的区域(例如国家、洲、或者甚至行星规 模),因此一次存取整个区域位图可能不切实际。为了解决此问题,如前面所解 释,可能需要将整个区域划分成更小的子区域,并一次为一个子区域产生所述拼 图。为在不向整个地像中引入错误的情况下进行此种作业, 一实施例解决跨 越拼图及子区域的连续性问题。图4图解说明一典型的标记布置问题,其中一地 图标记("主街道")跨越地图拼图边界(称作子区域边界),而图5图解说明一 在独立绘制每一子区域时可能出现的问题。图6图解说明一根据本发明一实施例对图4及5中所示问题的解决方案,其 中不允许地图标记跨越地图拼图边界。此方法确保在所述预先再现过程期间布置 可能会导致跨越子区域之间边界的问题的特征,从而消除或者减少所述地图中的 错误。例如,在所述预先再现过程期间布置公路或铁路的名称标记,因而其不会跨 越这些子区域边界,从而确保最终的地图不存在仅部分地位于其中的标记(例如 图5中所示)。可仅根据此种特征的形状来布置例如城市或公园等区域的标记。 这意味着如要布置这些标记,即使所述特征的某些部分位于其他子区域中,也必 须检索被标记的整个特征,并随后必须根据所述整个区域的形状来布置所述标 记。在一力图使重叠标记的外观最小化的系统中,应将区域标记布置于诸如公路 及铁路等其它特征的标记前面,以使这些其它特征将不会影响一个子区域中的区 域标记,因为这些影响将不为在一毗邻子区域中绘制所述地图的绘制过程所知, 且因此不再保证所述区域标记的布置完全相同。图7图解说明一根据本发明另一实施例对图4及5中所示问题的解决方案, 其中将一跨越地图拼图边界的地图标记绘制成两个部分。可通过下述方式来实施 此解决方案将在所述预先再现过程期间对每一子区域所作出的决策存储起来, 并使所述决策可供用于后续过程以绘制包含相同特征(或其某些部分)的区域以 及可能根据关于先前所绘制区域中的特征及标记布置的信息来移动特征及标记 的毗邻区域。在此种情况下,所述地图绘制模块(例如图3中所示的地图涂画模块310)可在不虑及子区域边界的情况下布置标记(例如在一公路上),因为一跨越此种 边界的标记得到保存并可供用于对毗邻子区域的绘制过程。所述毗邻子区域接收 关于跨边界标记的布置的信息,并将所述布置用作其自身的布置,从而再次绘制 所述标记,且其位于所述毗邻子区域中的部分包含在该位置处所产生的拼图中。此方法有利于下述属性子区域边界的不同侧上的拼图可具有跨越所述子区域边 界的特征及标记,且由此使布置特征及标记的过程能够忽略所述子区域边界。可应用相同的方法来布置路线符号及区域标记(且其可与前面所提及的查看 所标记的整个区域的方法相结合)。可类似地作出关于如何绘制被指配有坡度等 级(按照高度排序)的交叉公路的预先再现决策。在此种具有坡度等级的公路情 况下,可将一环绕一组交叉公路的区域以一种其可被视为与毗邻公路独立的方式 来加以确定,且对此区域作出决策并保存所述决策,以使其可供用于绘制毗邻的 子区域,特别是那些发现在坡度等级方面孤立的与所述区域相交的毗邻子区域。由不同商家提供的地图数据往往在覆盖区域及质量方面差异很大。为了获得 具有高质量的地图,可能需要对来自多个源的数据加以组合。例如, 一个数据集 可能具有对一机场区域及机场跑道的最详细的概述,而另一数据集可能具有关于 可将机场标记布置于何处及一在产生来往于所述机场的驾驶方向使应使用的位置的信息。为了从多个地图数据集中获得最佳的一个,可对地图涂画模块310进行配置以从不同源中获得不同的信息集而不是只从一个数据集中获得。当所述地图区域覆盖多个国家甚至多个洲时, 一可供在多个縮放级用作拼图 的大的连续地图这一概念也具有吸引力。同样,可使用前面所述用于将一地图绘 图划分成子区域并存取可供用于不同国家的地图拼图集的方法来构建此种系统。 这意味着并非仅仅是一张美国地图,而是可针对整个北美大陆甚至整个行星以各 种各样的縮放级来产生单张连续地图。 拼图的提供如根据本揭示内容将易知,可按多种方式来实施拼图的提供。 一种方法是赋 予每一拼图一文件名并将其作为一单独文件存储起来。然后,可将所述拼图置于 一服务器上,由所述服务器就地或通过一网络根据请求来提供所述文件。对于一 基于网络的系统而言,此服务器可为一根据纬度、经度及縮放级为每一拼图命名 的HTTP服务器。此方法可能会对所述服务系统施加一定的压力,尤其当拼图数 量可变得很大时。有许多方法能够对一服务系统进行组配以减轻由大量拼图造成的压力。例 如,接收到一对地图拼图的请求的系统可存取一个或多个分别包含整个拼图集或 其一拼图子集的有效存储媒体(例如本地高速缓存器),且随后可从所述存储媒 体中检索一拼图,并响应于一请求来传递所述拼图。图8为一根据本发明一实施例配置而成的地图拼图服务系统的一方块图。此 实例性配置一其可用于构建图1所示的拼图服务系统115 —尝试着使所述系统在 所述存储系统的一部分失败的情况下作出适当响应,并还能够处理大的拼图集及 大量的业务量。由图可见,所述拼图服务系统包括两种类型的拼图服务器拼图前端(TFE) 及拼图后端(TBE)。这些服务器可通过一内部网络或其它媒体进行通信。来自 所述系统外部(例如通过外部网络)的对拼图的请求通过一实施一负载平衡方案 的请求分配子系统均匀地分布于各TFE之间。然后,所涉及的TFE自适当的TBE 请求地图拼图,并将其回送至请求方。在一可能的实施方式中,可将所有拼图存储于每一 TBE的磁盘存储设备上 (例如存储装置220中,其也可能是拼图存储器300)。此处,所述磁盘存储设备 的使用方式是每当一 TFE请求一拼图时,包含所述拼图的8x8块中的64块拼图 中的其余拼图也自所述磁盘中读出,并可合理地预期所述其余拼图处于所述TBE 上的存储器高速缓存器中(例如主存储器210中)。此实施例使用一8x8拼图块, 以便提供总共64块处于相同縮放级的毗邻的拼图。其它实施例可使用其它块尺 寸(例如NxN或MxN)。因此,可无需进行磁盘存取且因此可更加有效地处理任何对来自同一 TBE 的同一 8x8块中拼图的后续请求,除非所述8x8块已被最近的请求挤出所述存储 器高速缓存器。如果确实如此,可自磁盘读取所请求的拼图,且可能重新将所述 8x8块置于所述存储器高速缓存器中。因此,如果将一 TBE上存储器高速缓存器 的大小与对经常受到存取的拼图的请求量之间的平衡考虑在内,则可通过所述存 储器高速缓存器来处理所述请求中的高的百分比,从而使每一TBE更加有效。
在一实施例中,可使用TFE在各TBE中分配请求,以使其可按一种在自存 储器高速缓存器提供尽可能多的拼图而不使用一不合理数量的TBE与同时还能 够有效地提供整个拼图集合之间保持合理平衡的方式工作。为了增加自存储器高 速缓存器提供的拼图的百分比,可能需要使所有TFE将对一给定拼图(例如,或 8x8拼图集)的请求引向同一TBE,及/或可能需要均匀地分配TBE上的负载, 从而更加充分地利用每一 TBE。例如,假定有20个TBE,且每一个均能够高速缓存整个地图的1/20。因此, 任何一个对地图数据的请求均可由一对应的TBE使用其高速缓存器来加以处理。 如果一个TBE失败,则可在其余19个TBE中分配其负载。在此种情况下,每一 其余TBE的高速缓存器均将最终增大(在一"学习"周期后)成包括其所分担的所 述失败的TBE负载的一部分。在一实施例中,可通过在每一 TFE上使用相同的散列函数来构建这些功能。 所述散列函数返回(或可用于计算)可自其请求一给定拼图的TBE的数量。由 于在一实施例中所述拼图以8x8块的形式存储在存储器中,因此应自同一 TBE 请求一块中的每一拼图。在此实施方式中,可使用一基于经度及纬度的x及y值 及一代表绘制所述拼图的縮放级的z值对每一拼图依序编号于的。在一实施例中, 可对块以同样方式进行编号,使其x及y等于对其所含拼图的任一个x及y值对 实施一整除以8的结果。因此,可将一实施例中的散列函数称作Hash (x除以8, y除以8, z)。然后,可将所述散列函数所返回的值用于计算一对应于所要使用 的TBE的数量,如Hash (x除以8, y除以8, z)模N,其中N为所述系统中 TBE数量。此散列函数方法可有助于在所述系统达到一合理大小后,当不知晓负载将如 何在各个拼图之间分配时,使所述负载均匀地分布配于一拼图服务系统上。然而, 此方法并未解决在其中一个TBE停止工作的情况下使所述系统适当工作的问题。为了解决此问题,在一实施例中,可对所述散列函数添加另一输入,具体而 言,所作自所述TBE检索所述拼图的尝试次数。在此实施例中,可将所述散列 函数描述为Hash (x除以8, y以除8, z,尝试次数)。因此,如果一 TFE在其 首次尝试从一 TBE中检索一拼图时失败,则其可通过使尝试次数的起始值(例 如0或1)增加l来增大所述尝试次数,且随后可重新执行所述散列函数,此现 在会将其带至所述拼图的下一 TBE。可重复此过程直至可检索到所述拼图或所述 尝试次数达到一预设阈值(通常为一显著大于所述系统中的TBE数的数值)为 止。此方法提供多个优点。具体而言,如果一TBE失败,则其通常所提供的拼 图将改为由通过所述散列函数分配的其余TBE提供。此可在不在TFE或TBE中 进行任何通信的情况下进行,并可几乎不影响整个系统的响应时间。为了进一步 增强所述系统,在一实施例中,所述TFE可跳过对已在一短时间周期内失败的TBE的请求、或跳过一固定数量的对一失败的TBE的请求、或其某一组合,以限制在所述系统内传播的失败请求的数量。所述系统也可处理多个TBE的失败,并可在所述失败的TBE重新开始工作 或已被替换后一也许在一短的延迟(如果已采用前面所提及的用于减少失败的请 求的时间或计数方法)后重新开始使用所述失败的TBE。而且,例如, 一具有总 共N个TBE—其中这些TBE中的M个已失败一的系统可在一时间周期后达到稳 定并可作为一具有仅N-M个TBE的系统工作,因失败的尝试所导致的响应时间 的少量增加除外。根据本文所述原理将易知诸多使用负载分担方案的失败恢复方 式。一地图再现过程所产生的拼图可包含一较大百分比的具有单种色彩的拼图。 通常,此种情况可随用于水面、陆地、公园、城市、校园及其它此类区域的色彩 而出现。由于其中具有相同的单种色彩的拼图完全相同,因此所述TBE上所需 的存储量可能因不单独存储这些拼图而在一实施例中显著减少。在一些实施方式 中,此可节省原本所需存储空间的90+%。为了使所述系统能够在一实施例中提供这些单色拼图,可创建一包含关于已 创建的每一拼图的信息(例如拼图可为一常规拼图、具有一特定色彩的单色拼图、 一断开的拼图或一遗漏的拼图)的索引。在一实施方式中,此种索引可存储于所 述TFE上,以便每当一单色拼图受到请求时所述TFE能够将一具有正确色彩的 拼图发送至客户机。这些一般性单色拼图可存储于所述TFE上的存储器高速缓存 器(例如主存储器210)中,以便尽可能有效地提供这些拼图。所述索引也可存 储于所述TBE机器上,在此种情况下会将一般的拼图自所述TBE传送至所述 TFE,并随后传递至所述请求方。在另一实施例中,关于单色拼图的信息可全部、针对地图区域的一部分、或 针对单个拼图存在于所述客户机侧。如果所述索引存在于所述系统的服务部分 上,则其可响应于对所述信息的请求,且客户机可只请求其当前正在显示的区域 的信息,并使用所述信息来避免请求单色拼图。另一实施例将使所述TFE (或使 TBE经由TFE)能够不是以一拼图而是通过返回所请求拼图只包含某一色彩这一 信息来响应于一对一拼图的请求,且因此可在所述接收侧上由一般性拼图来替 换。在任何此类情况下,所述TBE或TFE均使所述远程计算装置使用可就地得 到的单色地图拼图,以便无需提供此种拼图。如根据本发明将易知,存在几种根 据关于一所绘制地图中整个拼图集内的单色拼图的知识来实施优化的方式。本文出于例示及说明目的提供了上述对本发明各实施例的说明。本文不打算 作为穷尽性说明或将本发明限定为所揭示的确切形式。根据本揭示内容可做出许 多种修改及改变。本发明的范围并非意欲受本详细说明限制,而是仅受受随附权 利要求书限制。
权利要求
1、一种用于为一基于拼图的数字地图描绘系统产生地图拼图的系统,其包括一用于产生数字地像的地图涂画模块;一用于根据所述数字地像产生地图拼图的拼图制作器;及一用于存储由所述拼图制作器产生的地图拼图的拼图存储器。
2、 如权利要求1所述的系统,其中所述地图涂画模块可运行以请求并接收 一给定区域的地理数据,根据所述地理数据来产生所述数字地像。
3、 如权利要求2所述的系统,其进一步包括一地图数据存储器,其用于存储一给定区域的所述地理数据的一个或多个集 合,所述集合可由所述地图涂画模块存取。
4、 如权利要求3所述的系统,其中所述地图数据存储器包括一组增强地图 描绘格式(RMF)文件。
5、 如权利要求2所述的系统,其进一步包括一远程地图描绘引擎(RME)库,其配置有一应用程序界面以使所述地图涂 画模块能够存取所述地理数据。
6、 如权利要求1所述的系统,其中所述拼图制作器根据一规定应产生地图 拼图的区域及縮放级的配置文件来运行。
7、 如权利要求6所述的系统,其中所述配置文件进一步规定至少一个所要 使用的地理数据集及应如何绘制所述地图,包括标记布置信息。
8、 如权利要求6所述的系统,其中所述拼图制作器使用所述地图涂画模块 来产生在所述配置文件中所规定的区域的所述数字地像。
9、 如权利要求6所述的系统,其中所述拼图制作器适于将所述配置文件中 所规定的大区域划分成较小的区域,并使用所述地图涂画模块来为这些较小的区 域产生所述数字地像。
10、 如权利要求1所述的系统,其中所述拼图制作器可运行以将信息传递至 所述地图涂画模块,自所述地图涂画模块接收一基于所述所传递的信息的对应数 字图像,并将所述图像划分成拼图。
11、 如权利要求l所述的系统,其中所述拼图制作器进一步经配置以将所产 生的地图拼图编码成一所需图像格式,并存储所述经格式化的地图拼图。
12、 如权利要求l所述的系统,其中所述所需图像格式为子像素位图。
13、 如权利要求l所述的系统,其进一步包括一地图拼图服务系统,其经配置以响应于来自一用户的地图请求而提供存储 于所述拼图存储器中的地图拼图。
14、 如权利要求13所述的系统,其中所述地图拼图服务系统进一步包括 复数个前端拼图服务器,其用于提供一个或多个由一用户请求的地图拼图; 一请求分配器,其用于在所述复数个前端拼图服务器之间分配地图拼图请求;及复数个后端拼图服务器,其与所述复数个前端拼图服务器以通信方式相耦 接,每一后端拼图服务器均可存取由所述拼图制作器产生的所述地图拼图,并经 配置以向一对应的前端拼图服务器提供所请求的地图拼图。
15、 一种经配置以响应于来自一用户的地图请求来提供地图拼图的地图拼图 服务系统,其包括复数个前端拼图服务器,其用于提供一个或多个由一用户请求的地图拼图; 一请求分配器,其用于在所述复数个前端拼图服务器之间分配地图拼图请 求;及复数个后端拼图服务器,其与所述复数个前端拼图服务器以通信方式相耦 接,每一后端拼图服务器均可存取所述地图拼图,并经配置以向一对应的前端拼 图服务器提供所请求的地图拼图。
16、 如权利要求15所述的系统,其中所述前端拼图服务器中的至少一个服 务器可识别一个或多个单色地图拼图,并经配置以提供所述单色地图拼图,而无 需自所述后端拼图服务器之一中请求这些单色地图拼图。
17、 如权利要求16所述的系统,其中所述一个或多个单色地图拼图存储于 一包含于所述至少一个前端拼图服务器中的存储器高速缓存器中。
18、 如权利要求16所述的系统,其中一用户正在使用一计算装置与所述至少一个前端服务器进行通信,且所述至少一个前端服务器使所述计算装置使用所 述计算装置可就地得到的单色地图拼图,从而无需提供此种拼图。
19、 如权利要求15所述的系统,其中所述地图拼图中的每一拼图均与一NxN 地图拼图块相关联,且每当一地图拼图受到请求时,均对对应的NxN块中的所 有N2个拼图进行高速缓存,从而减少对与这些地图拼图相关联的将来磁盘存取 的需要。
20、 如权利要求15所述的系统,其中所述后端服务器的数量使每一后端服 务器均可用于提供所述地图拼图的一特定子集,且每一后端服务器均能够对其对 应的子集进行高速缓存。
21、 如权利要求15所述的系统,其中每一后端拼图服务器均专用于提供所 述地图拼图的一子集,且每一前端拼图服务器均经配置以识别一适于满足对一地 图拼图的一用户请求的适当的后端服务器。
22、 如权利要求21所述的系统,其中每一前端拼图服务器均使用一基于地 图拼图坐标的散列函数来识别所述适当的后端服务器。
23、 如权利要求15所述的系统,其中响应于一后端拼图服务器无法提供其 地图拼图负载,每一前端拼图服务器均经配置以将所述负载分配于其余后端拼图 服务器中。
24、 如权利要求23所述的系统,其中每一前端拼图服务器均使用一基于地 图拼图坐标及一尝试计数器的散列函数来分配所述负载。
25、 如权利要求15所述的系统,其中所述地图拼图中的每一拼图均与一NxN 地图拼图块相关联,且每当一地图拼图受到请求,便提供对应的NxN块中的所 有W个拼图。
26、 如权利要求15所述的系统,其进一步包括一包括一拼图制作器的地图拼图产生系统,其用于产生所述地图拼图;及 一拼图存储器,其用于存储所述所产生的地图拼图,其中无法在所述前端及 /或后端服务器的高速缓存中得到的地图拼图可自所述拼图存储器存取。
27、 一种基于拼图的数字地图描绘方法,其包括 根据数字地像产生地图拼图; 存储所述地图拼图;及响应于一用户地图请求而提供所述地图拼图中的一个或多个。
28、 如权利要求27所述的方法,其进一步包括产生所述数字地像,其包括规定应产生地图拼图的区域及縮放级。
29、 如权利要求28所述的方法,其中产生所述数字地像进一步包括规 定至少一个所要使用的地理数据集、应如何绘制所述地图,包括标记布置信息。
30、 如权利要求27所述的方法,其中存储所述地图拼图包括将所述所产生 的地图拼图编码成一所需图像格式,并存储所述经格式化的地图拼图。
31、 如权利要求30所述的方法,其中所述所需图像格式为子像素位图。
32、 如权利要求27所述的方法,其中提供所述地图拼图中的一个或多个包 括对所述所提供的地图拼图进行高速缓存。
33、 如权利要求27所述的方法,其进一步包括 识别所述用户的一计算装置可就地得到的单色地图拼图。
34、 如权利要求27所述的方法,其中根据数字地像产生地图拼图包括 识别所要绘制的区域、及需要对每一区域进行绘制的各个縮放级; 在所述不同縮放级下根据需要将所述区域划分成子区域,以便可在一可用存储器中对每一子区域进行预先再现;以一给定縮放级对每一子区域进行预先再现;将每一经预先再现的子区域划分成再现区域,以便可在所述可用存储器中对 每一再现区域进行再现;及对所述再现区域进行再现,并将所得到的图像划分成地图拼图。
35、 如权利要求34所述的方法,其中处于一縮放级下的所述子区域中的每 一子区域均表示一任务,从而提供一由区域及縮放级规定的任务列表,并对执行 这些任务应用并行处理。
36、 如权利要求34所述的方法,其中要向所述发出请求的用户显示的地图 具有一分辨率,且在一比所要显示的所述地图的所述分辨率大N倍的分辨率下进 行所述再现,并将通过所述再现所产生的位图用作输入来产生拼图作为子像素位 图。
37、 如权利要求27所述的方法,其中从数字地像中产生地图拼图包括: 识别所要绘制的区域;将所述区域划分成子区域,以便能够在一可用存储器中对每一子区域进行预 先再现;对每一子区域进行预先再现;将每一经预先再现的子区域划分成再现区域,以便可在所述可用存储器中对 每一再现区域进行再现;及对所述再现区域进行再现。
38、 一种用于根据数字地图数据产生数字地图拼图的方法,其包括 识别所要绘制的区域、及需要对每一区域进行绘制的各个縮放级; 在所述不同縮放级下根据需要将所述区域划分成子区域,以便可在一可用存储器中对每一子区域进行预先再现;在一给定縮放级下对每一子区域进行预先再现;将每一经预先再现的子区域划分成再现区域,以便能够在所述可用存储器中 对每一再现区域进行再现;对所述再现区域进行再现以产生一图像;及 将所述图像划分成地图拼图。
39、 如权利要求38所述的方法,其中预先再现每一子区域包括存取至少一 个地理数据集及一关于如何构建所述数字地像的指令的表示形式。
40、 如权利要求39所述的方法,其中所述指令表示于一配置文件中。
41、 如权利要求38所述的方法,寸。
42、 如权利要求38所述的方法, 一预定的固定尺寸。
43、 如权利要求38所述的方法,其中所述子区域分别具有一预定的固定尺 其中所述子区域分别对于每一縮放级具有 其中预先再现决策能防止会造成问题的特征跨越子区域之间的边界。
44、 如权利要求38所述的方法,其中对预先再现决策加以存储以使其可用 于后续的预先再现任务。
45、 如权利要求38所述的方法,其中预先再现决策允许特征跨越子区域之 间的边界。
46、 如权利要求45所述的方法,其中不允许同时预先再现与一边界跨越特 征相关联的两个对齐的子区域。
全文摘要
本发明揭示能够有效地在线提供美观悦目的地图的基于数字拼图的地图描绘技术。在一特定实施例中,一种基于图像拼图的数字地图描绘系统配置成在一离线会话期间产生地图拼图,并在受到请求时将这些拼图中的选定集合提供至一客户机。本发明还提供在一基于拼图的地图描绘系统中用于例如在一地图标记跨越地图拼图边界时处理地图标记及其它此类特征的解决方案。可在所述系统中采用各种处理环境(例如服务器或其它计算装置)。
文档编号G06G5/00GK101156158SQ200580013512
公开日2008年4月2日 申请日期2005年3月23日 优先权日2004年3月23日
发明者史蒂芬·玛, 延斯·艾尔斯特拉普·拉斯马森, 拉尔斯·艾尔斯特拉普·拉斯马森 申请人:咕果公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1