使用地圖數(shù)據(jù)差別瓦片來迭代地向客戶端設(shè)備提供地圖數(shù)據(jù)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本公開涉及地圖渲染系統(tǒng),諸如電子地圖顯示系統(tǒng),并且更具體地涉及其中使用 作為一組基礎(chǔ)地圖瓦片和一個(gè)或多個(gè)差別地圖瓦片以迭代方式提供的地圖數(shù)據(jù)來渲染地 圖圖像的地圖渲染系統(tǒng)。
【背景技術(shù)】
[0002] 本文中提供的背景描述是出于一般地呈現(xiàn)本公開的上下文的目的。在【背景技術(shù)】部 分中進(jìn)行描述的程度上署名發(fā)明人的工作以及另外在提交時(shí)可能未被認(rèn)為適合作為現(xiàn)有 技術(shù)的本描述的各方面既未明示地、也不隱含地被認(rèn)可作為針對本公開的現(xiàn)有技術(shù)。
[0003] 現(xiàn)在,地理區(qū)域的地圖可被在多種設(shè)備上運(yùn)行的軟件應(yīng)用顯示,所述設(shè)備包括臺 式計(jì)算機(jī)設(shè)備、移動(dòng)電話、汽車導(dǎo)航系統(tǒng)、手持式全球定位系統(tǒng)(GPS)單元、平板或膝上型 計(jì)算機(jī)等。根據(jù)應(yīng)用和/或用戶偏好,地圖可顯示地形數(shù)據(jù)、街道數(shù)據(jù)、城市運(yùn)輸信息、交通 數(shù)據(jù)等。此外,一些應(yīng)用以交互模式顯示地圖,使得用戶可操作各種控件(單選按鈕、滾動(dòng) 條等)以例如改變縮放水平或?qū)⒌貓D搖攝至新的位置。用戶在一些情況下還可選擇或取消 選擇某些信息的顯示。例如,用戶可操作適當(dāng)?shù)目丶蚤_啟自行車道、運(yùn)輸?shù)貓D等的顯示。
[0004] 為了渲染地圖圖像,顯示設(shè)備通常從專用服務(wù)器接收光柵圖像數(shù)據(jù)。例如,地圖服 務(wù)器可在因特網(wǎng)上操作并針對指定地理區(qū)域?qū)⒁钥梢浦簿W(wǎng)絡(luò)圖形(PNG)格式的圖像提供 給各種客戶端設(shè)備。雖然光柵圖像相對容易在客戶端設(shè)備處渲染,但光柵圖像數(shù)據(jù)通常要 求用于復(fù)雜地圖的大量存儲空間。而且,難以在客戶端設(shè)備處高效地操縱光柵圖像。例如, 為了將所選區(qū)域放大,從服務(wù)器檢索新的光柵圖像數(shù)據(jù),或者以質(zhì)量方面的顯著損失將可 用光柵圖像放大。為了減輕此問題,一些地圖繪制系統(tǒng)以矢量圖形數(shù)據(jù)的形式從地圖服務(wù) 器向客戶端設(shè)備提供地圖繪制數(shù)據(jù)。一般而言,矢量圖形數(shù)據(jù)描述或指定要包括在地圖中 的各種特征,并且客戶端設(shè)備上的圖形引擎處理矢量圖形數(shù)據(jù)以使用各種常見技術(shù)來產(chǎn)生 地圖圖像。
[0005] 在任何情況下,大多數(shù)基于web的地圖繪制服務(wù)將地圖數(shù)據(jù)作為小圖像瓦片從服 務(wù)器發(fā)送到客戶端,通常是以光柵圖像數(shù)據(jù)瓦片或矢量圖像數(shù)據(jù)瓦片的形式。每個(gè)圖像瓦 片覆蓋預(yù)定地理區(qū)域并使用光柵或矢量圖形圖像數(shù)據(jù)來指定要顯示的確切圖像。此外,許 多客戶端-服務(wù)器地圖繪制應(yīng)用為用戶提供相同基本地圖數(shù)據(jù)的許多不同視圖。這些視圖 可例如提供駕駛聚焦地圖、騎自行車地圖、地形地圖、運(yùn)輸?shù)貓D、企業(yè)聚焦地圖等。當(dāng)用戶想 要切換至特定地理位置的另一地圖視圖(例如,運(yùn)輸?shù)貓D視圖)時(shí),客戶端應(yīng)用請求用于 該同一位置的新的一整套地圖瓦片,但是其指定要包括在新地圖視圖中的樣式和數(shù)據(jù)差別 (例如,包括運(yùn)輸路線,對公路的強(qiáng)調(diào)減少等)。然而,通常所有或大多數(shù)可用地圖視圖共享 大部分的相同數(shù)據(jù)。例如,陸地建造、湖泊、公路等在所有視圖之間保持相同,但是每個(gè)視圖 可包括幾個(gè)附加特征,可有幾個(gè)特征被去除和/或可具有被以不同的方式或樣式顯示的幾 個(gè)特征。事實(shí)上,在大多數(shù)情況下,這些不同視圖中的大多數(shù)地圖數(shù)據(jù)(在存儲字節(jié)方面) 是共同的。因此,如果地圖繪制應(yīng)用允許用戶在應(yīng)用同一地理區(qū)域的不同的地圖視圖之間 進(jìn)行切換,則從服務(wù)器發(fā)送到客戶端的大多數(shù)數(shù)據(jù)實(shí)際上由于客戶端已接收到的數(shù)據(jù)而是 冗余的。這一事實(shí)可以引起許多問題,包括高加載時(shí)延、客戶端設(shè)備上的高渲染時(shí)延、服務(wù) 器上的高串行化時(shí)延以及用以避免這些問題的數(shù)據(jù)細(xì)節(jié)的被迫減少。
【發(fā)明內(nèi)容】
[0006] 在實(shí)施例中,一種用于向客戶端設(shè)備提供地圖數(shù)據(jù)的計(jì)算機(jī)實(shí)現(xiàn)的方法包括生成 與特定區(qū)域相關(guān)聯(lián)的一組基礎(chǔ)地圖瓦片,其中,該組基礎(chǔ)地圖瓦片在被用來渲染地圖圖像 時(shí)渲染用于該特定區(qū)域的基礎(chǔ)地圖圖像,并且其中,每個(gè)基礎(chǔ)地圖瓦片包括一個(gè)或多個(gè)矢 量描述符,其根據(jù)矢量圖形格式來指示用于該基礎(chǔ)地圖圖像的一個(gè)或多個(gè)相應(yīng)地圖元素的 幾何形狀。該方法還包括促使基礎(chǔ)地圖瓦片被經(jīng)由通信網(wǎng)絡(luò)傳送到客戶端設(shè)備。該方法還 包括接收將在客戶端設(shè)備處渲染與使用所述一組基礎(chǔ)地圖瓦片產(chǎn)生的基礎(chǔ)地圖圖像不同 的用于所選地理區(qū)域的地圖圖像的指示,并且生成一組差別地圖瓦片,其指示要渲染的地 圖圖像與所述基礎(chǔ)地圖圖像之間的一個(gè)或多個(gè)差別??墒褂檬噶棵枋龇麃碇付ㄔ摬顒e,其 中的每一個(gè)對應(yīng)于(1)將在地圖圖像中但并不在基礎(chǔ)地圖圖像中渲染(2)將不在地圖圖像 中但在基礎(chǔ)地圖圖像中渲染和/或(3)將使用與在所述基礎(chǔ)地圖圖像中指定的不同樣式、 層或地圖圖像中的其它特征來渲染的相應(yīng)地圖元素。本方法然后可促使所述一組差別瓦片 被經(jīng)由通信網(wǎng)絡(luò)傳送到客戶端設(shè)備以便渲染地圖圖像。
[0007] 在一個(gè)實(shí)施例中,用于經(jīng)由通信網(wǎng)絡(luò)來向客戶端設(shè)備提供地圖數(shù)據(jù)的計(jì)算機(jī)實(shí)現(xiàn) 的方法包括:生成一個(gè)或多個(gè)基礎(chǔ)地圖瓦片,每個(gè)基礎(chǔ)地圖瓦片包括用于在客戶端設(shè)備處 渲染和顯示用于所選地理區(qū)域的第一地圖圖像的多個(gè)矢量描述符,其中每個(gè)矢量描述符根 據(jù)矢量圖形格式來指示相應(yīng)地圖元素的幾何形狀;以及促使所述一個(gè)或多個(gè)基礎(chǔ)地圖瓦片 被經(jīng)由通信網(wǎng)絡(luò)傳送到客戶端設(shè)備。該方法還包括:接收將在客戶端設(shè)備處渲染用于所選 地理區(qū)域的第二地圖圖像的指示,其中,所述第二地圖圖像不同于所述第一地圖圖像,但包 括被所述基礎(chǔ)地圖瓦片中的至少一個(gè)覆蓋的區(qū)域;以及生成一組差別地圖瓦片,其定義所 述第一地圖圖像與要顯示的所述第二地圖圖像之間的差別。該組差別基礎(chǔ)瓦片包括一個(gè)或 多個(gè)描述符,其中的每一個(gè)對應(yīng)于與所述第一地圖圖像相比在所述第二地圖圖像中渲染的 地圖元素的變化。此外,該方法促使該組差別地圖瓦片被經(jīng)由通信網(wǎng)絡(luò)傳送到客戶端設(shè)備 以便使用一個(gè)或多個(gè)基礎(chǔ)地圖瓦片和該組差別地圖瓦片中的信息中的至少一些來渲染和 顯示所述第二地圖圖像。
[0008] 在另一實(shí)施例中,用于經(jīng)由通信網(wǎng)絡(luò)來向客戶端設(shè)備提供地圖數(shù)據(jù)的計(jì)算機(jī)實(shí)現(xiàn) 的方法包括:生成一個(gè)或多個(gè)基礎(chǔ)地圖瓦片,每個(gè)基礎(chǔ)地圖瓦片包括與用于所選地理區(qū)域 的第一地圖圖像相關(guān)聯(lián)的多個(gè)矢量描述符,其中每個(gè)矢量描述符根據(jù)矢量圖形格式來指示 相應(yīng)地圖元素的幾何形狀;以及生成一組差別地圖瓦片,其定義所述第一地圖圖像與要在 客戶端設(shè)備處顯示的所述第二地圖圖像之間的差別。在這里,該組差別地圖瓦片包括一個(gè) 或多個(gè)描述符,其中的每一個(gè)對應(yīng)于與所述第一地圖圖像相比在所述第二地圖圖像中渲染 的地圖元素的變化。該方法還促使所述一個(gè)或多個(gè)基礎(chǔ)地圖瓦片被經(jīng)由通信網(wǎng)絡(luò)傳送到所 述客戶端設(shè)備,并促使該組差別地圖瓦片被經(jīng)由通信網(wǎng)絡(luò)傳送到所述客戶端設(shè)備以便使用 一個(gè)或多個(gè)基礎(chǔ)地圖瓦片和該組差別地圖瓦片中的信息中的至少一些來渲染和顯示所述 第二地圖圖像。
[0009] 在另一實(shí)施例中,一種有形的非瞬時(shí)計(jì)算機(jī)可讀介質(zhì)具有存儲在其上面的指令, 該指令在被一個(gè)或多個(gè)處理器執(zhí)行時(shí)促使所述一個(gè)或多個(gè)處理器從客戶端設(shè)備接收將在 所述客戶端設(shè)備處渲染用于所選地理區(qū)域的特定地圖圖像的指示,并定義用于所選地理區(qū) 域的一個(gè)或多個(gè)基礎(chǔ)地圖瓦片,每個(gè)基礎(chǔ)地圖瓦片包括與用于所選地理區(qū)域的第一地圖圖 像相關(guān)聯(lián)的多個(gè)矢量描述符,其中每個(gè)矢量描述符根據(jù)矢量圖形格式來指示相應(yīng)地圖元素 的幾何形狀。此外,該指令進(jìn)行操作以生成一組差別地圖瓦片,其定義所述第一地圖圖像與 將在客戶端設(shè)備處渲染的特定地圖圖像之間的差別,該組差別地圖瓦片包括一個(gè)或多個(gè)描 述符,其中的每一個(gè)對應(yīng)于與所述第一地圖圖像相比在該特定地圖圖像中渲染的地圖元素 的變化。另外,所述指令促使該組差別地圖瓦片被經(jīng)由通信網(wǎng)絡(luò)傳送到所述客戶端設(shè)備以 便使用一個(gè)或多個(gè)基礎(chǔ)地圖瓦片和該組差別地圖瓦片中的信息中的至少一些來渲染和顯 示該特定地圖圖像。
[0010] 在另一實(shí)施例中,一種用于在計(jì)算設(shè)備中實(shí)現(xiàn)的用于生成地圖圖像的方法包括: 經(jīng)由通信網(wǎng)絡(luò)來接收與用于所選地理區(qū)域的第一地圖圖像相關(guān)聯(lián)的多個(gè)基礎(chǔ)地圖瓦片,每 個(gè)基礎(chǔ)地圖瓦片包括一個(gè)或多個(gè)矢量描述符,其根據(jù)矢量圖形格式來指示相應(yīng)地圖元素的 幾何形狀;并且還經(jīng)由通信網(wǎng)絡(luò)來接收用于渲染用于所選地理區(qū)域的第二地圖圖像的一組 差別地圖瓦片,該組差別地圖瓦片中的每一個(gè)包括所述多個(gè)基礎(chǔ)地圖瓦片中的一個(gè)中的矢 量描述符的修改的一個(gè)或多個(gè)指示。該方法然后使用所述多個(gè)基礎(chǔ)地圖瓦片和該組差別地 圖瓦片來渲染第二地圖圖像,并促使第二地圖圖像經(jīng)由用戶接口被顯示。
【附圖說明】
[0011] 圖1是其中地圖服務(wù)器迭代地向客戶端設(shè)備提供地圖數(shù)據(jù)以便以一組基礎(chǔ)地圖 瓦片和一組差別地圖瓦片的形式渲染地圖圖像的地圖繪制系統(tǒng)的框圖;
[0012] 圖2是圖示出用于在客戶端設(shè)備處渲染地圖圖像的示例性信息交換的交互圖,該 客戶端設(shè)備在圖1的系統(tǒng)中操作以首先渲染基礎(chǔ)地圖圖像并且然后使用用于同一地理區(qū) 域的基礎(chǔ)地圖瓦片和不同地圖瓦片來渲染運(yùn)輸?shù)貓D圖像;
[0013] 圖3是圖示出用于渲染附加地圖元素和從基礎(chǔ)地圖視圖刪除元素的差別地圖瓦 片的示例性傳輸?shù)慕换D;
[0014] 圖4是圖示出用于修改在一組基礎(chǔ)地圖瓦片中渲染一組地圖特征或元素的深度 的單個(gè)差別地圖瓦片的示例性傳輸?shù)慕换D;
[0015] 圖5是圖示出包括用于一株基礎(chǔ)地圖瓦片的新樣式表的差別地圖瓦片的示例性 傳輸?shù)慕换D;
[0016] 圖6是圖示出使得客戶端設(shè)備能夠使用同一組基礎(chǔ)地圖瓦片從一個(gè)類型的地圖 視圖變成另一類型的地圖視圖的從服務(wù)器設(shè)備到客戶端設(shè)備的第二組差別地圖瓦片的示 例性傳輸?shù)慕换D;
[0017] 圖7是可在圖1的系統(tǒng)中操作的用于使用基礎(chǔ)地圖瓦片和差別地圖瓦片在地圖服 務(wù)器處生成用于多個(gè)地圖圖像的地圖數(shù)據(jù)的示例性方法的流程圖;
[0018] 圖8是可在圖1的系統(tǒng)中操作的用于在地圖服務(wù)器處生成用于先前提供的基礎(chǔ)地 圖瓦片的修改的一組差別地圖瓦片的示例性方法的流程圖;
[0019] 圖9是可在圖1的系統(tǒng)中操作的用于使用基礎(chǔ)地圖瓦片和差別地圖瓦片在客戶端 設(shè)備處渲染地圖圖像的示例性方法的流程圖;
[0020] 圖10A是可使用一組基礎(chǔ)地圖瓦片在操作于圖1的系統(tǒng)中的客戶端設(shè)備處顯示的 不例性基礎(chǔ)地圖;以及
[0021] 圖10B是在用戶經(jīng)由交互式用戶接口選擇在客戶端設(shè)備處從在圖10A中使用的一 組基礎(chǔ)地圖瓦片和用于運(yùn)輸?shù)貓D視圖的差別地圖瓦片創(chuàng)建的運(yùn)輸?shù)貓D類型之后可顯示的 示例性運(yùn)輸?shù)貓D;以及
[0022] 圖10C是在用戶經(jīng)由交互式用戶接口選擇在客戶端設(shè)備處從在圖10A中使用的一 組基礎(chǔ)地圖瓦片和用于自行車地圖視圖的差別地圖瓦片創(chuàng)建的自行車地圖類型之后可顯 示的示例性自行車地圖。
【具體實(shí)施方式】
[0023] 地圖服務(wù)器設(shè)備與地圖客戶端設(shè)備通信以高效地使用具有基本地圖特征數(shù)據(jù)的 一組基礎(chǔ)地圖瓦片和一組差別瓦片來提供用于在客戶端設(shè)備上渲染地圖圖像的地圖數(shù)據(jù), 所述一組差別瓦片定義在客戶端設(shè)備處渲染地圖時(shí)將對基本地圖瓦片內(nèi)的基本地圖特征 數(shù)據(jù)進(jìn)行的改變。在一些情況下,地圖服務(wù)器首先向諸如臺式計(jì)算機(jī)、膝上計(jì)算機(jī)、平板電 腦設(shè)備、移動(dòng)電話等客戶端設(shè)備提供地圖數(shù)據(jù)以便將對應(yīng)于某個(gè)地區(qū)或地理區(qū)域的第一地 圖圖像渲染為一組的一個(gè)或多個(gè)基礎(chǔ)地圖瓦片,并且然后以差別瓦片的形式向客戶端設(shè)備 提供修改數(shù)據(jù)以便渲染對應(yīng)于該同一地理區(qū)域的第二、不同地圖圖像(例如,交通地圖圖 像、運(yùn)輸?shù)貓D圖像等)??蛻舳嗽O(shè)備然后可使用先前為了渲染第一地圖圖像而提供的基礎(chǔ) 地圖數(shù)據(jù)和以差別瓦片的形式的修改數(shù)據(jù)渲染第二地圖圖像,使得地圖服務(wù)器不需要將渲 染第一地圖圖像和第二圖像兩者時(shí)所使用的地圖數(shù)據(jù)提供給客戶端設(shè)備超過一次。根據(jù)情 形,差別地圖瓦片內(nèi)的修改數(shù)據(jù)可包括到先前提供的基礎(chǔ)地圖瓦片內(nèi)的數(shù)據(jù)或特征的一個(gè) 或多個(gè)添加、先前提供的基礎(chǔ)地圖瓦片的一個(gè)或多個(gè)部分或特征的刪除和/或?qū)ο惹疤峁?的基礎(chǔ)地圖瓦片的一個(gè)或多個(gè)部分或特征的修改,諸如與要渲染的特征相關(guān)聯(lián)的樣式、層 (深度)等方面的修改。在一些情況下,地圖服務(wù)器設(shè)備可在例如用戶在客戶端設(shè)備處首先 請求不是基礎(chǔ)地圖圖像的用于特定地理區(qū)域的地圖圖像時(shí)響應(yīng)于單個(gè)地圖請求而提供基 礎(chǔ)地圖瓦片和差別地圖瓦片兩者。
[0024] 在一個(gè)情況下,地圖服務(wù)器可以非光柵格式、諸如以矢量圖形格式來提供基礎(chǔ)地 圖瓦片,并且客戶端可解釋該地圖數(shù)據(jù)中的一些或全部以生成第一地圖圖像。在一些情況 下,地圖服務(wù)器可以以其中地圖數(shù)據(jù)包括有光柵數(shù)據(jù)(諸如光柵背景)和矢量數(shù)據(jù)兩者的 混合式格式來提供基礎(chǔ)瓦片中的一個(gè)或多個(gè)。另外,地圖服務(wù)器可以光柵格式、非光柵格式 或混合式格式向客戶端設(shè)備提供一個(gè)或多個(gè)差別瓦片,并且客戶端設(shè)備可處理該差別瓦片 以識別要對基礎(chǔ)地圖瓦片進(jìn)行的改變??蛻舳嗽O(shè)備然后可基于原始基礎(chǔ)地圖瓦片和覆蓋同 一地理區(qū)域的差別地圖瓦片內(nèi)的數(shù)據(jù)將第二地圖圖像渲染為新的或已修改的圖像?;A(chǔ)地 圖數(shù)據(jù)瓦片和差別地圖數(shù)據(jù)瓦片中的任一者或兩者可包括被用來指定當(dāng)渲染基礎(chǔ)地圖數(shù) 據(jù)或已修改的地圖時(shí)要使用的各種樣式特征的樣式數(shù)據(jù)。在這種情況下,差別地圖瓦片可 包括或指定將用來渲染地圖圖像的新的或不同的一組樣式數(shù)據(jù)。
[0025] 為了渲染基礎(chǔ)地圖圖像,客戶端設(shè)備可經(jīng)由通信網(wǎng)絡(luò)從地圖服務(wù)器請求地圖數(shù) 據(jù),并且地圖服務(wù)器可作為響應(yīng)而提供根據(jù)矢量圖形格式來描述地圖內(nèi)容的基礎(chǔ)地圖數(shù) 據(jù)。例如,基礎(chǔ)地圖數(shù)據(jù)可指定各種幾何形狀(例如,使用點(diǎn)和連接各點(diǎn)