專利名稱:在數(shù)字地圖描繪系統(tǒng)中產(chǎn)生并提供拼圖的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及地圖描繪系統(tǒng),且更具體而言涉及數(shù)字環(huán)境中的地圖描繪系統(tǒng)。
技術(shù)背景人們已開發(fā)出計算機(jī)化地圖描繪系統(tǒng)來搜索、識別及查找關(guān)于地理位置的信 息。此種計算機(jī)化地圖描繪系統(tǒng)的一種形式包括旅行計劃因特網(wǎng)網(wǎng)站。由于有超 過5千萬的無與倫比的月用戶數(shù)量,這些地圖網(wǎng)站為一種非常流行的服務(wù)。此類 網(wǎng)站的實(shí)例包括AOL公司的MapQuest、 Yahoo公司的基于Telcontar的地圖及 Microsoft公司的MapPoint.net套件。如現(xiàn)在所將闡述,此類網(wǎng)站均按照一共用模 型工作。當(dāng)一網(wǎng)絡(luò)用戶要求得到一新的地圖視圖(例如通過輸入一郵政地址或通過點(diǎn) 擊一靠近當(dāng)前地圖視圖的導(dǎo)航鏈接)時,所述用戶的網(wǎng)絡(luò)瀏覽器會向一網(wǎng)絡(luò)服務(wù) 器發(fā)送一指示新地圖視圖的邊界的請求。所述網(wǎng)絡(luò)服務(wù)器又從一數(shù)字庫中提取對 應(yīng)的基于向量的地圖數(shù)據(jù),并繪制所述地圖視圖的一位像。然后,所述服務(wù) 器將所述位圖轉(zhuǎn)換成所述用戶的網(wǎng)絡(luò)瀏覽器所支持的一圖像格式并將所述圖像 (有時嵌入于HTML中)回送至所述用戶的網(wǎng)絡(luò)瀏覽器以便能夠顯示所述圖像。 而其它地圖網(wǎng)站(例如英國的MultiMaps或澳大利亞的Wherels)利用一基 于光柵的地圖數(shù)據(jù)庫。在這些情形中,不必提取向量及繪制地像。更確切地 說,這些功能由簡單地提取一較大的經(jīng)預(yù)先再現(xiàn)的圖像的適當(dāng)部分所取代。不管是基于向量還是基于光柵,這些現(xiàn)有系統(tǒng)通常均表現(xiàn)出極差的性能。特 別是,所得到的地圖往往較小且移動緩慢。例如考慮將一現(xiàn)有地圖視圖向西平移 所述視圖寬度的比如50%的簡單任務(wù)。傳統(tǒng)的系統(tǒng)通常產(chǎn)生一全新的圖像并將所 述新圖像自服務(wù)器傳輸至用戶的瀏覽器。此類系統(tǒng)不經(jīng)濟(jì),因?yàn)槠洳荒軐λ鲂?地圖視圖與舊地圖之間50%的重疊加以識別和利用。在基于向量的情況下,另外 需要實(shí)時地根據(jù)向量產(chǎn)生一地像,此往往導(dǎo)致地圖通常難以讀取并缺乏專業(yè) 外觀及感覺,從而有損于用戶體驗(yàn)。其他商家已選擇編寫定制軟件來供其用戶下載并安裝。雖然后面的這種方法 可大大改善用戶體驗(yàn),但在用戶計算機(jī)上安裝軟件這一需要可能會妨礙其被廣泛 采用。因此,需要提供有利于有效地在線傳送美觀悅目的地圖的數(shù)字地圖描繪技術(shù)。發(fā)明內(nèi)容本發(fā)明的一實(shí)施例提供一種用于為一基于拼圖的數(shù)字地圖描繪系統(tǒng)產(chǎn)生地圖文件 的系統(tǒng)。所述系統(tǒng)包括一用于產(chǎn)生數(shù)字地像的地圖涂畫模塊、 一用于根據(jù)所述數(shù)字 地像產(chǎn)生地圖拼圖的拼圖制作器及一用于存儲由所述拼圖制作器所產(chǎn)生的地圖拼 圖的拼圖存儲器。在一個這樣的實(shí)施例中,所述地圖涂畫模塊可運(yùn)行以請求并接收一給 定區(qū)域的據(jù)以產(chǎn)生所述數(shù)字地像的地理數(shù)據(jù)。此處,可使用一地圖數(shù)據(jù)存儲器來存 儲一給定區(qū)域的地理數(shù)據(jù)的一個或多個集合,所述一個或多個集合可由所述地圖涂畫模塊存取。所述地圖數(shù)據(jù)存儲器可包括(例如) 一組增強(qiáng)地圖描繪格式(RMF)文件。在 一特定配置中, 一遠(yuǎn)程地圖描繪引擎(RME)庫具有一應(yīng)用禾Mff界面以使所述地圖涂畫 模塊能夠存取所述地理數(shù)據(jù)。所述拼圖制作器可(例如)根據(jù)一規(guī)定所應(yīng)產(chǎn)生的地圖拼圖的區(qū)域及放大級 的配置文件來運(yùn)行。所述配置文件可進(jìn)一步規(guī)定要使用的至少一個地理數(shù)據(jù)集合 中及應(yīng)如何繪制地圖(包括標(biāo)記布置信息)。所述拼圖制作器可使用所述地圖涂 畫模塊來為所述配置文件中所規(guī)定的區(qū)域產(chǎn)生數(shù)字地像。在一特定實(shí)施例 中,所述拼圖制作器適于將所述配置文件中所規(guī)定的大區(qū)域劃分成較小的區(qū)域, 并使用所述地圖涂畫模塊來為這些較小區(qū)域產(chǎn)生數(shù)字地像。所述拼圖制作器 可進(jìn)一步經(jīng)配置以將所產(chǎn)生的地圖拼圖編碼成一所需圖像格式(例如子像素位 圖、GIF、 PNG、 TIFF或JPEG)并存儲經(jīng)格式化的地圖拼圖。所述系統(tǒng)可進(jìn)一 歩包括一經(jīng)配置以響應(yīng)于來自用戶的地圖請求而提供存儲于所述拼圖存儲器中 的地圖拼圖的地圖拼圖服務(wù)系統(tǒng)。
本發(fā)明另一實(shí)施例提供一種經(jīng)配置以響應(yīng)于來自用戶的地圖請求而提供地 圖拼圖的地圖拼圖服務(wù)系統(tǒng)。所述系統(tǒng)包括復(fù)數(shù)個用于提供由一用戶請求的一個 或多個地圖拼圖的前端拼圖服務(wù)器。使用一請求分配器在所述復(fù)數(shù)個前端拼圖服 務(wù)器之間分配對地圖拼圖的請求。所述系統(tǒng)中還包括復(fù)數(shù)個與所述復(fù)數(shù)個前端拼 圖服務(wù)器進(jìn)行通信耦接的后端拼圖服務(wù)器。每一后端拼圖服務(wù)器均可存取所述地 圖拼圖(例如就地在一磁盤上存取或通過一網(wǎng)絡(luò)存取),并經(jīng)配置以向一對應(yīng)的 前端拼圖服務(wù)器提供所請求的地圖拼圖。所述前端拼圖服務(wù)器中的至少一個服務(wù)器可經(jīng)配置以識別一個或多個單色 地圖拼圖,并經(jīng)配置以提供所述單色地圖拼圖,而無需自所述后端拼圖服務(wù)器之 一中請求所述單色地圖拼圖。在一個這樣的實(shí)施例中,所述一個或多個單色地圖 拼圖存儲于一包括于所述至少一個前端拼圖服務(wù)器中的存儲器高速緩存器中,從 而降低對與提供這些單色地圖拼圖相關(guān)聯(lián)的磁盤存取的需要。在另一個這樣的實(shí)施例中,用戶正在使用一計算裝置與所述至少一個前端服務(wù)器進(jìn)行通信,且所述 至少一個前端服務(wù)器使所述計算裝置使用所述計算裝置可就地得到的單色地圖 拼圖,因而無需提供此類拼圖。每一地圖拼圖均可(例如)與一 NxN地圖拼圖塊相關(guān)聯(lián),且每當(dāng)請求得到一地圖拼圖時,均可提供對應(yīng)NxN塊中的所有NZ個拼圖。也可高速緩存所有 W個拼圖。在其它實(shí)施例中,所述地圖拼圖可(例如)與一NxM地圖拼圖塊(即 所述塊不需要為正方形的)相關(guān)聯(lián)。后端服務(wù)器的數(shù)量可使每一后端服務(wù)器可用 于提供一特定的地圖拼圖子集。此處,每一后端服務(wù)器均可高速緩存其對應(yīng)子集 中的全部或某些部分??蓪⒚恳缓蠖似磮D服務(wù)器專用于提供所述地圖拼圖的一子 集,且每一前端拼圖服務(wù)器均可經(jīng)配置以識別一適用于滿足一用戶對得到一地圖 拼圖的請求的后端服務(wù)器。在一個這樣的實(shí)施例中,每一前端拼圖服務(wù)器均使用 一基于地圖拼圖坐標(biāo)的散列函數(shù)來識別所述適當(dāng)?shù)暮蠖朔?wù)器。應(yīng)注意,所述后 端拼圖服務(wù)器不需要知道其正在提供哪個子集,從而簡化了部署。響應(yīng)于一后端拼圖服務(wù)器無法用于提供其地圖拼圖負(fù)載,每一前端拼圖服務(wù) 器均可經(jīng)配置以將所述負(fù)載分配于其余后端拼圖服務(wù)器中。在一個這樣的實(shí)施例 中,每一前端拼圖服務(wù)器均使用一基于地圖拼圖坐標(biāo)的散列函數(shù)及一嘗試計數(shù)器 來分配所述負(fù)載。所述系統(tǒng)可進(jìn)一步包括一用于產(chǎn)生所述地圖拼圖的地圖拼圖產(chǎn) 生系統(tǒng),所述地圖拼圖產(chǎn)生系統(tǒng)包括一拼圖制作器。還可提供一用于存儲所產(chǎn)生 的地圖拼圖的拼圖存儲器,其中無法在所述前端及/或后端服務(wù)器的高速緩存器中 獲得的地圖拼圖可自所述拼圖存儲器存取。本發(fā)明另一實(shí)施例提供一種基于拼圖的數(shù)字地圖描繪方法。所述方法包括根 據(jù)數(shù)字地像產(chǎn)生地圖拼圖、存儲所述地圖拼圖并響應(yīng)于一用戶地圖請求來提 供一個或多個所述地圖拼圖。所述方法可進(jìn)一步包括識別可就地提供給所述用戶 的一計算裝置的單色地圖拼圖。所述方法可進(jìn)一步包括產(chǎn)生所述數(shù)字地像,
其包括規(guī)定應(yīng)產(chǎn)生地圖拼圖的區(qū)域及縮放級。產(chǎn)生所述數(shù)字地像可包括(例 如)規(guī)定要使用的至少一個地理數(shù)據(jù)集合及應(yīng)如何繪制包括標(biāo)記布置信息的地 圖。存儲所述地圖拼圖可包括將所產(chǎn)生的地圖拼圖編碼成一所需圖像格式,并存 儲經(jīng)格式化的地圖拼圖。提供一個或多個所述地圖拼圖可包括對所提供的地圖拼 圖加以高速緩存。在一特定實(shí)施例中,根據(jù)數(shù)字地像產(chǎn)生地圖拼圖可包括識別要繪制的 區(qū)域及繪制所述區(qū)域所需的不同縮放級;根據(jù)需要在不同的縮放級下將所述區(qū)域 劃分成子區(qū)域,以便能夠在一可用存儲器中預(yù)先再現(xiàn)每一子區(qū)域;以一給定縮放 級預(yù)先再現(xiàn)每一子區(qū)域;將每一預(yù)先再現(xiàn)的子區(qū)域劃分成再現(xiàn)區(qū)域,以便能夠在 所述可用存儲器中對每一再現(xiàn)區(qū)域進(jìn)行再現(xiàn);及對所述再現(xiàn)區(qū)域進(jìn)行再現(xiàn),并將 所得到的圖像切割成地圖拼圖。在一種這樣的情況下,處于一縮放級下的每一子 區(qū)域均表示一任務(wù),以便提供一由區(qū)域及縮放級所規(guī)定的任務(wù)列表,并應(yīng)用并行 處理來執(zhí)行這些任務(wù)。在另一種這樣的情況下,要向發(fā)出請求的用戶顯示的地圖 具有一分辨率,且所述再現(xiàn)是以一比要顯示的地圖分辨率大N倍的分辨率來進(jìn)行 (例如N〉=2),并將通過所述再現(xiàn)所產(chǎn)生的位圖用作輸入來產(chǎn)生拼圖作為子像 素位圖。本發(fā)明另一實(shí)施例提供一種用于根據(jù)數(shù)字地圖數(shù)據(jù)來產(chǎn)生數(shù)字地圖拼圖的 方法。所述方法包括識別要繪制的區(qū)域及繪制每一區(qū)域所需的各個縮放級。所述 方法繼續(xù)來根據(jù)需要在不同縮放級下將所述區(qū)域劃分成子區(qū)域,以便能夠在一可 用存儲器中對每一子區(qū)域進(jìn)行預(yù)先再現(xiàn)。所述方法繼續(xù)以一給定縮放級對每一子 區(qū)域進(jìn)行預(yù)先再現(xiàn),并隨后將每一預(yù)先再現(xiàn)的子區(qū)域劃分成再現(xiàn)區(qū)域,以便能夠 在所述可用存儲器中對每一再現(xiàn)區(qū)域進(jìn)行再現(xiàn)。所述方法繼續(xù)對所述再現(xiàn)區(qū)域進(jìn) 行再現(xiàn)以產(chǎn)生一圖像,并將所述圖像劃分成地圖拼圖。所述對每一子區(qū)域進(jìn)行預(yù) 先再現(xiàn)可包括(例如)存取至少一個地理數(shù)據(jù)集合及一關(guān)于如何構(gòu)建數(shù)字地 像的指令的表示形式。所述指令可表示(例如)在一配置文件中。所述子區(qū)域可 分別在每一縮放級下具有一預(yù)定的固定尺寸。在一特定實(shí)施例中,預(yù)先再現(xiàn)決策 防止會成問題的特征越過子區(qū)域之間的邊界。或者,在另一實(shí)施例中,預(yù)先再現(xiàn) 決策允許各特征越過子區(qū)域之間的邊界。在這種情況下,不允許同時對兩個與一 邊界跨越特征相關(guān)聯(lián)的對齊子區(qū)域進(jìn)行預(yù)先再現(xiàn)??蓪㈩A(yù)先再現(xiàn)決策存儲起來以 便可將其用于后續(xù)的預(yù)先再現(xiàn)任務(wù)(其使各特征能夠越過子區(qū)域之間的邊界)。本文所述的特征和優(yōu)點(diǎn)并不囊括一切,且具體而言,所屬領(lǐng)域的技術(shù)人員根 據(jù)圖式及說明將易知許多其它特征及優(yōu)點(diǎn)。而且,應(yīng)注意,本說明書中所使用的 語言原則上是出于易讀性和指導(dǎo)性目的來選取,而非是為了限制本發(fā)明標(biāo)的物的 范圍。
圖1為一根據(jù)本發(fā)明一實(shí)施例配置而成的基于拼圖的數(shù)字地圖描繪系統(tǒng)的一方i央圖。圖2為一可用于圖1所示系統(tǒng)中的處理環(huán)境的一方塊圖。圖3為一根據(jù)本發(fā)明一實(shí)施例配置成用于為一數(shù)字地圖描繪系統(tǒng)產(chǎn)生地圖拼圖的系統(tǒng)的一方塊圖。圖4及5圖解說明一基于拼圖的地圖描繪系統(tǒng)情形,其中一地圖標(biāo)記跨越地圖拼圖邊界。圖6圖解說明一根據(jù)本發(fā)明一實(shí)施例對圖4及5中所示情形的解決方案,其 中不允許一地圖標(biāo)記跨越地圖拼圖邊界。圖7圖解說明根據(jù)本發(fā)明一實(shí)施例對圖4及5中所示情形的另一解決方案, 其中將一跨越一地圖拼圖邊界的地圖標(biāo)記繪制成兩個部分。圖8為一根據(jù)本發(fā)明一實(shí)施例配置而成的地圖拼圖服務(wù)系統(tǒng)的方塊圖。
具體實(shí)施方式
本發(fā)明揭示能夠有效地在線^f共美觀悅目的地圖的基于拼圖的數(shù)字地圖描繪技術(shù)。 在—待定實(shí)施例中,將一基于圖像拼圖的數(shù)字地圖描繪系統(tǒng)配置成在離線會話期間產(chǎn)生 地圖拼圖,并在受到請求時將戶服拼圖的選定子集劍共至一客戶機(jī)。還樹共用于例如(舉 例而言)當(dāng)一地圖標(biāo)記或其它特征Sil地圖拼圖邊界時在一基于拼圖的地圖描繪系統(tǒng)中 處理地圖標(biāo)記及其它特征的解決方案??稍谒鱿到y(tǒng)中采用各種處理環(huán)境(例如服務(wù)器 或其它計算裝置)。本文中所述的功能可由計算機(jī)禾,指令來執(zhí)行。可將這些指令載入一計算機(jī)或其它 處理環(huán)境中以產(chǎn)生一機(jī)器,以便執(zhí)行所述指令來實(shí)施根據(jù)本發(fā)明各實(shí)施例的基于拼圖的 地圖描繪技術(shù)。也可在一處理器可讀媒體中對這些計算機(jī)禾,指令進(jìn)行編碼以提供一種 制品??墒褂萌我粩?shù)量的編程語言或其組合(例如C, C++, HTML)來構(gòu)建戶/M計算 機(jī)禾聘指令。本發(fā)明的其它實(shí)施例可由專用硬件(例如現(xiàn)場可編程門陣列(FPGA)或應(yīng) 用專用集成電路(ASIC)技術(shù))來構(gòu)建。同樣地,根據(jù)本揭示內(nèi)容將易知,也可j頓硬 件與軟件的組合來實(shí)施本發(fā)明的其它實(shí)施例。系統(tǒng)概述圖1為一根據(jù)本發(fā)明一實(shí)施例配置而成的基于拼圖的數(shù)字地圖描繪系統(tǒng)的 一方塊圖。由圖可見,所述系統(tǒng)包括一連接至一網(wǎng)絡(luò)105的計算裝置103。各種 服務(wù)系統(tǒng)也連接至網(wǎng)絡(luò)105,包括一網(wǎng)絡(luò)服務(wù)系統(tǒng)110、 一拼圖服務(wù)系統(tǒng)115及 一位置數(shù)據(jù)服務(wù)系統(tǒng)120。其它計算裝置105 (未顯示)也可通過網(wǎng)絡(luò)105與服 務(wù)系統(tǒng)110、 115及120進(jìn)行通信。計算裝置103可為配置成用于計算的任一類型的裝置,例如個人計算機(jī)或膝 上型計算機(jī)、移動電話、個人數(shù)字助理、位于車內(nèi)的導(dǎo)航系統(tǒng)、手持式GPS系統(tǒng)
等等。計算裝置103包括一使用戶能夠與網(wǎng)絡(luò)105上的其它裝置及系統(tǒng)進(jìn)行接口及通信的瀏覽器(或其它類似應(yīng)用)。瀏覽器的實(shí)例包括Microsoft公司的Internet Explorer瀏覽器、Netscape公司的Navigator瀏覽器、Mozilla公司的Firefox瀏覽 器、PalmSource公司的Web瀏覽器、或任何其它能夠與網(wǎng)絡(luò)105進(jìn)行通信的瀏 覽或應(yīng)用軟件。大體而言,計算裝置103可為任一種使用戶能夠通過網(wǎng)絡(luò)105訪 問服務(wù)系統(tǒng)110、 115及120的裝置。網(wǎng)絡(luò)服務(wù)器110為整個系統(tǒng)的一部分,其傳送初始HTML(超文本標(biāo)記語言)、 圖像、腳本語言(例如JavaScript、 Jscript、 Visual Basic Script)、 XSLT (可擴(kuò)充 樣式表語言轉(zhuǎn)換)、及由計算裝置103上的瀏覽器使用的其它靜態(tài)要素。應(yīng)注意, 此服務(wù)系統(tǒng)110可包括一個或多個根據(jù)一負(fù)載平衡方案運(yùn)行的服務(wù)器,其中每一 服務(wù)器(或一服務(wù)器組合)均經(jīng)配置以響應(yīng)于計算裝置103并與計算裝置103交 互作用。如根據(jù)本揭示內(nèi)容將易知,網(wǎng)絡(luò)服務(wù)系統(tǒng)110可借助傳統(tǒng)技術(shù)來構(gòu)建。拼圖服務(wù)系統(tǒng)115為整個系統(tǒng)的一部分,其負(fù)責(zé)響應(yīng)于來自計算裝置103的 請求來傳送各個地圖拼圖,其中每一拼圖均(例如)通過與整個基于拼圖的地圖 相協(xié)調(diào)的x、 y及z值來唯一地界定。也可使用其它拼圖識別方案。服務(wù)系統(tǒng)115 可包括一個或多個根據(jù)一負(fù)載平衡方案運(yùn)行的服務(wù)器,其中每一服務(wù)(或一服務(wù) 器組合)均經(jīng)配置以響應(yīng)于計算裝置103并與計算裝置103交互作用。與拼圖服 務(wù)系統(tǒng)115相關(guān)聯(lián)的實(shí)例性架構(gòu)及功能將參照圖8加以進(jìn)一步闡述。位置數(shù)據(jù)服務(wù)系統(tǒng)120為整個系統(tǒng)的一部分,其將各種形式的位置數(shù)據(jù)傳送 至計算裝置103。其功能包括(例如)尋找一街道地址的地理位置、產(chǎn)生驅(qū)動方 向并將其格式化、及搜索一査詢的具體位置結(jié)果(例如如同Google Local Search 服務(wù)一樣)。還可提供其它服務(wù)。通常,當(dāng)用戶輸入一搜索字符串時,所述搜索 字符串由計算裝置103輸入一請求中,并通過網(wǎng)絡(luò)105發(fā)送至位置數(shù)據(jù)服務(wù)系統(tǒng) 120。然后,位置數(shù)據(jù)服務(wù)系統(tǒng)120確定所述請求的對象,并以一種計算裝置103 可用以將所述數(shù)據(jù)呈現(xiàn)給所述用戶(例如通過一瀏覽器)的格式以來自各個子系 統(tǒng)(例如地理編碼器、選路引擎及本地搜索索引)的適當(dāng)數(shù)據(jù)作出響應(yīng)。網(wǎng)絡(luò)105可為任一類型的通信網(wǎng)絡(luò),例如局域網(wǎng)(例如內(nèi)聯(lián)網(wǎng))、廣域網(wǎng)(例 如因特網(wǎng))或其某一組合。或者,網(wǎng)絡(luò)105可為計算裝置103與服務(wù)系統(tǒng)110、 115及120之間的一直接連接。通常,計算裝置103、網(wǎng)絡(luò)105、及/或服務(wù)系統(tǒng) 110、 115及120均可使用各種各樣的通信協(xié)議通過任一類型的有線或無線連接進(jìn) 行通信。圖2為一可用于圖1所示系統(tǒng)的處理環(huán)境的一方塊圖。例如,可使用所示處 理環(huán)境來配置計算裝置103或任何包含于服務(wù)系統(tǒng)110、 115及120中的服務(wù)器。 也可使用眾多其它處理環(huán)境,且本發(fā)明并非意欲僅限于任何一種這樣的實(shí)施例一 圖2僅提供作為一可能的實(shí)例。由圖可見,此實(shí)例性處理環(huán)境包括一總線200、 一個或多個處理器205、 一主存儲器210、 一只讀存儲器(ROM) 215、 一存儲裝置220、 一個或多個輸入裝 置225、 一個或多個輸出裝置230及一通信接口 235??偩€200可包括一個或多 個允許在所述處理環(huán)境的各組件之間進(jìn)行通信的導(dǎo)體,并可使用傳統(tǒng)的總線技術(shù) 來構(gòu)建。處理器205可包括任一類型的傳統(tǒng)處理器、微處理器、或解譯并執(zhí)行指令的 處理邏輯。主存儲器210可包括一隨機(jī)存取存儲器(RAM)或另一類型的動態(tài)存 儲裝置以存儲供處理器205執(zhí)行的信息及指令。ROM 215可包括一傳統(tǒng)的ROM 裝置或另一類型的非易失性存儲裝置以存儲供處理器205使用的信息及指令。存 儲裝置220可包括(例如) 一磁性及/或光學(xué)記錄媒體及其相應(yīng)的驅(qū)動器。應(yīng)注意, 主存儲器210也可包括一高速緩存器以用于臨時存儲共同存取的數(shù)據(jù)(例如地圖 拼圖)。此種高速緩存器將不需要每當(dāng)接收到一對數(shù)據(jù)的請求時就對存儲裝置220 進(jìn)行存取,從而縮短處理時間。輸入裝置225可包括一個或多個允許用戶將信息輸入至所述處理環(huán)境的傳 統(tǒng)機(jī)構(gòu),例如鍵盤、鼠標(biāo)、筆、記錄筆、筆跡識別、語音識別、生物測定機(jī)構(gòu)等 等。輸出裝置230可包括一個或多個將信息輸出至用戶的傳統(tǒng)機(jī)構(gòu),例如顯示器、 打印機(jī)、揚(yáng)聲器等等。通信接口 235可包括任一使所述處理環(huán)境能夠與其它裝置 及/或系統(tǒng)進(jìn)行通信的收發(fā)機(jī)類機(jī)構(gòu)。例如,通信接口 235可包括一用于通過網(wǎng)絡(luò) 丄05與另一裝置或系統(tǒng)進(jìn)行通信的調(diào)制解調(diào)器(例如56K、 DSL或電纜)。在一實(shí)施例的運(yùn)行中,計算裝置103請求得到存儲于拼圖服務(wù)系統(tǒng)115中的 地圖信息。 一前端服務(wù)器(包含于拼圖服務(wù)系統(tǒng)115中)通過回送一包含供客戶 機(jī)側(cè)瀏覽器存取的指令(例如以JavaScript或另一腳本語言形式)的網(wǎng)頁來對計 算裝置103或"客戶機(jī)側(cè)"所提交的查詢作出響應(yīng)。以此方式,客戶機(jī)計算裝置103 根據(jù)需要自拼圖服務(wù)系統(tǒng)115請求地圖拼圖,拼圖服務(wù)系統(tǒng)115提供與所請求的 地圖拼圖相關(guān)聯(lián)的拼圖。然后,通過在所述網(wǎng)絡(luò)瀏覽器中將所述拼圖集組合在一 起形成所請求的地像,將所請求的地像顯示于計算裝置103處。地圖拼 圖可"預(yù)先再現(xiàn)",此意味著其是在一將參照圖3加以說明的離線階段期間產(chǎn)生。為了將所述大的光柵圖像的任一子區(qū)域視圖作為一地像再生于用戶的 網(wǎng)絡(luò)瀏覽器上,可使用一瀏覽器側(cè)腳本,其僅使用最小的拼圖集來一同覆蓋所需 視圖。因此,用戶可觀看到一所提供的地圖區(qū)段,并隨后對所看到的地圖區(qū)段加 以改變(例如通過使用輸入裝置225的光標(biāo)朝一方向拖動所述地圖),從而提供 提供用來填充此時處于瀏覽器窗口內(nèi)的新地圖位置的新地圖拼圖。其效果是得到 一可放大/縮小并可進(jìn)一步調(diào)整至所需新位置的實(shí)際上無止境的地圖。此特征以及 由一根據(jù)本發(fā)明一實(shí)施例配置而成的基于拼圖的數(shù)字地圖描繪系統(tǒng)所實(shí)現(xiàn)的其 它特征進(jìn)一步詳述于前面所并入的名稱為"數(shù)字地圖描繪系統(tǒng)(ADigital Mapping System)"的母申請案中。對于任一給定實(shí)施方式而言,可在假定存在下列折衷 的情況下試探性地確定拼圖的尺寸(1)較大的拼圖往往會增大為形成一給定 圖所需的拼圖的總體尺寸(在像素及字節(jié)兩方面而言);而(2)較小的拼圖往往會增大為形成一給定視圖所需的單獨(dú)請求(例如HTTP請求)的數(shù)量?;蛘?,并非使用一位于服務(wù)器側(cè)(例如拼圖服務(wù)系統(tǒng)115)上的拼圖數(shù)據(jù)庫, 而是可將每 一 拼圖存儲于 一 可使用 URL (例如 http:〃<domain>/7/-18/!/-145 12 7.gif,其中此實(shí)例中的目錄路徑7/-18/1只取決于 拼圖坐標(biāo),所述拼圖坐標(biāo)在此種情況下等于(-145, 12, 7))來存取的單獨(dú)文件中。 為簡明起見,可將每一縮放級z的每一拼圖定位成使所述拼圖的左上部像素具有 坐標(biāo)(0, 0, z)。此設(shè)置有利于通過使所述拼圖中左上角像素的像素x及y坐標(biāo) 分別整除以所述拼圖的寬度及高度來為每一拼圖指配一唯一的三坐標(biāo)組。應(yīng)注 意,在一些實(shí)施例中,因此利用總共三個坐標(biāo)系緯度/經(jīng)度坐標(biāo)、像素(x, y, z)坐標(biāo)及拼圖(x, y, z)坐標(biāo)。對坐標(biāo)系的此特定選擇并非意欲限制本發(fā)明, 而是選擇用來幫助闡述一些實(shí)施例中所使用的算法。通常,此處可使用任一相容 的坐標(biāo)系或檢索系統(tǒng)。反過來,每一像素均屬于一可容易地計算出其坐標(biāo)的唯一 拼圖。在一實(shí)施例中,將所述縮放級編號為O至Z,其中O表示最接近于街道級的 級,而Z為離街道級最遠(yuǎn)的級。將所關(guān)心區(qū)域內(nèi)的任一緯度/經(jīng)度點(diǎn)指定及定義 為原點(diǎn)或起點(diǎn)(例如毗連的美國的地理中心)。然后,在每一縮放級z下,為包 含此原點(diǎn)的z級光柵圖像的像素指配三坐標(biāo)組(0, 0, z)。使用x軸坐標(biāo)從左至 右增大而y軸坐標(biāo)從上至下增大的標(biāo)準(zhǔn)計算機(jī)圖形規(guī)約,為每一光柵圖像的每一 像素指配一唯一的三坐標(biāo)組(x, y, z)。在給定縮放級z的情況下, 一坐標(biāo)轉(zhuǎn)換例程將一緯度/經(jīng)度坐標(biāo)對轉(zhuǎn)換成適 當(dāng)?shù)?x, y, z)像素坐標(biāo),反之亦然。此種轉(zhuǎn)換的細(xì)節(jié)取決于在最初形成所述 光柵圖像時所用的地圖投影。拼圖產(chǎn)生圖3為一根據(jù)本發(fā)明一實(shí)施例經(jīng)配置用于為一數(shù)字地圖描繪系統(tǒng)產(chǎn)生地圖 拼圖的系統(tǒng)的一方塊圖。如先前所提及,可在一對用戶而言透明的離線處理中產(chǎn)生由所述地圖系統(tǒng)所 覆蓋的整個區(qū)域的一組大的、鄰接的、預(yù)先再現(xiàn)的光柵圖像。為每一縮放級(例 如從街道級到國家級)提供一組這樣的光柵圖像。然后,將這些較大的圖像切割 成拼圖,然后將這些拼圖編碼成一適當(dāng)?shù)膱D像格式(例如GIF)。圖3中所示系統(tǒng) 的用途是產(chǎn)生完整的一組拼圖來覆蓋給定的一組區(qū)域及縮放級。通常,可將產(chǎn)生一可用以制成地圖拼圖的地像的過程劃分成兩個邏輯過 程預(yù)先再現(xiàn)及再現(xiàn)。在所述預(yù)先再現(xiàn)過程中,根據(jù)可用地圖數(shù)據(jù)及配置數(shù)據(jù)作 出關(guān)于應(yīng)如何繪制地圖的決策。在所述再現(xiàn)過程中,通過產(chǎn)生一位像或通過 規(guī)定以一基于向量的格式繪制所述地圖來進(jìn)行實(shí)際的地圖繪制。對于這兩個過程 而言,非常需要具有高的速度。在一計算裝置的存儲器或其它適當(dāng)?shù)奶幚憝h(huán)境中
實(shí)施所述過程是一種用以達(dá)到足夠速度的方式。在一實(shí)施例中,所述預(yù)先再現(xiàn)過程可利用所有需要的地圖數(shù)據(jù)(可用以繪制 地像的地理數(shù)據(jù)集)及一關(guān)于如何在存儲器中構(gòu)建所述地圖的決策的表示形 式。此決策可表示(例如)于一配置文件中。所述再現(xiàn)過程可將正在繪制的位圖 連同所要繪制的內(nèi)容的定義保存在存儲器中。在一些(并非所有)情形中,就可 用存儲量而言,所述預(yù)先再現(xiàn)過程可覆蓋一比所述再現(xiàn)過程大得多的區(qū)域。例如,如要覆蓋整個美國及加拿大大陸,可能需要上億塊拼圖,所述拼圖的 總文件尺寸大約為數(shù)百吉字節(jié)。并非是在需要時根據(jù)基本數(shù)據(jù)來繪制地像, 而是將整個地圖預(yù)先繪制成若干區(qū)段(拼圖),并在需要拼圖時將適當(dāng)?shù)钠磮D發(fā) 送至客戶機(jī)。最終組合并顯示于用戶的網(wǎng)絡(luò)瀏覽器上的每一基于拼圖的地像 均與其中一個較大的預(yù)先確定的光柵圖像的一子區(qū)域(通常呈一矩形形狀)相匹配。本文中闡述大區(qū)域的拼圖產(chǎn)生。通過執(zhí)行拼圖制作器305來啟動所述拼圖產(chǎn)生過程。為了繪制若干區(qū)域,拼圖制作器305使用地圖涂畫模塊310來產(chǎn)生圖像。地圖涂畫模塊310通過一市售 RME (遠(yuǎn)程地圖描繪引擎)庫315來獲得一給定區(qū)域的地理數(shù)據(jù),RME (遠(yuǎn)程地 圖描繪引擎)庫315采用一使地圖涂畫模塊310能夠存取地圖數(shù)據(jù)存儲器320的 應(yīng)用程序界面(API)。應(yīng)注意,在替代實(shí)施例中,地圖涂畫模塊310可經(jīng)配置以 直接對地圖數(shù)據(jù)存儲器320進(jìn)行存取,從而無需使用商業(yè)RME庫315??傊?, 地圖涂畫模塊310作為一繪制模塊運(yùn)行,其中可使用一圖形庫來產(chǎn)生具有所需外 觀的位圖。為了使一位圖地像反混淆,此可通過下述方式來進(jìn)行通過所述 圖形庫或通過以高于所需的分辨率繪制所述地像、并隨后以一適當(dāng)方法(例 如雙線性或雙三次再采樣)按比例縮小所述圖像,或通過將更高分辨率的位圖用 作能夠產(chǎn)生子像素位圖的軟件的輸入。 一個特定的此種實(shí)施例使用Microsoft公 司的GDI/GDI+以四倍的分辨率來繪制一地像,并隨后通過將每一 512x512 像素區(qū)域轉(zhuǎn)換成一個128x128像素子像素位圖拼圖來產(chǎn)生子像素位圖。拼圖存儲器300為保存由拼圖制作器305所產(chǎn)生的拼圖的地方。在一實(shí)施例 中,將拼圖存儲器300構(gòu)建成一簡單的基于磁盤的存儲系統(tǒng),但其也可為任一能 夠有效地接收并存儲大量數(shù)據(jù)的系統(tǒng)。由于通常的文件系統(tǒng)在處理大量小文件時 常常變得效率低下,因此可將所述拼圖存儲于復(fù)合文件中。在一特定實(shí)施例中, 可將所述拼圖存儲成子像素位圖(如在前面所并入的第60/555,501號美國臨時申 請案中所述),但也可改為使用任一基于位圖或向量的格式。 一旦所述地圖拼圖 存儲到一拼圖存儲器300中,其便可供用于一讀取所述拼圖(例如按塊形式或一 次一個)并以一對于將所述拼圖提供至一發(fā)出請求的客戶機(jī)的數(shù)字地圖描繪系統(tǒng) 而言可最優(yōu)化的方式對所述拼圖進(jìn)行高速緩存的過程。可使用一配置文件來啟動拼圖制作器305,所述配置文件規(guī)定應(yīng)針對哪些區(qū) 域及縮放級產(chǎn)生所述拼圖、使用哪些數(shù)據(jù)集以及應(yīng)如何繪制所述地圖(例如通過
色彩規(guī)范、各種特征的外觀、標(biāo)記布置等等)。所述配置文件也可包含不存在于 地圖數(shù)據(jù)存儲器320中的額外數(shù)據(jù),例如手動布置的標(biāo)記。在一實(shí)施例中,將所述配置文件構(gòu)建成一可擴(kuò)充標(biāo)記語言(XML)格式化文本文件,其包含拼圖制作 器305需要用來繪制地像(使用地圖涂畫模塊310)的所有配置數(shù)據(jù)。如根 據(jù)本揭示內(nèi)容所將易知,也可使用其它格式及解決方案來執(zhí)行拼圖制作器305。如上文所解釋,拼圖制作器305使用地圖涂畫模塊310為所述配置文件中所 規(guī)定的區(qū)域繪制地像。在一特定示例中,地圖繪制是根據(jù)向量數(shù)據(jù)來產(chǎn)生一 目標(biāo)區(qū)域(例如美國中西部或舊金山市,或某一其它地理區(qū)域)的位像的過 程,所述向量數(shù)據(jù)規(guī)定例如所關(guān)心的點(diǎn)(POI)及地址等地理特征、例如公路及 鐵路等特征、城市、公園及諸如此類的點(diǎn)、線及區(qū)域。當(dāng)一區(qū)域較大時,使地圖 涂畫模塊310繪制并將整個所繪制地像存儲于存儲器中可能不切實(shí)際,因此 拼圖制作器305可將所述區(qū)域劃分成若干較小的區(qū)域,并一次一個地繪制這些較 小的區(qū)域。本文進(jìn)一步闡述大區(qū)域的拼圖產(chǎn)生。由于期望使正在繪制的區(qū)域構(gòu)成 單個連續(xù)圖像,因此此種劃分可能帶來問題,因?yàn)殛P(guān)于所述區(qū)域的不同部分的繪 制決策可能在這些部分之間的邊界處不對齊。一種解決方案(其將參照圖6加以進(jìn)一步闡述)是強(qiáng)行將標(biāo)記及其它會造成 問題的特征繪制成只完全處于當(dāng)前正在繪制的區(qū)域內(nèi)一此種解決方案能防止出 現(xiàn)局部繪制的標(biāo)記,但其可降低沿邊界的地像的質(zhì)量,因?yàn)槠鋾拗撇贾么?類特征的可能性范圍。例如, 一跨越此種位于兩個分別繪制的區(qū)域之間的邊界的 公路可能在所述邊界的兩側(cè)上布置有相同的標(biāo)記,所述標(biāo)記布置的比其原本布置 的近得多。另一解決方案一其將參照圖7加以進(jìn)一步闡述一是保存對于沿邊界布 置會造成問題的特征的決策,并隨后在繪制后續(xù)區(qū)域時將這些決策考慮在內(nèi)。這 樣作可只是為了避免以不合宜的方式將各特征布置在一邊界的每一側(cè)上,或者其 可允許將各特征獨(dú)立于邊界布置(例如通過允許此類特征跨越邊界)。為了繪制一區(qū)域,拼圖制作器305可使用地圖涂畫模塊310,并向地圖涂畫 模塊310傳遞關(guān)于要繪制的區(qū)域、所需比例尺、要包含哪些地理數(shù)據(jù)集、要繪制 哪些特征及應(yīng)如何繪制此類特征的相關(guān)信息。響應(yīng)于此,地圖涂畫模塊310回送 一對應(yīng)的數(shù)字地像,所述數(shù)字地像由拼圖制作器305變成拼圖并以例如 子像素位圖(或任一基于位圖或向量的格式)等所需格式存儲于拼圖存儲器300 中。在一特定實(shí)施例中,使用一 128x128像素的拼圖尺寸,其中所述拼圖以一 GIF格式存儲。其它實(shí)施例可使用一以GIF、 PNG、 TIFF或JPEG格式存儲的 256x256像素的拼圖尺寸。根據(jù)對每一特定實(shí)施方式的要求,也可使用其它拼圖 尺寸及圖像存儲格式。這些拼圖大體形成一規(guī)則的矩形網(wǎng)格,且此屬性在一實(shí)施 例中有利于系統(tǒng)的構(gòu)建。然而,應(yīng)注意,也可使用任何其它將大的光柵圖像劃分 成具有任何能在客戶機(jī)側(cè)(例如計算裝置103)組裝的形狀及尺寸的拼圖的劃分
形式來實(shí)現(xiàn)本發(fā)明的效果。如前面所述,RME庫315為一可用于從RMF (增強(qiáng)地圖描繪格式)文件中 查詢數(shù)據(jù)的市售軟件。RME庫315支持空間査詢,所述空間査詢用于請求涉及 到兩個或更多個項(xiàng)的地理關(guān)系的信息。實(shí)例性查詢?yōu)?哪些地圖特征處于一給定 區(qū)域內(nèi)?"或"哪些具有一高于某一閾值的優(yōu)先級的地圖特征處于一給定區(qū)域 內(nèi)?"。使用所述空間査詢的結(jié)果來產(chǎn)生地像并最終產(chǎn)生地圖拼圖。通過將 其它地圖格式編譯成RMF來產(chǎn)生RMF文件。此過程的優(yōu)點(diǎn)在于可按一相容方式 通過RME庫315査詢可編譯成RMF文件的各種各樣的地圖數(shù)據(jù)文件格式。應(yīng)注 意,可在所述系統(tǒng)中使用文件格式與庫的任一組合;唯一的要求是需要一種可供 地圖涂畫模塊310用于獲得一給定區(qū)域的地理數(shù)據(jù)的服務(wù)。地圖數(shù)據(jù)存儲器320是存儲于一供RME庫315存取的磁盤上的地理地圖數(shù) 據(jù)。在一實(shí)施例中,所存儲的地圖數(shù)據(jù)包括已由Telcontar (—數(shù)字地圖及導(dǎo)航信 息的商業(yè)提供商)編譯成一RMF (增強(qiáng)地圖格式)文件集的市售NavTech數(shù)據(jù)。 RMF為一種針對空間査詢處理得到最佳化的傳統(tǒng)地圖數(shù)據(jù)格式。因此, 一旦在空 間上格式化的數(shù)據(jù)集中發(fā)現(xiàn)一個項(xiàng),便可相對容易地發(fā)現(xiàn)其它臨近項(xiàng)。不過,應(yīng) 注意,還有許多其它用于將地圖數(shù)據(jù)組織于存儲器320中的方式,例如依序或分 層組織。要使用的確切文件/數(shù)據(jù)集可由用于控制拼圖制作器305的執(zhí)行的配置文 件來規(guī)定。此處可替換任何地圖數(shù)據(jù)源,且RME庫315及地圖數(shù)據(jù)存儲器320 可為一個具有一可供地圖涂畫模塊310使用的API的系統(tǒng)?;蛘?,可將RME庫 315與API功能集成到地圖涂畫模塊310中。根據(jù)本文中所揭示內(nèi)容將易知其它 配置。大區(qū)域的拼圖產(chǎn)生如前面所示,就可用存儲量而言,所述預(yù)先再現(xiàn)過程可(在某些情形中)覆 蓋一比所述再現(xiàn)過程大得多的區(qū)域??蓪D3所示系統(tǒng)所實(shí)施的拼圖產(chǎn)生過程進(jìn) 行改進(jìn),以使所述拼圖產(chǎn)生適用于大的區(qū)域(例如美國及加拿大大陸)。在一實(shí) 施例中,按下述方式進(jìn)行用于產(chǎn)生由一配置文件所規(guī)定的所有拼圖的過程。首先,拼圖制作器305查看需要繪制的所有區(qū)域及繪制這些區(qū)域所需使用的 各個縮放級,并以不同的縮放級根據(jù)需要將所述區(qū)域劃分成子區(qū)域,以便能夠以 一給定存儲量來對每一子區(qū)域進(jìn)行預(yù)先再現(xiàn)。所述決策可基于用于一給定區(qū)域的 實(shí)際數(shù)據(jù)?;蛘撸瑸榱耸勾瞬襟E盡可能地短,可對一子區(qū)域使用一固定尺寸或?qū)?每一縮放級使用一固定尺寸。處于一縮放級的每一子區(qū)域均變成一由區(qū)域及縮放 級界定并存儲于一列表中的獨(dú)立任務(wù),并可應(yīng)用大量拼圖制作器305來執(zhí)行這些 任務(wù)(例如使用并行處理)。為了避免出現(xiàn)跨越這些子區(qū)域之間的邊界的問題,所述預(yù)先再現(xiàn)過程可確保 沒有會造成問題的特征跨越這些邊界,從而使每一子區(qū)域均能夠完全獨(dú)立地預(yù)先 再現(xiàn)及隨后再現(xiàn)(圖6)?;蛘?,可對在一預(yù)先再現(xiàn)過程期間所作出的決策加以保
存,以便可在后續(xù)預(yù)先再現(xiàn)任務(wù)中對其加以存取,從而使各特征可跨越子區(qū)域之 間的邊界(圖7)。此要求進(jìn)行一定的協(xié)調(diào),以避免同時要對兩個對齊的子區(qū)域進(jìn) 行預(yù)先再現(xiàn)(假定存在一使用多個拼圖制作器305的并行處理方案)。當(dāng)一拼圖制作器305從所述列表中選擇一個任務(wù)時,其以所述任務(wù)所規(guī)定的縮放級對所述子區(qū)域進(jìn)行預(yù)先再現(xiàn),并隨后將所述子區(qū)域劃分成小到足以在所述可用存儲器中再現(xiàn)的再現(xiàn)區(qū)域。然后,拼圖制作器305著手一次一個地對再現(xiàn)區(qū) 域進(jìn)行再現(xiàn),將所得到的圖像切割成拼圖,并將所述拼圖置于拼圖存儲器300中。 在一特定實(shí)施例中,以四倍的所需分辨率進(jìn)行再現(xiàn),并將所得到的位圖用作輸入 來產(chǎn)生拼圖作為子像素位圖,但也可根據(jù)所需輸出使用其它尺寸及格式。應(yīng)注意, 例如標(biāo)記等特征可跨越各再現(xiàn)區(qū)域之間的邊界,因?yàn)殛P(guān)于其布置的所有決策均是 在所述預(yù)先再現(xiàn)過程期間作出。還應(yīng)注意,如果使所述子區(qū)域小到足以既在存儲 器中預(yù)先再現(xiàn)又在存儲器中再現(xiàn),則在對例如標(biāo)記等特征的布置施加限制的邊界 之間存在較小的距離,且所得到的地圖通常質(zhì)量較差。除已提及的用于產(chǎn)生描繪一沒有斷開特征(例如跨越拼圖邊界)的連續(xù)地圖 的拼圖的策略外,還可僅根據(jù)某一半徑內(nèi)的地圖數(shù)據(jù)以一種使所述半徑外任何事 物均無法影響所述標(biāo)記布置的方式作出關(guān)于所述特征布置的決策。在此種系統(tǒng) 中,可不需要對不能由例如標(biāo)記等特征跨越的邊界加以識別,只要一正預(yù)先再現(xiàn) 及再現(xiàn)的區(qū)域可存取所述子區(qū)域以外(直到所述子區(qū)域以外的半徑)的地圖數(shù)據(jù) 即可。借助對所述預(yù)先再現(xiàn)代碼的充分改良及一足夠大的半徑,此種系統(tǒng)可能能 夠產(chǎn)生在質(zhì)量上與前面所述方法相當(dāng)?shù)慕Y(jié)果。當(dāng)對例如城市或公園等區(qū)域進(jìn)行標(biāo) 記時,所述預(yù)先再現(xiàn)過程可從所述地圖數(shù)據(jù)中加載整個特征,并僅使用所述特征 來決定是否布置標(biāo)記。這意味著,關(guān)于此種標(biāo)記或類似特征的布置的決策對于毗 鄰的子區(qū)域而言將相同,因而可允許這些特征跨越邊界?;谄磮D的地圖描繪系統(tǒng)問題及解決方案下文參照圖4至7圖解說明前面所述連續(xù)性技術(shù)的實(shí)例性應(yīng)用。由于地圖描繪系統(tǒng)實(shí)施例可處理大的區(qū)域(例如國家、洲、或者甚至行星規(guī) 模),因此一次存取整個區(qū)域位圖可能不切實(shí)際。為了解決此問題,如前面所解 釋,可能需要將整個區(qū)域劃分成更小的子區(qū)域,并一次為一個子區(qū)域產(chǎn)生所述拼 圖。為在不向整個地像中引入錯誤的情況下進(jìn)行此種作業(yè), 一實(shí)施例解決跨 越拼圖及子區(qū)域的連續(xù)性問題。圖4圖解說明一典型的標(biāo)記布置問題,其中一地 圖標(biāo)記("主街道")跨越地圖拼圖邊界(稱作子區(qū)域邊界),而圖5圖解說明一 在獨(dú)立繪制每一子區(qū)域時可能出現(xiàn)的問題。圖6圖解說明一根據(jù)本發(fā)明一實(shí)施例對圖4及5中所示問題的解決方案,其 中不允許地圖標(biāo)記跨越地圖拼圖邊界。此方法確保在所述預(yù)先再現(xiàn)過程期間布置 可能會導(dǎo)致跨越子區(qū)域之間邊界的問題的特征,從而消除或者減少所述地圖中的 錯誤。例如,在所述預(yù)先再現(xiàn)過程期間布置公路或鐵路的名稱標(biāo)記,因而其不會跨 越這些子區(qū)域邊界,從而確保最終的地圖不存在僅部分地位于其中的標(biāo)記(例如 圖5中所示)??蓛H根據(jù)此種特征的形狀來布置例如城市或公園等區(qū)域的標(biāo)記。 這意味著如要布置這些標(biāo)記,即使所述特征的某些部分位于其他子區(qū)域中,也必 須檢索被標(biāo)記的整個特征,并隨后必須根據(jù)所述整個區(qū)域的形狀來布置所述標(biāo) 記。在一力圖使重疊標(biāo)記的外觀最小化的系統(tǒng)中,應(yīng)將區(qū)域標(biāo)記布置于諸如公路 及鐵路等其它特征的標(biāo)記前面,以使這些其它特征將不會影響一個子區(qū)域中的區(qū) 域標(biāo)記,因?yàn)檫@些影響將不為在一毗鄰子區(qū)域中繪制所述地圖的繪制過程所知, 且因此不再保證所述區(qū)域標(biāo)記的布置完全相同。圖7圖解說明一根據(jù)本發(fā)明另一實(shí)施例對圖4及5中所示問題的解決方案, 其中將一跨越地圖拼圖邊界的地圖標(biāo)記繪制成兩個部分??赏ㄟ^下述方式來實(shí)施 此解決方案將在所述預(yù)先再現(xiàn)過程期間對每一子區(qū)域所作出的決策存儲起來, 并使所述決策可供用于后續(xù)過程以繪制包含相同特征(或其某些部分)的區(qū)域以 及可能根據(jù)關(guān)于先前所繪制區(qū)域中的特征及標(biāo)記布置的信息來移動特征及標(biāo)記 的毗鄰區(qū)域。在此種情況下,所述地圖繪制模塊(例如圖3中所示的地圖涂畫模塊310)可在不慮及子區(qū)域邊界的情況下布置標(biāo)記(例如在一公路上),因?yàn)橐豢缭酱朔N 邊界的標(biāo)記得到保存并可供用于對毗鄰子區(qū)域的繪制過程。所述毗鄰子區(qū)域接收 關(guān)于跨邊界標(biāo)記的布置的信息,并將所述布置用作其自身的布置,從而再次繪制 所述標(biāo)記,且其位于所述毗鄰子區(qū)域中的部分包含在該位置處所產(chǎn)生的拼圖中。此方法有利于下述屬性子區(qū)域邊界的不同側(cè)上的拼圖可具有跨越所述子區(qū)域邊 界的特征及標(biāo)記,且由此使布置特征及標(biāo)記的過程能夠忽略所述子區(qū)域邊界??蓱?yīng)用相同的方法來布置路線符號及區(qū)域標(biāo)記(且其可與前面所提及的查看 所標(biāo)記的整個區(qū)域的方法相結(jié)合)??深愃频刈鞒鲫P(guān)于如何繪制被指配有坡度等 級(按照高度排序)的交叉公路的預(yù)先再現(xiàn)決策。在此種具有坡度等級的公路情 況下,可將一環(huán)繞一組交叉公路的區(qū)域以一種其可被視為與毗鄰公路獨(dú)立的方式 來加以確定,且對此區(qū)域作出決策并保存所述決策,以使其可供用于繪制毗鄰的 子區(qū)域,特別是那些發(fā)現(xiàn)在坡度等級方面孤立的與所述區(qū)域相交的毗鄰子區(qū)域。由不同商家提供的地圖數(shù)據(jù)往往在覆蓋區(qū)域及質(zhì)量方面差異很大。為了獲得 具有高質(zhì)量的地圖,可能需要對來自多個源的數(shù)據(jù)加以組合。例如, 一個數(shù)據(jù)集 可能具有對一機(jī)場區(qū)域及機(jī)場跑道的最詳細(xì)的概述,而另一數(shù)據(jù)集可能具有關(guān)于 可將機(jī)場標(biāo)記布置于何處及一在產(chǎn)生來往于所述機(jī)場的駕駛方向使應(yīng)使用的位置的信息。為了從多個地圖數(shù)據(jù)集中獲得最佳的一個,可對地圖涂畫模塊310進(jìn)行配置以從不同源中獲得不同的信息集而不是只從一個數(shù)據(jù)集中獲得。當(dāng)所述地圖區(qū)域覆蓋多個國家甚至多個洲時, 一可供在多個縮放級用作拼圖 的大的連續(xù)地圖這一概念也具有吸引力。同樣,可使用前面所述用于將一地圖繪 圖劃分成子區(qū)域并存取可供用于不同國家的地圖拼圖集的方法來構(gòu)建此種系統(tǒng)。 這意味著并非僅僅是一張美國地圖,而是可針對整個北美大陸甚至整個行星以各 種各樣的縮放級來產(chǎn)生單張連續(xù)地圖。 拼圖的提供如根據(jù)本揭示內(nèi)容將易知,可按多種方式來實(shí)施拼圖的提供。 一種方法是賦 予每一拼圖一文件名并將其作為一單獨(dú)文件存儲起來。然后,可將所述拼圖置于 一服務(wù)器上,由所述服務(wù)器就地或通過一網(wǎng)絡(luò)根據(jù)請求來提供所述文件。對于一 基于網(wǎng)絡(luò)的系統(tǒng)而言,此服務(wù)器可為一根據(jù)緯度、經(jīng)度及縮放級為每一拼圖命名 的HTTP服務(wù)器。此方法可能會對所述服務(wù)系統(tǒng)施加一定的壓力,尤其當(dāng)拼圖數(shù) 量可變得很大時。有許多方法能夠?qū)σ环?wù)系統(tǒng)進(jìn)行組配以減輕由大量拼圖造成的壓力。例 如,接收到一對地圖拼圖的請求的系統(tǒng)可存取一個或多個分別包含整個拼圖集或 其一拼圖子集的有效存儲媒體(例如本地高速緩存器),且隨后可從所述存儲媒 體中檢索一拼圖,并響應(yīng)于一請求來傳遞所述拼圖。圖8為一根據(jù)本發(fā)明一實(shí)施例配置而成的地圖拼圖服務(wù)系統(tǒng)的一方塊圖。此 實(shí)例性配置一其可用于構(gòu)建圖1所示的拼圖服務(wù)系統(tǒng)115 —嘗試著使所述系統(tǒng)在 所述存儲系統(tǒng)的一部分失敗的情況下作出適當(dāng)響應(yīng),并還能夠處理大的拼圖集及 大量的業(yè)務(wù)量。由圖可見,所述拼圖服務(wù)系統(tǒng)包括兩種類型的拼圖服務(wù)器拼圖前端(TFE) 及拼圖后端(TBE)。這些服務(wù)器可通過一內(nèi)部網(wǎng)絡(luò)或其它媒體進(jìn)行通信。來自 所述系統(tǒng)外部(例如通過外部網(wǎng)絡(luò))的對拼圖的請求通過一實(shí)施一負(fù)載平衡方案 的請求分配子系統(tǒng)均勻地分布于各TFE之間。然后,所涉及的TFE自適當(dāng)?shù)腡BE 請求地圖拼圖,并將其回送至請求方。在一可能的實(shí)施方式中,可將所有拼圖存儲于每一 TBE的磁盤存儲設(shè)備上 (例如存儲裝置220中,其也可能是拼圖存儲器300)。此處,所述磁盤存儲設(shè)備 的使用方式是每當(dāng)一 TFE請求一拼圖時,包含所述拼圖的8x8塊中的64塊拼圖 中的其余拼圖也自所述磁盤中讀出,并可合理地預(yù)期所述其余拼圖處于所述TBE 上的存儲器高速緩存器中(例如主存儲器210中)。此實(shí)施例使用一8x8拼圖塊, 以便提供總共64塊處于相同縮放級的毗鄰的拼圖。其它實(shí)施例可使用其它塊尺 寸(例如NxN或MxN)。因此,可無需進(jìn)行磁盤存取且因此可更加有效地處理任何對來自同一 TBE 的同一 8x8塊中拼圖的后續(xù)請求,除非所述8x8塊已被最近的請求擠出所述存儲 器高速緩存器。如果確實(shí)如此,可自磁盤讀取所請求的拼圖,且可能重新將所述 8x8塊置于所述存儲器高速緩存器中。因此,如果將一 TBE上存儲器高速緩存器 的大小與對經(jīng)常受到存取的拼圖的請求量之間的平衡考慮在內(nèi),則可通過所述存 儲器高速緩存器來處理所述請求中的高的百分比,從而使每一TBE更加有效。
在一實(shí)施例中,可使用TFE在各TBE中分配請求,以使其可按一種在自存 儲器高速緩存器提供盡可能多的拼圖而不使用一不合理數(shù)量的TBE與同時還能 夠有效地提供整個拼圖集合之間保持合理平衡的方式工作。為了增加自存儲器高 速緩存器提供的拼圖的百分比,可能需要使所有TFE將對一給定拼圖(例如,或 8x8拼圖集)的請求引向同一TBE,及/或可能需要均勻地分配TBE上的負(fù)載, 從而更加充分地利用每一 TBE。例如,假定有20個TBE,且每一個均能夠高速緩存整個地圖的1/20。因此, 任何一個對地圖數(shù)據(jù)的請求均可由一對應(yīng)的TBE使用其高速緩存器來加以處理。 如果一個TBE失敗,則可在其余19個TBE中分配其負(fù)載。在此種情況下,每一 其余TBE的高速緩存器均將最終增大(在一"學(xué)習(xí)"周期后)成包括其所分擔(dān)的所 述失敗的TBE負(fù)載的一部分。在一實(shí)施例中,可通過在每一 TFE上使用相同的散列函數(shù)來構(gòu)建這些功能。 所述散列函數(shù)返回(或可用于計算)可自其請求一給定拼圖的TBE的數(shù)量。由 于在一實(shí)施例中所述拼圖以8x8塊的形式存儲在存儲器中,因此應(yīng)自同一 TBE 請求一塊中的每一拼圖。在此實(shí)施方式中,可使用一基于經(jīng)度及緯度的x及y值 及一代表繪制所述拼圖的縮放級的z值對每一拼圖依序編號于的。在一實(shí)施例中, 可對塊以同樣方式進(jìn)行編號,使其x及y等于對其所含拼圖的任一個x及y值對 實(shí)施一整除以8的結(jié)果。因此,可將一實(shí)施例中的散列函數(shù)稱作Hash (x除以8, y除以8, z)。然后,可將所述散列函數(shù)所返回的值用于計算一對應(yīng)于所要使用 的TBE的數(shù)量,如Hash (x除以8, y除以8, z)模N,其中N為所述系統(tǒng)中 TBE數(shù)量。此散列函數(shù)方法可有助于在所述系統(tǒng)達(dá)到一合理大小后,當(dāng)不知曉負(fù)載將如 何在各個拼圖之間分配時,使所述負(fù)載均勻地分布配于一拼圖服務(wù)系統(tǒng)上。然而, 此方法并未解決在其中一個TBE停止工作的情況下使所述系統(tǒng)適當(dāng)工作的問題。為了解決此問題,在一實(shí)施例中,可對所述散列函數(shù)添加另一輸入,具體而 言,所作自所述TBE檢索所述拼圖的嘗試次數(shù)。在此實(shí)施例中,可將所述散列 函數(shù)描述為Hash (x除以8, y以除8, z,嘗試次數(shù))。因此,如果一 TFE在其 首次嘗試從一 TBE中檢索一拼圖時失敗,則其可通過使嘗試次數(shù)的起始值(例 如0或1)增加l來增大所述嘗試次數(shù),且隨后可重新執(zhí)行所述散列函數(shù),此現(xiàn) 在會將其帶至所述拼圖的下一 TBE。可重復(fù)此過程直至可檢索到所述拼圖或所述 嘗試次數(shù)達(dá)到一預(yù)設(shè)閾值(通常為一顯著大于所述系統(tǒng)中的TBE數(shù)的數(shù)值)為 止。此方法提供多個優(yōu)點(diǎn)。具體而言,如果一TBE失敗,則其通常所提供的拼 圖將改為由通過所述散列函數(shù)分配的其余TBE提供。此可在不在TFE或TBE中 進(jìn)行任何通信的情況下進(jìn)行,并可幾乎不影響整個系統(tǒng)的響應(yīng)時間。為了進(jìn)一步 增強(qiáng)所述系統(tǒng),在一實(shí)施例中,所述TFE可跳過對已在一短時間周期內(nèi)失敗的TBE的請求、或跳過一固定數(shù)量的對一失敗的TBE的請求、或其某一組合,以限制在所述系統(tǒng)內(nèi)傳播的失敗請求的數(shù)量。所述系統(tǒng)也可處理多個TBE的失敗,并可在所述失敗的TBE重新開始工作 或已被替換后一也許在一短的延遲(如果已采用前面所提及的用于減少失敗的請 求的時間或計數(shù)方法)后重新開始使用所述失敗的TBE。而且,例如, 一具有總 共N個TBE—其中這些TBE中的M個已失敗一的系統(tǒng)可在一時間周期后達(dá)到穩(wěn) 定并可作為一具有僅N-M個TBE的系統(tǒng)工作,因失敗的嘗試所導(dǎo)致的響應(yīng)時間 的少量增加除外。根據(jù)本文所述原理將易知諸多使用負(fù)載分擔(dān)方案的失敗恢復(fù)方 式。一地圖再現(xiàn)過程所產(chǎn)生的拼圖可包含一較大百分比的具有單種色彩的拼圖。 通常,此種情況可隨用于水面、陸地、公園、城市、校園及其它此類區(qū)域的色彩 而出現(xiàn)。由于其中具有相同的單種色彩的拼圖完全相同,因此所述TBE上所需 的存儲量可能因不單獨(dú)存儲這些拼圖而在一實(shí)施例中顯著減少。在一些實(shí)施方式 中,此可節(jié)省原本所需存儲空間的90+%。為了使所述系統(tǒng)能夠在一實(shí)施例中提供這些單色拼圖,可創(chuàng)建一包含關(guān)于已 創(chuàng)建的每一拼圖的信息(例如拼圖可為一常規(guī)拼圖、具有一特定色彩的單色拼圖、 一斷開的拼圖或一遺漏的拼圖)的索引。在一實(shí)施方式中,此種索引可存儲于所 述TFE上,以便每當(dāng)一單色拼圖受到請求時所述TFE能夠?qū)⒁痪哂姓_色彩的 拼圖發(fā)送至客戶機(jī)。這些一般性單色拼圖可存儲于所述TFE上的存儲器高速緩存 器(例如主存儲器210)中,以便盡可能有效地提供這些拼圖。所述索引也可存 儲于所述TBE機(jī)器上,在此種情況下會將一般的拼圖自所述TBE傳送至所述 TFE,并隨后傳遞至所述請求方。在另一實(shí)施例中,關(guān)于單色拼圖的信息可全部、針對地圖區(qū)域的一部分、或 針對單個拼圖存在于所述客戶機(jī)側(cè)。如果所述索引存在于所述系統(tǒng)的服務(wù)部分 上,則其可響應(yīng)于對所述信息的請求,且客戶機(jī)可只請求其當(dāng)前正在顯示的區(qū)域 的信息,并使用所述信息來避免請求單色拼圖。另一實(shí)施例將使所述TFE (或使 TBE經(jīng)由TFE)能夠不是以一拼圖而是通過返回所請求拼圖只包含某一色彩這一 信息來響應(yīng)于一對一拼圖的請求,且因此可在所述接收側(cè)上由一般性拼圖來替 換。在任何此類情況下,所述TBE或TFE均使所述遠(yuǎn)程計算裝置使用可就地得 到的單色地圖拼圖,以便無需提供此種拼圖。如根據(jù)本發(fā)明將易知,存在幾種根 據(jù)關(guān)于一所繪制地圖中整個拼圖集內(nèi)的單色拼圖的知識來實(shí)施優(yōu)化的方式。本文出于例示及說明目的提供了上述對本發(fā)明各實(shí)施例的說明。本文不打算 作為窮盡性說明或?qū)⒈景l(fā)明限定為所揭示的確切形式。根據(jù)本揭示內(nèi)容可做出許 多種修改及改變。本發(fā)明的范圍并非意欲受本詳細(xì)說明限制,而是僅受受隨附權(quán) 利要求書限制。
權(quán)利要求
1、一種用于為一基于拼圖的數(shù)字地圖描繪系統(tǒng)產(chǎn)生地圖拼圖的系統(tǒng),其包括一用于產(chǎn)生數(shù)字地像的地圖涂畫模塊;一用于根據(jù)所述數(shù)字地像產(chǎn)生地圖拼圖的拼圖制作器;及一用于存儲由所述拼圖制作器產(chǎn)生的地圖拼圖的拼圖存儲器。
2、 如權(quán)利要求1所述的系統(tǒng),其中所述地圖涂畫模塊可運(yùn)行以請求并接收 一給定區(qū)域的地理數(shù)據(jù),根據(jù)所述地理數(shù)據(jù)來產(chǎn)生所述數(shù)字地像。
3、 如權(quán)利要求2所述的系統(tǒng),其進(jìn)一步包括一地圖數(shù)據(jù)存儲器,其用于存儲一給定區(qū)域的所述地理數(shù)據(jù)的一個或多個集 合,所述集合可由所述地圖涂畫模塊存取。
4、 如權(quán)利要求3所述的系統(tǒng),其中所述地圖數(shù)據(jù)存儲器包括一組增強(qiáng)地圖 描繪格式(RMF)文件。
5、 如權(quán)利要求2所述的系統(tǒng),其進(jìn)一步包括一遠(yuǎn)程地圖描繪引擎(RME)庫,其配置有一應(yīng)用程序界面以使所述地圖涂 畫模塊能夠存取所述地理數(shù)據(jù)。
6、 如權(quán)利要求1所述的系統(tǒng),其中所述拼圖制作器根據(jù)一規(guī)定應(yīng)產(chǎn)生地圖 拼圖的區(qū)域及縮放級的配置文件來運(yùn)行。
7、 如權(quán)利要求6所述的系統(tǒng),其中所述配置文件進(jìn)一步規(guī)定至少一個所要 使用的地理數(shù)據(jù)集及應(yīng)如何繪制所述地圖,包括標(biāo)記布置信息。
8、 如權(quán)利要求6所述的系統(tǒng),其中所述拼圖制作器使用所述地圖涂畫模塊 來產(chǎn)生在所述配置文件中所規(guī)定的區(qū)域的所述數(shù)字地像。
9、 如權(quán)利要求6所述的系統(tǒng),其中所述拼圖制作器適于將所述配置文件中 所規(guī)定的大區(qū)域劃分成較小的區(qū)域,并使用所述地圖涂畫模塊來為這些較小的區(qū) 域產(chǎn)生所述數(shù)字地像。
10、 如權(quán)利要求1所述的系統(tǒng),其中所述拼圖制作器可運(yùn)行以將信息傳遞至 所述地圖涂畫模塊,自所述地圖涂畫模塊接收一基于所述所傳遞的信息的對應(yīng)數(shù) 字圖像,并將所述圖像劃分成拼圖。
11、 如權(quán)利要求l所述的系統(tǒng),其中所述拼圖制作器進(jìn)一步經(jīng)配置以將所產(chǎn) 生的地圖拼圖編碼成一所需圖像格式,并存儲所述經(jīng)格式化的地圖拼圖。
12、 如權(quán)利要求l所述的系統(tǒng),其中所述所需圖像格式為子像素位圖。
13、 如權(quán)利要求l所述的系統(tǒng),其進(jìn)一步包括一地圖拼圖服務(wù)系統(tǒng),其經(jīng)配置以響應(yīng)于來自一用戶的地圖請求而提供存儲 于所述拼圖存儲器中的地圖拼圖。
14、 如權(quán)利要求13所述的系統(tǒng),其中所述地圖拼圖服務(wù)系統(tǒng)進(jìn)一步包括 復(fù)數(shù)個前端拼圖服務(wù)器,其用于提供一個或多個由一用戶請求的地圖拼圖; 一請求分配器,其用于在所述復(fù)數(shù)個前端拼圖服務(wù)器之間分配地圖拼圖請求;及復(fù)數(shù)個后端拼圖服務(wù)器,其與所述復(fù)數(shù)個前端拼圖服務(wù)器以通信方式相耦 接,每一后端拼圖服務(wù)器均可存取由所述拼圖制作器產(chǎn)生的所述地圖拼圖,并經(jīng) 配置以向一對應(yīng)的前端拼圖服務(wù)器提供所請求的地圖拼圖。
15、 一種經(jīng)配置以響應(yīng)于來自一用戶的地圖請求來提供地圖拼圖的地圖拼圖 服務(wù)系統(tǒng),其包括復(fù)數(shù)個前端拼圖服務(wù)器,其用于提供一個或多個由一用戶請求的地圖拼圖; 一請求分配器,其用于在所述復(fù)數(shù)個前端拼圖服務(wù)器之間分配地圖拼圖請 求;及復(fù)數(shù)個后端拼圖服務(wù)器,其與所述復(fù)數(shù)個前端拼圖服務(wù)器以通信方式相耦 接,每一后端拼圖服務(wù)器均可存取所述地圖拼圖,并經(jīng)配置以向一對應(yīng)的前端拼 圖服務(wù)器提供所請求的地圖拼圖。
16、 如權(quán)利要求15所述的系統(tǒng),其中所述前端拼圖服務(wù)器中的至少一個服 務(wù)器可識別一個或多個單色地圖拼圖,并經(jīng)配置以提供所述單色地圖拼圖,而無 需自所述后端拼圖服務(wù)器之一中請求這些單色地圖拼圖。
17、 如權(quán)利要求16所述的系統(tǒng),其中所述一個或多個單色地圖拼圖存儲于 一包含于所述至少一個前端拼圖服務(wù)器中的存儲器高速緩存器中。
18、 如權(quán)利要求16所述的系統(tǒng),其中一用戶正在使用一計算裝置與所述至少一個前端服務(wù)器進(jìn)行通信,且所述至少一個前端服務(wù)器使所述計算裝置使用所 述計算裝置可就地得到的單色地圖拼圖,從而無需提供此種拼圖。
19、 如權(quán)利要求15所述的系統(tǒng),其中所述地圖拼圖中的每一拼圖均與一NxN 地圖拼圖塊相關(guān)聯(lián),且每當(dāng)一地圖拼圖受到請求時,均對對應(yīng)的NxN塊中的所 有N2個拼圖進(jìn)行高速緩存,從而減少對與這些地圖拼圖相關(guān)聯(lián)的將來磁盤存取 的需要。
20、 如權(quán)利要求15所述的系統(tǒng),其中所述后端服務(wù)器的數(shù)量使每一后端服 務(wù)器均可用于提供所述地圖拼圖的一特定子集,且每一后端服務(wù)器均能夠?qū)ζ鋵?應(yīng)的子集進(jìn)行高速緩存。
21、 如權(quán)利要求15所述的系統(tǒng),其中每一后端拼圖服務(wù)器均專用于提供所 述地圖拼圖的一子集,且每一前端拼圖服務(wù)器均經(jīng)配置以識別一適于滿足對一地 圖拼圖的一用戶請求的適當(dāng)?shù)暮蠖朔?wù)器。
22、 如權(quán)利要求21所述的系統(tǒng),其中每一前端拼圖服務(wù)器均使用一基于地 圖拼圖坐標(biāo)的散列函數(shù)來識別所述適當(dāng)?shù)暮蠖朔?wù)器。
23、 如權(quán)利要求15所述的系統(tǒng),其中響應(yīng)于一后端拼圖服務(wù)器無法提供其 地圖拼圖負(fù)載,每一前端拼圖服務(wù)器均經(jīng)配置以將所述負(fù)載分配于其余后端拼圖 服務(wù)器中。
24、 如權(quán)利要求23所述的系統(tǒng),其中每一前端拼圖服務(wù)器均使用一基于地 圖拼圖坐標(biāo)及一嘗試計數(shù)器的散列函數(shù)來分配所述負(fù)載。
25、 如權(quán)利要求15所述的系統(tǒng),其中所述地圖拼圖中的每一拼圖均與一NxN 地圖拼圖塊相關(guān)聯(lián),且每當(dāng)一地圖拼圖受到請求,便提供對應(yīng)的NxN塊中的所 有W個拼圖。
26、 如權(quán)利要求15所述的系統(tǒng),其進(jìn)一步包括一包括一拼圖制作器的地圖拼圖產(chǎn)生系統(tǒng),其用于產(chǎn)生所述地圖拼圖;及 一拼圖存儲器,其用于存儲所述所產(chǎn)生的地圖拼圖,其中無法在所述前端及 /或后端服務(wù)器的高速緩存中得到的地圖拼圖可自所述拼圖存儲器存取。
27、 一種基于拼圖的數(shù)字地圖描繪方法,其包括 根據(jù)數(shù)字地像產(chǎn)生地圖拼圖; 存儲所述地圖拼圖;及響應(yīng)于一用戶地圖請求而提供所述地圖拼圖中的一個或多個。
28、 如權(quán)利要求27所述的方法,其進(jìn)一步包括產(chǎn)生所述數(shù)字地像,其包括規(guī)定應(yīng)產(chǎn)生地圖拼圖的區(qū)域及縮放級。
29、 如權(quán)利要求28所述的方法,其中產(chǎn)生所述數(shù)字地像進(jìn)一步包括規(guī) 定至少一個所要使用的地理數(shù)據(jù)集、應(yīng)如何繪制所述地圖,包括標(biāo)記布置信息。
30、 如權(quán)利要求27所述的方法,其中存儲所述地圖拼圖包括將所述所產(chǎn)生 的地圖拼圖編碼成一所需圖像格式,并存儲所述經(jīng)格式化的地圖拼圖。
31、 如權(quán)利要求30所述的方法,其中所述所需圖像格式為子像素位圖。
32、 如權(quán)利要求27所述的方法,其中提供所述地圖拼圖中的一個或多個包 括對所述所提供的地圖拼圖進(jìn)行高速緩存。
33、 如權(quán)利要求27所述的方法,其進(jìn)一步包括 識別所述用戶的一計算裝置可就地得到的單色地圖拼圖。
34、 如權(quán)利要求27所述的方法,其中根據(jù)數(shù)字地像產(chǎn)生地圖拼圖包括 識別所要繪制的區(qū)域、及需要對每一區(qū)域進(jìn)行繪制的各個縮放級; 在所述不同縮放級下根據(jù)需要將所述區(qū)域劃分成子區(qū)域,以便可在一可用存儲器中對每一子區(qū)域進(jìn)行預(yù)先再現(xiàn);以一給定縮放級對每一子區(qū)域進(jìn)行預(yù)先再現(xiàn);將每一經(jīng)預(yù)先再現(xiàn)的子區(qū)域劃分成再現(xiàn)區(qū)域,以便可在所述可用存儲器中對 每一再現(xiàn)區(qū)域進(jìn)行再現(xiàn);及對所述再現(xiàn)區(qū)域進(jìn)行再現(xiàn),并將所得到的圖像劃分成地圖拼圖。
35、 如權(quán)利要求34所述的方法,其中處于一縮放級下的所述子區(qū)域中的每 一子區(qū)域均表示一任務(wù),從而提供一由區(qū)域及縮放級規(guī)定的任務(wù)列表,并對執(zhí)行 這些任務(wù)應(yīng)用并行處理。
36、 如權(quán)利要求34所述的方法,其中要向所述發(fā)出請求的用戶顯示的地圖 具有一分辨率,且在一比所要顯示的所述地圖的所述分辨率大N倍的分辨率下進(jìn) 行所述再現(xiàn),并將通過所述再現(xiàn)所產(chǎn)生的位圖用作輸入來產(chǎn)生拼圖作為子像素位 圖。
37、 如權(quán)利要求27所述的方法,其中從數(shù)字地像中產(chǎn)生地圖拼圖包括: 識別所要繪制的區(qū)域;將所述區(qū)域劃分成子區(qū)域,以便能夠在一可用存儲器中對每一子區(qū)域進(jìn)行預(yù) 先再現(xiàn);對每一子區(qū)域進(jìn)行預(yù)先再現(xiàn);將每一經(jīng)預(yù)先再現(xiàn)的子區(qū)域劃分成再現(xiàn)區(qū)域,以便可在所述可用存儲器中對 每一再現(xiàn)區(qū)域進(jìn)行再現(xiàn);及對所述再現(xiàn)區(qū)域進(jìn)行再現(xiàn)。
38、 一種用于根據(jù)數(shù)字地圖數(shù)據(jù)產(chǎn)生數(shù)字地圖拼圖的方法,其包括 識別所要繪制的區(qū)域、及需要對每一區(qū)域進(jìn)行繪制的各個縮放級; 在所述不同縮放級下根據(jù)需要將所述區(qū)域劃分成子區(qū)域,以便可在一可用存儲器中對每一子區(qū)域進(jìn)行預(yù)先再現(xiàn);在一給定縮放級下對每一子區(qū)域進(jìn)行預(yù)先再現(xiàn);將每一經(jīng)預(yù)先再現(xiàn)的子區(qū)域劃分成再現(xiàn)區(qū)域,以便能夠在所述可用存儲器中 對每一再現(xiàn)區(qū)域進(jìn)行再現(xiàn);對所述再現(xiàn)區(qū)域進(jìn)行再現(xiàn)以產(chǎn)生一圖像;及 將所述圖像劃分成地圖拼圖。
39、 如權(quán)利要求38所述的方法,其中預(yù)先再現(xiàn)每一子區(qū)域包括存取至少一 個地理數(shù)據(jù)集及一關(guān)于如何構(gòu)建所述數(shù)字地像的指令的表示形式。
40、 如權(quán)利要求39所述的方法,其中所述指令表示于一配置文件中。
41、 如權(quán)利要求38所述的方法,寸。
42、 如權(quán)利要求38所述的方法, 一預(yù)定的固定尺寸。
43、 如權(quán)利要求38所述的方法,其中所述子區(qū)域分別具有一預(yù)定的固定尺 其中所述子區(qū)域分別對于每一縮放級具有 其中預(yù)先再現(xiàn)決策能防止會造成問題的特征跨越子區(qū)域之間的邊界。
44、 如權(quán)利要求38所述的方法,其中對預(yù)先再現(xiàn)決策加以存儲以使其可用 于后續(xù)的預(yù)先再現(xiàn)任務(wù)。
45、 如權(quán)利要求38所述的方法,其中預(yù)先再現(xiàn)決策允許特征跨越子區(qū)域之 間的邊界。
46、 如權(quán)利要求45所述的方法,其中不允許同時預(yù)先再現(xiàn)與一邊界跨越特 征相關(guān)聯(lián)的兩個對齊的子區(qū)域。
全文摘要
本發(fā)明揭示能夠有效地在線提供美觀悅目的地圖的基于數(shù)字拼圖的地圖描繪技術(shù)。在一特定實(shí)施例中,一種基于圖像拼圖的數(shù)字地圖描繪系統(tǒng)配置成在一離線會話期間產(chǎn)生地圖拼圖,并在受到請求時將這些拼圖中的選定集合提供至一客戶機(jī)。本發(fā)明還提供在一基于拼圖的地圖描繪系統(tǒng)中用于例如在一地圖標(biāo)記跨越地圖拼圖邊界時處理地圖標(biāo)記及其它此類特征的解決方案??稍谒鱿到y(tǒng)中采用各種處理環(huán)境(例如服務(wù)器或其它計算裝置)。
文檔編號G06G5/00GK101156158SQ200580013512
公開日2008年4月2日 申請日期2005年3月23日 優(yōu)先權(quán)日2004年3月23日
發(fā)明者史蒂芬·瑪, 延斯·艾爾斯特拉普·拉斯馬森, 拉爾斯·艾爾斯特拉普·拉斯馬森 申請人:咕果公司