1. 程式人生 > >geoserver釋出多層級地圖資料(大圖拼接/MBTilers規範)

geoserver釋出多層級地圖資料(大圖拼接/MBTilers規範)

應用場景

我是革命一塊磚,哪裡需要往哪搬!哈哈,身為全棧做的活挺多了,不過公司最近要用geoserver釋出地圖服務,又要開始了一個陌生的領域的探索。
Geoserver是一款開源免費的地圖伺服器,功能十分強大。或許我們會碰到這樣一個場景,工作在內網下,不能使用外網的天地圖資源(手動笑cry),這時我們只能把需要的地圖下載下來用geoserver釋出了。然而對於多層級的資料地圖資料釋出方案不是很明確。我們用一些地圖下載器下載的資源一般可以分為三種吧:大圖拼接(.tif)格式,各種規範的瓦片,各種規範的瓦片包。

多層級地圖 MBTilers規範資料釋出

1.配置Geoserver
Geoserver預設是不支援MBTilers資料的,但齊官網也給我們提供擴充套件jar包,我們只需官網下載對應的擴充套件jar即可,如果你的Geoserver沒有配置過wps服務,需要額外下載

geoserver-2.9.3-wps-plugin.zip包(我的geoserver版本是2.9.3,你們只需要下對應自己的版本即可),然後再去下載MBTilers包geoserver-2.9-SNAPSHOT-mbtiles-plugiin.zip這個包,下載下來直接把裡面所有的jar包解壓到你們安裝路徑下的/webapps/geoserver/WEB-INF/lib檔案下,重啟geoserver即可。

2.釋出資料
其實配置完了,釋出就是很簡單的事情,跟釋出普通的資料一樣。
這裡寫圖片描述
可以看到多了一個MBTilers選項,在裡面進行相應的配置就好了,對了,資料檔案一定要放在安裝路徑下的/data_dir資料夾下。

多層級地圖 大圖拼接格式

要釋出這些多層級的資料還真需要點探索,對於大圖拼接的.tif資料,主要是解決多層級的問題,我們可以使用直接載入GeoTIFF資料,在釋出圖層介面,我們Tile Caching(瓦片快取)進行設定,這裡面就是設定一下Gridset這個屬性,就是設定切片的規則,選擇所需的座標系,以及縮放的層級即可。設定完後,點選左側的Tile Layers,點選我們剛釋出圖層的Seed/Truncate!這裡寫圖片描述
主要對紅框中的Zoom start(縮放層級開始),Zoom stop進行設定時。

重點來了
我們在下載多層級地圖時,每個層級會得到一個.tif檔案,然而我們用GeoTIFF釋出時資料來源只能選擇一個tif檔案,我們只能一個層級.tif檔案釋出一次,然後用geoserver的對其進行切圖,上面的紅框中就是我們選擇的一個tif資料進行切圖設定,所以我們填一樣的,假設我們這個tif資料是第12層級的,我們便填寫12。依次迴圈對不同層級的tif檔案處理完成後,可以去geoserver的安裝路徑下的/data_dir/gwc目錄下檢視我們切完的資料,然後把我們多個tif資料目錄合在一起,在geoserver管理介面的tile caching中的select one中隨便選擇一個預覽就能看到我們多層級的資料了。

效果圖:
這裡寫圖片描述