地图数据快速渲染------基于传统GIS平台多服务器切片
? ? 傳統的地理信息平臺顯示矢量數據的方式或柵格數據,是直接渲染在軟件上進行展示,需要配以專業的地圖軟件、符號庫、字體庫等內容。隨著BS端對于地圖展示的要求,傳統的渲染方式已經不能滿足要求(需要的前置條件太多,而且地圖信息越豐富其渲染越慢,彼時PC的顯卡及CPU也都比較弱),于是誕生了瓦片地圖。瓦片地圖的定義如下:
? ? ?瓦片地圖金字塔模型是一種多分辨率層次模型,從瓦片金字塔的底層到頂層,分辨率越來越低,但表示的地理范圍不變。首先確定地圖服務平臺所要提供的縮放級別的數量N,把縮放級別最高、地圖比例尺最大的地圖圖片作為金字塔的底層,即第0層,并對其進行分塊,從地圖圖片的左上角開始,從左至右、從上到下進行切割,分割成相同大小(比如256x256像素)的正方形地圖瓦片,形成第0層瓦片矩陣;在第0層地圖圖片的基礎上,按每2x2像素合成為一個像素的方法生成第1層地圖圖片,并對其進行分塊,分割成與下一層相同大小的正方形地圖瓦片,形成第1層瓦片矩陣;采用同樣的方法生成第2層瓦片矩陣;…;如此下去,直到第N一1層,構成整個瓦片金字塔。(摘自百度百科)
? ? ?瓦片地圖雖然解決了在在BS端地圖數據的展示,但是隨之而來的就是,需要大量的前期預處理的工作來對瓦片數據的生產。從地圖的配圖,到生成一個完整能發布的瓦片地圖服務,需要大量的時間(傳統的GIS軟件瓦片地圖的生產,多是采用單機程序)。即使數據采集工藝完善,數據更新頻率高,但是依然需要大量的時間來進行瓦片數據的生產,從而在BS端的客戶所看到的數據滯后非常嚴重。
? ? ? 在沒有使用云計算的年代,為了提高瓦片地圖的生產效率,各個廠商采用了很多辦法。
? ? ?其中我比較欣賞的辦法,也是為現在實時渲染提供理論依據的辦法是。使用多個服務器/PC,并行生產的方式。
假設現在有四臺服務器(訪問同一塊共享存儲),將原有的地圖數據,劃分為四塊有相交的區域。將四個區域的數據獲取到這四臺服務器上,這四臺服務器根據統一的瓦片生產規則對數據進行生產,將生產好的瓦片數據放置到共享存儲的同一目錄下(目錄的結構、瓦片的命名規則也統一)。這樣,將原有的一臺服務器進行生產的方式變更為四臺服務器同時進行生產,可以將瓦片數據的生產效率極大的提升。
總結
以上是生活随笔為你收集整理的地图数据快速渲染------基于传统GIS平台多服务器切片的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 谈谈GIS三维渲染引擎
- 下一篇: Nginx代理概述及环境准备