在進行GIS項目開發中,常使用Geoserver做爲開源的地圖服務器,Geoserver是一個JavaEE項目,常經過Tomcat進行部署。而GeoWebCache是一個採用Java實現用於緩存WMS-Tile(瓦片)的開源項目。當客戶端請求一張新地圖和Tile時,GeoWebCache將攔截這些調用而後返回緩存過的Tiles。 本文主要講述獨立部署GeoWebCache,而且複用已經切好的瓦片緩存。java
在實際項目中,須要對比較大數據量的地圖切緩存,例如全國地圖,而且移植複用,進行私有云部署。那麼若是用GeoWebCache直接發佈已經切好的緩存呢?web
不知爲什麼,GeoWebCache官網居然沒法訪問,這裏直接給出下載地址:geowebcache-1.14.1-war.zip緩存
這裏是各個版本的列表:https://sourceforge.net/projects/geowebcache/files/geowebcachetomcat
注意:安裝GWC前提仍是要安裝java jre(或者jdk),安裝Tomcat,這裏就不贅述了,不明白能夠看以前的文章:基於Tomcat安裝Geoserver服務器
將geowebcache的war包拷貝到tomcat的webapps目錄下便可,啓動tomcat,輸入http://localhost:8080/geowebcache,顯示以下界面說明安裝成功。
app
點擊「A list of all the layers and automatic demos」連接便可進入緩存圖層列表,默認有三個圖層:
webapp
GWC默認的數據緩存目錄在%temp%\geowebcache中,咱們將其修改至D:\GISData\gwccache測試
進入tomcat目錄,在\webapps\geowebcache\WEB-INF中修改web.xml文件,加入以下內容:大數據
<context-param> <param-name>GEOWEBCACHE_CACHE_DIR</param-name> <param-value>D:\GISData\gwccache</param-value> </context-param>
注意: 一個「context-param」節點只能有一個鍵值對。url
重啓tomcat,發現D:\GISData\gwccache目錄多了一些文件:
1.將以前緩存好的瓦片拷貝到D:\GISData\gwccache目錄下:
緩存文件夾名稱即爲要發佈的圖層名稱,打開後層級目錄以下,以gridset名稱和zoom等級命名:
2.打開D:\GISData\gwccache\geowebcache.xml文件,在Layers節點下加入以下代碼:
<wmsLayer> <!-- 這裏的name名稱要和上面緩存文件夾的名稱一致 --> <name>group_yingshi_xa_f1</name> <mimeFormats> <string>image/gif</string> <string>image/jpeg</string> <string>image/png</string> <string>image/png8</string> </mimeFormats> <gridSubsets> <gridSubset> <gridSetName>EPSG:4326</gridSetName> <!-- 這裏是緩存文件地圖的範圍 --> <extent> <coords> <double>108.940032958984</double> <double>34.2428131103516</double> <double>108.942024230957</double> <double>34.2460136413574</double> </coords> </extent> </gridSubset> </gridSubsets> <wmsUrl> <!-- 通過測試,若是你只是想發佈瓦片緩存地圖,這裏wmslayer url能夠隨便寫一個 --> <string>http://127.0.0.1/wms</string> </wmsUrl> </wmsLayer>
3.重啓tomcat服務器,會發現圖層列表中多了一個圖層:
4.以png方式瀏覽,緩存地圖加載成功:
經過openlayers訪問時會出現煩人的400錯誤,經過查看客戶端代碼發現,extend爲[-180,-90,180,90]
咱們只需改成地圖實際的extend便可: