CN110832278B - 使用栅格差异的描述来渲染地图数据 - Google Patents

使用栅格差异的描述来渲染地图数据 Download PDF

Info

Publication number
CN110832278B
CN110832278B CN201780059808.9A CN201780059808A CN110832278B CN 110832278 B CN110832278 B CN 110832278B CN 201780059808 A CN201780059808 A CN 201780059808A CN 110832278 B CN110832278 B CN 110832278B
Authority
CN
China
Prior art keywords
map image
raster map
client device
raster
difference
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201780059808.9A
Other languages
English (en)
Other versions
CN110832278A (zh
Inventor
本杰明·格林伍德
戴蒙·斯泰西
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of CN110832278A publication Critical patent/CN110832278A/zh
Application granted granted Critical
Publication of CN110832278B publication Critical patent/CN110832278B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3667Display of a road map
    • G01C21/367Details, e.g. road map scale, orientation, zooming, illumination, level of detail, scrolling of road map or positioning of current position marker
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3863Structures of map data
    • G01C21/387Organisation of map data, e.g. version management or database structures
    • G01C21/3878Hierarchical structures, e.g. layering
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3863Structures of map data
    • G01C21/387Organisation of map data, e.g. version management or database structures
    • G01C21/3881Tile-based structures
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3885Transmission of map data to client devices; Reception of map data by client devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/324Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)
  • Instructional Devices (AREA)

Abstract

网络服务器从客户端设备接收第一栅格地图图像的指示,第一栅格地图图像描绘某个区域和某个缩放级别的地理地图。网络服务器获得与地理区域和缩放级别相对应的第二栅格地图图像,并且生成所指示的第一栅格地图图像和第二栅格地图图像之间的像素差异的描述。然后,网络服务器将所确定的像素差异的描述提供给客户端设备,用于在客户端设备处生成第二栅格地图图像。

Description

使用栅格差异的描述来渲染地图数据
技术领域
本公开涉及交互式数字地图,并且更具体地,涉及经由通信网络将对栅格地图图像的改变高效地转移到客户端设备。
背景技术
此处所提供的背景技术描述是为了总体呈现本公开的背景。该背景技术部分中所描述的目前署名的发明人的工作,以及在提交时可能没有另外限定为现有技术的描述的方面,对于本公开而言既不应清楚地也不应隐含地被认定为现有技术。
各种地理应用在计算设备上显示的交互式数字地图通常描绘诸如道路、乡村和城镇的轮廓、水体、建筑物等的众多地理特征。作为数字地图的部分被显示的地理特征可以在数字地图的不同放大级别具有不同的外观,该数字地图的不同放大级别通常被称为“缩放级别”。通常取决于缩放级别,数字地图可以由多个瓦片(tile)或者某个固定大小的部分组成。
一般而言,地图服务器可以将地图数据作为栅格格式或可扩展格式的地图图像提供给客户端设备,地图图像根据该栅格格式用像素被描述,该可扩展格式(例如,矢量图形格式)依赖于形状的数学描述。在前一种情况下,地图图像通常准备好在客户端设备上显示。在后一种情况下,客户端设备首先在本地解释地图数据以相对较高的计算成本生成栅格地图图像,然后才显示这些地图图像。
以图像格式传送地图数据通常占用大量带宽。此外,当示出数字地图的栅格地图图像的新版本变得可用时,或者当服务器将诸如交通的新信息添加到数字地图时,服务器发送新的栅格地图图像以替换旧版本。
发明内容
这些技术的一个实施例是一种可以被实现在网络服务器中的用于将数字地图数据高效地提供给客户端设备的方法。方法包括从客户端设备接收第一栅格地图图像的指示,第一栅格地图图像描绘客户端设备处的某个区域和某个缩放级别的地理地图。方法还包括由一个或多个处理器获得与地理区域和缩放级别相对应的第二栅格地图图像,以及生成所指示的第一栅格地图图像和第二栅格地图图像之间的像素差异的描述。方法还包括将所确定的像素差异的描述提供给客户端设备,用于在客户端设备处生成第二栅格地图图像。
这些技术的另一实施例是一种用于渲染数字地图的方法。方法包括在客户端设备从网络服务器接收第一栅格地图图像,第一栅格地图图像描绘在第一时间的某个区域和某个缩放级别的地理地图,以及在第一时间之后的第二时间,将第一栅格地图图像的指示传送给网络服务器。方法还包括从网络服务器接收第一栅格地图图像和要被显示在客户端设备处的第二栅格地图图像之间的像素差异的描述。此外,方法包括使用第一栅格地图图像和像素差异的描述,生成第二栅格地图图像,以及在客户端设备处显示第二栅格地图图像。
这些技术的又一实施例是一种客户端设备,该客户端设备包括处理硬件、被耦接到处理硬件的显示设备、以及被耦接到处理硬件的非暂时性计算机可读内存。内存存储指令,当指令由处理硬件执行时,使得客户端设备:(i)从网络服务器接收第一栅格地图图像,第一栅格地图图像描绘在第一时间的某个区域和某个缩放级别的地理地图,(ii)在第一时间之后的第二时间,将第一栅格地图图像的指示传送给网络服务器,(iii)从网络服务器接收第一栅格地图图像和要被显示在客户端设备处的第二栅格地图图像之间的像素差异的描述,(iv)使用第一栅格地图图像和像素差异的描述,生成第二栅格地图图像,以及(v)经由显示设备显示第二栅格地图图像。
附图说明
图1是示例计算系统的框图,在计算系统中可以实现用于使用栅格差异的描述来生成地图图像的技术;
图2是示出可以在图1的系统中组织栅格地图瓦片的四叉树的部分的概念图,其中一些栅格地图瓦片包括多个版本;
图3是示出可以被实现在图1的系统中的使用栅格地图图像和差异栅格地图图像来生成某个地理区域的地图图像的示图;
图4是可以被实现在图1的地图服务器中的用于生成差异栅格地图图像的示例方法的流程图;以及
图5是可以被实现在图1的客户端设备中的用于使用初始栅格地图图像和差异栅格地图图像来生成更新的地图图像的示例方法的流程图。
具体实施方式
概述
根据本公开的技术,对于某个地理区域和某个缩放级别,客户端设备将在客户端设备可用的栅格地图图像的指示提供给网络服务器。栅格地图图像可以是版本化的栅格地图瓦片,并且来自客户端设备的指示可以指定栅格地图瓦片的版本号。更一般地,客户端设备可以通过以任何合适的方式指示地理区域以及放大的级别(例如,缩放级别)来提供可用的栅格地图图像的指示。在一些情况下,客户端设备还指定已经被包括在栅格地图图像中的诸如交通或天气的信息层。
例如,当网络服务器确定用于相同的地理区域和缩放级别的栅格地图图像的较新版本可用时,客户端设备提供给网络服务器的指示可以包括对新的栅格地图图像的隐含的请求。在其他情况下,例如,当客户端设备请求某些信息层被添加到可用的栅格地图图像或者从可用的栅格地图图像中被移除时,指示可以包括对新的栅格地图图像的明确的请求。此外,指示可以包括对新的地图图像的隐含的和明确的请求。在一示例场景中,客户端设备指示在客户端设备的某个栅格地图瓦片的版本VN的可用性并且请求交通被添加到数字地图,并且网络服务器确定栅格地图瓦片的版本VN+1可用。
在任何情况下,网络服务器可以确定哪个新的栅格地图图像应该在客户端设备可用,并且确定新的栅格地图图像和在客户端设备已经可用的栅格地图图像之间的像素差异。例如,网络服务器可以确定在客户端设备处的栅格地图瓦片的版本不是栅格地图瓦片的最新版本。网络服务器还可以确定版本之间的差异是否显著,例如,差异的度量值是否超过某个阈值。为此,网络服务器可以根据所指示的版本和新的版本从数据库检索预存储的栅格地图瓦片,或者如果需要的话,渲染这些栅格地图瓦片,并且比较这些地图瓦片中的各个像素。
然后,网络服务器可以生成这些栅格地图图像之间的差异的描述,并且将该描述提供给客户端设备。在一些实施方式中,网络服务器以“差异”栅格地图图像(以及,如果平铺(tiling)被使用,差异地图瓦片)的形式将差异的描述提供给客户端设备。差异栅格地图图像可以被覆盖在客户端设备已经可用的栅格地图图像的版本上,或者以其他方式与在客户端设备已经可用的栅格地图图像的版本组合。在示例实施方式中,差异栅格地图图像包括用于已经可用的栅格地图图像中的保持不变的每个像素的透明像素。在典型的情况下,差异栅格地图图像中的许多像素是透明的并且彼此相同,使得差异栅格地图图像高度可压缩。
示例计算环境
图1是示例计算系统10的框图,其中地图数据服务器12经由通信网络16将地图数据提供给客户端设备14,用于使用本公开的差异栅格地图图像技术来渲染交互式数字地图。地图数据服务器12被耦接到存储地图数据的地图数据库18。
地图数据服务器12可以被实现为单个设备或者被实现为设备组。这些设备中的一个或多个可以包括一个或多个处理器30、网络接口32、数据库接口33、以及存储在一个或多个处理器30上可执行的指令的非暂时性计算机可读内存34。如下面详细讨论的,除了其他软件组件之外,这些指令还可以实现差异栅格图像生成模块36,该差异栅格图像生成模块36生成用于在客户端设备上使用的栅格地图图像之间差异的描述。更一般地,地图数据服务器12可以包括被配置为生成本公开的地图栅格图像的任何合适类型的处理硬件。
客户端设备14可以是台式计算机、膝上型计算机、平板电脑、诸如智能手机的另一类型的便携式设备、可穿戴式设备等。更一般地,用于生成地图图像层的技术可以被利用在所有合适的计算设备中。客户端设备14可以包括网络接口42,该网络接口42被配置为经由网络16使用任何合适的协议与地图数据服务器12和其他设备进行通信,该网络16可以是广域网(WAN)、局域网(LAN)等,并且客户端设备14可以包括任何合适数量的有线和/或无线链路。客户端设备14还可以包括触摸屏44,该触摸屏44被配置为接收键入的输入和基于手势的输入,并且被配置为显示由在客户端设备14上执行的包括地理应用46的各种应用所生成的图像。在其他实施方式中,客户端设备14可以包括只输出显示器,并且经由键盘、鼠标、麦克风、被配置为检测2D和/或3D手势的传感器等接收输入。此外,客户端设备14可以包括一个或多个通用处理器40、非暂时性计算机可读内存48、以及具有缓冲器和程序内存的显卡50(例如,包括一个或多个图形处理单元、或GPU),该程序内存存储顶点着色器和像素着色器。内存48可以包括持久性组件(例如,硬盘)
以及非持久性组件(例如,RAM)。在其他实施方式中,客户端设备14可以包括附加组件,或者相反地,不包括图1中所示的一些组件。
在图1中所示的示例实施方式中,地理应用46作为由一个或多个处理器40所执行的一组指令被存储在内存48中。地理应用46可以生成交互式数字地图,并且基于实施方式和/或场景,获得导航方向,提供与地理定位业务有关的数据,检索和显示诸如优惠券和报价等的地理商业数据。例如,基于实施方式,地理应用46可以作为独立应用或作为诸如网页浏览器的另一应用的组件来操作。如下面更详细讨论的,地理应用46包括栅格地图图像渲染模块60,在一些实施方式中,该栅格地图图像渲染模块60在栅格地图瓦片52和差异栅格图像上进行操作。
继续参考图1,地图数据库18可以被实现在单个存储设备或多个存储设备中。地图数据库18可以存储地图数据,该地图数据包括诸如建筑物和其他结构、道路、公园、水体等的各种地图特征的几何形状的描述。除了为车辆所设计的道路之外,地图数据还可以描述自行车道、人行道、铁路道、航运路线、航空路线等。地图特征可以以向量图形格式或另一合适的可缩放格式被定义,图像根据该矢量图形格式,依据基于数学表达式的几何图元被描述。基于实施方式,地图特征可以仅在二维(2D)中被定义,在三维(3D)中被定义为应用栅格纹理的线框,在“2.5”维(2.5D)中被定义为“被挤压”到第三维中的2D多边形等。例如,在一些情况下,地图数据也可以包括位图格式的栅格地图图像。此外,地图数据还可以包括文本标签和各种形式的元数据,该元数据诸如是到远程资源的链接。
此外,地图数据服务器12可以使用地图平铺将地图数据组织和提供给客户端设备。地图瓦片通常对应于将地理空间数据2D组织为四叉树。在给定缩放级别的每个瓦片在下一级别被划分为四个瓦片,直到放大的最高级别。类似地,地理空间数据的3D组织可以使用八叉树来实现,其中立方体体积包含处于某个缩放级别的地图几何形状,并且在下一缩放级别被细分为八个立方体体积,八个立方体体积中的每一个通常包含更详细的地图几何形状。为了将地球的表面映射到2D表示的平面上,可以使用墨卡托投影或另一合适的投影。尽管以下示例指的是被组织为2D地图瓦片的地图数据,但是本公开的LOD和样式参数确定技术可以扩展到组织为八叉树的3D地图数据。
除非另有说明,否则在下面讨论中的术语“地图瓦片”指的是栅格地图瓦片,即,是依据像素而不是向量或其他非像素指示符被定义的图像。为了便于解释,下面所讨论的主要涉及栅格地图瓦片。然而,应该注意的是,本公开的技术可以被应用于任何合适的栅格地图图像。
图2示意性地示出四叉树100的碎片,栅格地图瓦片可以被组织为该四叉树100。碎片包括处于离散缩放级别ZN的地理区域R的栅格地图瓦片102。四个栅格地图瓦片104A-D共同地覆盖在下一个放大区域的地理区域R,即离散缩放级别ZN+1。更具体地,栅格地图瓦片104A覆盖栅格地图瓦片102的西北象限,栅格地图瓦片104B覆盖栅格地图瓦片102的东北象限,栅格地图瓦片104C覆盖栅格地图瓦片102的西南象限,并且栅格地图瓦片104D覆盖栅格地图瓦片102的东南象限。例如,栅格地图瓦片102和104A-D可以被存储在地图数据库18中,其中这些栅格地图瓦片之间的关系由适当的链接或索引所指示。
如图2中所示,存在栅格地图瓦片104C的三个版本:VN、VN+1和VN+2,以及栅格地图瓦片104D的两个版本:VM和VM+1。在一些实施例中,地图数据库18存储栅格地图瓦片104C和104D的这些多个版本。地图数据服务器12不仅可以使用唯一标识符来检索与期望地理区域和期望缩放级别相对应的栅格地图瓦片,而且还可以检索特定的栅格地图瓦片。换句话说,栅格地图瓦片104D的版本VM和VM+1可以具有单独的唯一标识符。在其他实施例中,地图数据库18不仅存储这些栅格地图瓦片的最新版本,而且还存储允许差异栅格图像生成模块36重建这些栅格地图瓦片的先前版本的信息。
例如,地图数据服务器12可以响应于对现实世界中的地理特征的各种改变或者由于地图数据质量的改进而生成栅格地图瓦片的新版本。此外,在栅格地图瓦片反映诸如道路封闭、商店营业时间、交通等的动态信息的情况下,地图数据服务器12可以相对频繁地生成栅格地图瓦片的新版本。
使用栅格地图图像来高效地渲染数字地图
在示例操作中,客户端设备14提供对地理应用46可用的栅格地图瓦片52的指示。作为更具体的示例,客户端设备14的用户可以根据手势或其他类型的用户输入来请求视口被重新定位,该视口定义交互式数字地图的当前可见部分。响应的地理应用46可以确定被重新定位的视口现在覆盖栅格地图瓦片52,以及可能其他栅格地图瓦片。客户端设备14可以指示栅格地图瓦片52具有标识符I(其反过来又可以指示地图瓦片52以(X,Y)为中心并且具有缩放级别Zi)和版本VM
在示例操作中,差异栅格图像生成模块36响应于所接收的指示,查询数据库18以确定栅格地图瓦片52的较新版本VN是可用的,其中N>M。模块36确定版本VM和VN之间的差异,生成差异栅格地图瓦片,压缩差异栅格地图瓦片以减少带宽使用,并且将差异栅格地图瓦片传送到客户端设备14。地理应用46一旦接收到差异栅格地图瓦片,就解压缩差异栅格地图瓦片,并且将差异栅格地图瓦片覆盖在地图瓦片52的版本VM上以高效地生成地图瓦片52的版本VN。地理应用46还可以用地图瓦片52的较新版本VN来替换内存48中的地图瓦片52的版本VM
为了清楚起见,图3的示图100示出生成栅格地图瓦片154的示例栅格地图瓦片152与差异栅格地图瓦片154的组合。该示例中的栅格地图瓦片152是版本VM,并且栅格地图瓦片156是版本VN,其中N>M。换句话说,版本N比版本M更新。值得注意的是,版本N和M不需要是相邻的,并且通常在版本N和M之间可以存在一个或多个中间版本。
如示图100所示,栅格地图瓦片152中的示例像素Px1,y1具有颜色值C1,而栅格地图瓦片156中的相同像素Px1,y1具有颜色值C2。差异栅格地图瓦片154因此将值C2存储在像素Px1,y1中。另一方面,栅格地图瓦片152中的示例像素Px2,y2具有颜色值C3,并且栅格地图瓦片156中的相同像素Px2,y2具有相同的颜色值C3。差异栅格地图瓦片154因此将值0或指示透明度的一些其他值存储在像素Px2,y2中。差异栅格地图瓦片154通常包括具有指示透明度的相同值的大量像素,其中这些像素中的许多像素定义相同值像素的连续区域。这些大区域允许差异栅格地图瓦片154被高效地压缩。
返回参考图1,差异栅格图像生成模块36可以使用栅格地图瓦片152和156来生成差异栅格地图瓦片154,并且栅格地图图像渲染模块60可以使用栅格地图瓦片152以及差异栅格地图瓦片154来生成栅格地图瓦片154。
更具体地,模块36可以获得栅格地图瓦片152和156,并且比较这两个栅格地图瓦片中的相同位置(i,j)中的像素对。在一些实施方式中,模块36可以简单地确定栅格地图瓦片152中的像素Pi,j是否具有与栅格地图瓦片156中的像素Pi,j相同的精确值,并且因此选择来自栅格地图瓦片156的像素Pi,j或透明颜色值,用于包括在差异栅格地图瓦片154中。在另一实施方式中,模块36可以分别地评估像素的R(红色)、G(绿色)和B(蓝色)通道中的每一个,并且以任何合适的方式来权衡差异。因此,模块36可以将一个像素的R通道中的值与另一个像素中的R通道的值进行比较,将一个像素的G通道的值与另一个像素中的G通道的值进行比较等。例如,在又一实施方式中,模块36可以确定两个栅格地图瓦片的像素Px1,y1中的两个不同颜色C1和C2之间的矢量距离。矢量距离可以被理解为点(x1,y1,z1)和(x2,y2,z2)之间的距离,其中x1和x2分别是C1和C2的R分量的值;y1和y2分别是C1和C2的G分量的值;z1和z2分别是C1和C2的B分量的值。
此外,在一些实施方式中,差异栅格图像生成模块36确定像素对之间的差异是否超过某个阈值DTH。当差异不超过阈值DTH时,模块36将透明颜色值分配给差异栅格瓦片中的对应像素。模块36可以将两个像素的颜色之间的矢量距离与阈值DTH进行比较,或者将每个通道特定的差异与阈值DTH进行比较,以确定R、G和B通道差异中的任何一个是否超过阈值DTH。更一般地,模块36可以以任何合适的方式来应用阈值DTH
在一些实施方式中,差异栅格图像生成模块36使用另一阈值TTH来确定两个栅格地图瓦片中是否足够大数量的像素是不同的,以便确定模块36是否应该生成并且发送差异栅格地图瓦片。阈值TTH可以以整个栅格地图瓦片的绝对值被定义,例如,如果被改变的像素的数量≥TTH,则模块36生成差异栅格地图瓦片。作为一选择,阈值TTH可以定义栅格地图瓦片中的被改变的像素的百分比。作为又一选择,阈值TTH可以定义像素值的改变密度的数量,使得模型36当不同的像素被集中在栅格地图瓦片的一部分中时,生成差异栅格地图瓦片,但是当相同数量的不同的像素被更均匀地分布在栅格地图瓦片上时,不生成差异栅格地图瓦片。又一选择包括逐片地比较栅格地图瓦片,以确定栅格地图瓦片中的任何一个碎片是否与栅格地图瓦片的较新版本中的对应碎片充分不同。
用于生成和应用差异栅格图像的示例方法
为了更清楚起见,接下来参考图3和4的流程图来讨论用于生成和应用差异栅格图像的一些技术。这些流程图示出可以被实现为指令组的方法,该指令组被存储在计算机可读介质上,并且可在一个或多个处理器上执行。例如,图4的方法可以被实现在服务器12中,并且图4的方法可以被实现在客户端设备14中。然而,这些或类似的方法也可以被实现在其他合适的设备中。
首先参考图4,方法200可以被实现在例如上面所讨论的差异栅格图像生成模块36中,或者被实现在另一合适的模块或一组被通信互连的模块中。方法200开始于框202,其中在客户端设备可用的栅格图像的指示被接收。栅格图像描绘处于某个缩放级别的某个区域的地理地图。如果上面所概述的地图平铺技术被使用,则在框202所接收的指示可以包括地图数据库18中的栅格地图瓦片的唯一标识符(例如,ID=“3452323590”)。除了识别由栅格地图瓦片所覆盖的地理区域和缩放级别之外,标识符还可以指示栅格地图瓦片的版本。在另一实施例中,标识符指示在客户端设备缓存栅格地图瓦片的日期,地图服务器可以使用该日期来确定栅格地图瓦片包含什么图像。此外,在一些场景中,在框202所接收的指示识别被添加到“基础”栅格地图瓦片的一个或多个信息层。这些信息层可以包括交通、公共交通路线、天气等。此外,例如,指示可以指定某些标记或其他图形元素被添加到基础栅格地图瓦片以描绘搜索结果。
通常,在框202所接收的指示可以包括任何合适的参数或参数的组合,地图服务器可以使用该参数或参数的组合来明确地确定在客户端设备可用的栅格地图图像的内容。
在框204,处于相同缩放级别的相同地理区域的新的栅格地图图像被识别。例如,新的栅格地图图像可以与在框202所指定的栅格地图瓦片的新版本相对应。在另一场景中,新的栅格地图图像与栅格地图瓦片的相同版本相对应,但是包括新的信息层。新的栅格地图图像还与从在客户端设备可用的栅格地图图像中所移除的信息层相对应。如果必要的话,新的栅格地图图像可以从数据库被检索,或者在地图服务器被生成。
接下来,在框206-214,在客户端设备已经可用的栅格地图图像和新的栅格地图图像的各个像素被比较。特别地,在框206,两个栅格地图图像中的相同位置中的一对像素Pi被选择。如果这两个像素的值的差异在某个可允许的范围内(或不存在),则流程前进到框210,其中透明像素在差异栅格图像中像素Pi的共享位置被生成。否则,流程前进到框212,其中来自新的地图图像的像素被包括在差异栅格图像中像素Pi的共享位置。如果仍有更多要比较的像素(框214),则流程返回到框206。
在框216,将差异栅格地图图像中的非透明像素的数量与阈值进行比较。如果数量超过阈值,则在框218,差异栅格地图图像被传送到客户端设备。在一些实施例中,在传送之前,差异栅格地图图像被压缩。因为差异栅格地图图像通常在连续的块中包含大量的透明像素,所以差异栅格地图图像是高度可压缩的。方法在框218之后结束。如果数量不超过阈值,则方法200在框216之后完成。
图5是示例方法300的流程图,方法300可以被实现在图1的客户端设备14或另一合适的设备中,用于使用初始栅格地图图像和差异栅格地图图像来生成更新的地图图像。
方法300开始于框302,其中在客户端设备可用的栅格地图图像的指示被提供给网络服务器。如上面所讨论的,指示可以包括或者伴随有对更新的栅格地图图像的隐含的或明确的请求。隐含的请求可以简单地指示客户端设备已经存储在其本地内存中的栅格地图瓦片的版本。例如,当视口在交互式数字地图上被重新定位时,或者根据对被缓存在本地内存中的栅格地图瓦片进行审查的某个时间表(例如,在某个栅格地图瓦片已经被存储在本地内存中超过X天之后),客户端设备可以生成该隐含的请求。另一方面,明确的请求可以指示用户希望看见附加信息层、在特定位置的标记等。
在框304,差异栅格图像从网络服务器被接收。差异栅格图像可以被压缩。典型的差异栅格图像包括在客户端设备已经可用的栅格地图图像中的对应像素上要被显示的透明像素以及非透明像素。在一些情况下,在框304,差异栅格图像不被需要或不可用的指示被接收,在该情况下,方法在框304之后结束。
在其他实施方式中,新的栅格地图图像和在客户端设备可用的栅格地图图像之间的差异的描述具有除了差异栅格地图图像之外的格式。例如,该差异的描述可以是像素坐标和新的值的列表:((x1,y1,C1)、(x2,y2,C2)、……、(xN,yN,CN))。
接下来,在框306,通过将差异栅格图像层叠在客户端设备处可用的栅格地图图像上来生成新的栅格地图图像。为此,任何合适的图像层叠技术可以被使用。在框308,所产生的栅格地图图像经由用户界面被显示。
其他注意事项
一般而言,本公开的技术可以被实现为便携式设备、非便携式设备、独立导航系统、内置于车辆头部单元中的导航系统、可穿戴设备等。此外,这些技术通常适用于室外地图和室内地图。此外,虽然上面的示例主要涉及地理应用46,但是这些技术类似地可以被实现在应用程序接口(API)中,诸如网页浏览器的其他软件应用可以调用该API。
此处所描述的示例方法的各种操作可以至少部分地由被临时地配置(例如,通过软件)或被永久地配置为进行相关操作的一个或多个处理器来进行。无论是被临时地配置还是被永久地配置,这样的处理器都可以构成处理器实现的模块,该模块操作为进行一个或多个操作或功能。在一些示例实施例中,此处所提及的模块可以包括处理器实现的模块。
类似地,此处所描述的方法或例程可以至少部分地是处理器实现的。例如,方法的至少一些操作可以由一个或多个处理器或者处理器实现的硬件模块来进行。某些操作的进行可以被分布在一个或多个处理器中,不仅驻留在单个机器内,而且还被部署在多个机器。在一些示例实施例中,一个或多个处理器可以位于单个位置(例如,在家庭环境内、办公室环境内或作为服务器场),而在其他实施例中,处理器可以被分布在数个位置。
一个或多个处理器还可以操作为支持相关操作的进行,该相关操作在云计算环境中或者作为软件即服务(SaaS)。例如,至少一些操作可以由一组计算机(作为包括处理器的机器的示例)来进行,这些操作经由网络(例如,因特网)以及经由一个或多个适当的接口(例如,应用程序接口(API))是可访问的。
某些操作的进行可以被分布在一个或多个处理器中,不仅驻留在单个机器内,而且还被部署在多个机器。在一些示例实施例中,一个或多个处理器或者处理器实现的模块可以位于单个地理位置(例如,在家庭环境内、办公室环境内、或服务器场内)。在其他示例实施例中,一个或多个处理器或者处理器实现的模块可以被分布在数个地理位置。
此外,仅为了说明的目的,附图描绘了用于对齐导航地图上的视觉指示器的系统100以及绘图系统中的绘图系统700的一些实施例。本领域技术人员从以下讨论将容易地认识到,在不脱离此处所描述的原理的情况下,此处所示出的结构和方法的替代实施例可以被采用。
在阅读本公开时,本领域技术人员将理解用于使用差异栅格图像的附加的替代结构和功能设计。因此,虽然特定实施例和应用已经被示出和描述,但是应该理解的是,所公开的实施例不限于此处所公开的精确构造和组件。在不脱离所附权利要求中所限定的精神和范围的情况下,可以对此处所公开的方法和装置的布置、操作和细节做出对本领域技术人员而言显而易见的各种修改、改变和变型。

Claims (16)

1.一种网络服务器(12)中用于将数字地图数据提供给客户端设备(14)的方法,其特征在于,所述方法包括:
从客户端设备(14)接收第一栅格地图图像的指示,所述第一栅格地图图像描绘所述客户端设备(14)处的某个地理区域和某个缩放级别的地理地图(202);
由一个或多个处理器获得与所述地理区域和所述缩放级别相对应的第二栅格地图图像(204);
由所述一个或多个处理器,生成所指示的所述第一栅格地图图像和所述第二栅格地图图像之间的像素差异的描述,包括要被层叠在所述客户端设备(14)处的所述第一栅格地图图像上的差异栅格地图图像,其中生成所述差异栅格地图图像还包括:
对于所指示的所述第一栅格地图图像中相对于所述第二栅格地图图像中的相同位置的对应像素具有阈值以下的差异的像素,在所述差异栅格地图图像中生成透明像素(210);以及
对于所指示的所述第一栅格地图图像中相对于所述第二栅格地图图像中的相同位置的对应像素具有所述阈值的差异或所述阈值以上的差异的像素,在所述差异栅格地图图像中生成非透明像素(212);以及
将所确定的所述像素差异的所述描述提供给所述客户端设备(14),用于在所述客户端设备(14)处生成所述第二栅格地图图像(218)。
2.根据权利要求1所述的方法,其特征在于,所述第一栅格地图图像与版本化的地图瓦片相对应,并且其中接收所述第一栅格地图图像的所述指示包括接收所述地图瓦片的版本号。
3.根据权利要求2所述的方法,其特征在于,还包括:
响应于接收所述地图瓦片的所述版本号,确定可用于所述地理区域和所述缩放级别的所述地图瓦片的最新版本,
其中所述第二栅格地图图像与所述地图瓦片的所述最新版本相对应。
4.根据权利要求1所述的方法,其特征在于,接收所述第一栅格地图图像的所述指示包括接收所述地理区域和所述缩放级别的指示。
5.根据权利要求1所述的方法,其特征在于,还包括:
从所述客户端设备(14)接收数据层的指示以生成所述第二栅格地图图像,所述数据层为要被添加到所述客户端设备(14)处的所述第一栅格地图图像的数据层或者要从所述客户端设备(14)处的所述第一栅格地图图像中被移除的数据层。
6.根据权利要求1所述的方法,其特征在于,生成所述第一栅格地图图像和所述第二栅格地图图像之间的所述像素差异的所述描述包括,将所述第一栅格地图图像内的在某些位置的像素与所述第二栅格地图图像内的相同位置的像素进行比较,以确定颜色差异是否超过阈值,包括分别地比较红色、绿色和蓝色通道中的每一个。
7.根据权利要求1所述的方法,其特征在于,将所确定的所述像素差异的所述描述提供给所述客户端设备(14)(218),是响应于由所述一个或多个处理器进行的确定(216),所述由所述一个或多个处理器进行的确定为确定所确定的所述差异超过阈值。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在提供所确定的所述像素差异的所述描述之后,从所述客户端设备(14)接收在所述客户端设备(14)处可用的所述第二栅格地图图像的指示;
由一个或多个处理器获得与所述地理区域和所述缩放级别相对应的第三栅格地图图像;
确定所述第三栅格地图图像和所述第二栅格地图图像之间的差异的度量值低于阈值;以及
提供所述第二栅格地图图像是最新的所述客户端设备(14)的指示。
9.一种用于渲染数字地图的方法,其特征在于,所述方法包括:
在客户端设备(14)从网络服务器(12)接收第一栅格地图图像,所述第一栅格地图图像描绘在第一时间的某个地理区域和某个缩放级别的地理地图;
在所述第一时间之后的第二时间,将所述第一栅格地图图像的指示传送给所述网络服务器(12);
从所述网络服务器(12)接收所述第一栅格地图图像和要被显示在所述客户端设备(14)处的第二栅格地图图像之间的像素差异的描述,包括差异栅格地图图像,其中所述差异栅格地图图像还包括:
对于所述第一栅格地图图像中相对于所述第二栅格地图图像中的相同位置的对应像素具有阈值以下的差异的像素,所述差异栅格地图图像中的透明像素;以及
对于所述第一栅格地图图像中相对于所述第二栅格地图图像中的相同位置的对应像素具有所述阈值的差异或所述阈值以上的差异的像素,所述差异栅格地图图像中的非透明像素;
通过将所述差异栅格地图图像层叠在所述第一栅格地图图像上,生成所述第二栅格地图图像;以及
在所述客户端设备(14)处显示所述第二栅格地图图像。
10.根据权利要求9所述的方法,其特征在于,还包括:
将数据层的指示传送到所述网络服务器(12)以生成所述第二栅格地图图像,所述数据层为要被添加到所述客户端设备(14)处的所述第一栅格地图图像的数据层或者要从所述客户端设备(14)处的所述第一栅格地图图像中被移除的数据层。
11.根据权利要求9所述的方法,其特征在于,所述第一栅格地图图像与版本化的地图瓦片相对应,并且其中传送所述第一栅格地图图像的所述指示包括传送所述地图瓦片的版本号。
12.根据权利要求9所述的方法,其特征在于,传送所述第一栅格地图图像的所述指示包括传送所述地理区域和所述缩放级别的指示。
13.一种客户端设备(14),其特征在于,包括:
处理硬件;
被耦接到所述处理硬件的显示设备;以及
被耦接到所述处理硬件的非暂时性计算机可读内存,所述内存存储指令,当所述指令由所述处理硬件执行时,使得所述客户端设备(14):
从网络服务器(12)接收第一栅格地图图像,所述第一栅格地图图像描绘在第一时间的某个地理区域和某个缩放级别的地理地图,
在所述第一时间之后的第二时间,将所述第一栅格地图图像的指示传送给所述网络服务器(12),
从所述网络服务器(12)接收所述第一栅格地图图像和要被显示在所述客户端设备(14)处的第二栅格地图图像之间的像素差异的描述,包括差异栅格地图图像,其中所述差异栅格地图图像还包括:
对于所述第一栅格地图图像中相对于所述第二栅格地图图像中的相同位置的对应像素具有阈值以下的差异的像素,所述差异栅格地图图像中的透明像素;以及
对于所述第一栅格地图图像中相对于所述第二栅格地图图像中的相同位置的对应像素具有所述阈值的差异或所述阈值以上的差异的像素,所述差异栅格地图图像中的非透明像素,
通过将所述差异栅格地图图像层叠在所述第一栅格地图图像上,生成所述第二栅格地图图像,以及
经由所述显示设备显示所述第二栅格地图图像。
14.根据权利要求13所述的客户端设备(14),其特征在于,所述指令还使得所述客户端设备(14)将数据层的指示传送到所述网络服务器(12)以生成所述第二栅格地图图像,所述数据层为要被添加到所述客户端设备(14)处的所述第一栅格地图图像的数据层或者要从所述客户端设备(14)处的所述第一栅格地图图像中被移除的数据层。
15.根据权利要求13所述的客户端设备(14),其特征在于,所述第一栅格地图图像与版本化的地图瓦片相对应,并且其中为了传送所述第一栅格地图图像的所述指示,所述指令使得所述客户端设备(14)将所述地图瓦片的版本号传送给所述网络服务器(12)。
16.根据权利要求13所述的客户端设备(14),其特征在于,所述指令使得所述客户端设备(14)将所述地理区域和所述缩放级别的指示传送给所述网络服务器(12)。
CN201780059808.9A 2016-09-27 2017-09-21 使用栅格差异的描述来渲染地图数据 Active CN110832278B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/278,018 US10319062B2 (en) 2016-09-27 2016-09-27 Rendering map data using descriptions of raster differences
US15/278,018 2016-09-27
PCT/US2017/052741 WO2018063915A1 (en) 2016-09-27 2017-09-21 Rendering map data using descriptions of raster differences

Publications (2)

Publication Number Publication Date
CN110832278A CN110832278A (zh) 2020-02-21
CN110832278B true CN110832278B (zh) 2023-11-10

Family

ID=60009736

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780059808.9A Active CN110832278B (zh) 2016-09-27 2017-09-21 使用栅格差异的描述来渲染地图数据

Country Status (4)

Country Link
US (1) US10319062B2 (zh)
EP (1) EP3519769A1 (zh)
CN (1) CN110832278B (zh)
WO (1) WO2018063915A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019103049A1 (ja) * 2017-11-22 2019-05-31 株式会社ミックウェア 地図情報処理装置、地図情報処理方法および地図情報処理プログラム
US11330030B2 (en) * 2019-07-25 2022-05-10 Dreamworks Animation Llc Network resource oriented data communication
US11182949B2 (en) * 2019-07-25 2021-11-23 Dreamworks Animation Llc Pack tile
CN112053280B (zh) * 2020-09-04 2024-04-12 北京百度网讯科技有限公司 全景地图显示的方法、装置、设备和存储介质
US11755845B2 (en) 2021-06-18 2023-09-12 International Business Machines Corporation Automated process for generating natural language descriptions of raster-based weather visualizations for output in written and audible form
CN117128947B (zh) * 2023-03-13 2024-08-16 荣耀终端有限公司 栅格地图的生成方法和服务器
CN116164758B (zh) * 2023-04-26 2023-11-03 九识(苏州)智能科技有限公司 高精度点云地图的更新方法、装置、介质、设备及系统
CN117171288B (zh) * 2023-11-02 2024-01-12 中国地质大学(武汉) 一种栅格地图解析方法、装置、设备和介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105393282A (zh) * 2013-05-15 2016-03-09 谷歌公司 图形元素的有效合成和渲染

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8843850B2 (en) * 1999-07-22 2014-09-23 Tavusi Data Solutions Llc Graphic-information flow for visually analyzing patterns and relationships
AU2003228329A1 (en) * 2002-03-15 2003-09-29 Summus, Inc. Methods and systems for downloading and viewing maps
US7107285B2 (en) * 2002-03-16 2006-09-12 Questerra Corporation Method, system, and program for an improved enterprise spatial system
US7373244B2 (en) * 2004-04-20 2008-05-13 Keith Kreft Information mapping approaches
US7925982B2 (en) * 2006-09-01 2011-04-12 Cheryl Parker System and method of overlaying and integrating data with geographic mapping applications
US7734412B2 (en) * 2006-11-02 2010-06-08 Yahoo! Inc. Method of client side map rendering with tiled vector data
US20100321399A1 (en) * 2009-06-18 2010-12-23 Patrik Ellren Maps from Sparse Geospatial Data Tiles
US8560600B2 (en) * 2011-09-26 2013-10-15 Google Inc. Managing map elements using aggregate feature identifiers
US8223172B1 (en) * 2011-09-26 2012-07-17 Google Inc. Regional map zoom tables
US20130093750A1 (en) * 2011-10-12 2013-04-18 Google Inc. Use of banding to optimize map rendering in a three-dimensional tilt view
US8243102B1 (en) * 2011-10-12 2012-08-14 Google Inc. Derivative-based selection of zones for banded map display
US8896630B1 (en) * 2011-10-24 2014-11-25 Google Inc. Keeping map labels consistent across multiple zoom levels
US9305107B2 (en) * 2011-12-08 2016-04-05 Google Inc. Method and apparatus for pre-fetching place page data for subsequent display on a mobile computing device
US9429435B2 (en) * 2012-06-05 2016-08-30 Apple Inc. Interactive map
US9441975B2 (en) * 2012-06-05 2016-09-13 Apple Inc. System and method for generating signal coverage information from client metrics
US9201898B2 (en) * 2013-05-15 2015-12-01 Google Inc. Efficient fetching of map tile data
US9396508B2 (en) * 2013-05-15 2016-07-19 Google Inc. Use of map data difference tiles to iteratively provide map data to a client device
US20150188977A1 (en) * 2013-11-04 2015-07-02 Google Inc. Verifying Content Rendering on a Client Device
CN106463056B (zh) * 2014-03-15 2019-08-16 城市引擎公司 用于高度定制的交互式移动地图的解决方案

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105393282A (zh) * 2013-05-15 2016-03-09 谷歌公司 图形元素的有效合成和渲染

Also Published As

Publication number Publication date
US10319062B2 (en) 2019-06-11
US20180089791A1 (en) 2018-03-29
CN110832278A (zh) 2020-02-21
WO2018063915A1 (en) 2018-04-05
EP3519769A1 (en) 2019-08-07

Similar Documents

Publication Publication Date Title
CN110832278B (zh) 使用栅格差异的描述来渲染地图数据
US10424111B2 (en) Split tile map rendering
CN110347769B (zh) 多层级地图瓦片的处理方法、装置、设备和存储介质
US9417777B2 (en) Enabling quick display transitions between indoor and outdoor map data
CN110084877B (zh) 使用聚合特征标识符来管理地图元素
US9811879B2 (en) Keeping map labels consistent across multiple zoom levels
US8237745B1 (en) Label positioning technique to reduce crawling during zoom activities
US20140347383A1 (en) Map rendering using interpolation of style parameters across zoom levels
JP4251218B2 (ja) 情報処理装置、画像表示装置、情報処理システム、および、これらにおける制御方法ならびに当該方法をコンピュータに実行させるプログラム
US9134886B2 (en) Providing indoor facility information on a digital map
US20120050285A1 (en) 3d building generalization for digital map applications
US9495767B2 (en) Indexed uniform styles for stroke rendering
US8294710B2 (en) Extensible map with pluggable modes
CN105574102B (zh) 一种电子地图数据加载的方法及装置
US20150332487A1 (en) Encoding polygon data for fast retrieval and rendering
Fukuda et al. Improvement of registration accuracy of a handheld augmented reality system for urban landscape simulation
TW200926056A (en) Geospatial data system for selectively retrieving and displaying geospatial texture data based upon user-selected point-of-view and related methods
Yu et al. A hybrid system of expanding 2D GIS into 3D space
Wu et al. GPU ray casting method for visualizing 3D pipelines in a virtual globe
US10460427B2 (en) Converting imagery and charts to polar projection
US20230065027A1 (en) Gpu-based digital map tile generation method and system
CN112860834B (zh) 一种基于webgis的第三方地图对接装置和方法
JP2020537741A (ja) デジタルマップの動的リスタイリング
JP4672493B2 (ja) 3次元図形表示装置および3次元図形表示方法
Bektas et al. A survey of stereoscopic visualization support in mainstream geographic information systems

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant