獨立部署GeoWebCache


在進行GIS項目開發中,常使用Geoserver作為開源的地圖服務器,Geoserver是一個JavaEE項目,常通過Tomcat進行部署。而GeoWebCache是一個采用Java實現用於緩存WMS-Tile(瓦片)的開源項目。當客戶端請求一張新地圖和Tile時,GeoWebCache將攔截這些調用然后返回緩存過的Tiles。 本文主要講述獨立部署GeoWebCache,並且復用已經切好的瓦片緩存。

在實際項目中,需要對比較大數據量的地圖切緩存,例如全國地圖,並且移植復用,進行私有雲部署。那么如果用GeoWebCache直接發布已經切好的緩存呢?

一、下載安裝GeoWebCache(GWC)

不知為何,GeoWebCache官網竟然無法訪問,這里直接給出下載地址:geowebcache-1.14.1-war.zip

這里是各個版本的列表:https://sourceforge.net/projects/geowebcache/files/geowebcache

注意:安裝GWC前提還是要安裝java jre(或者jdk),安裝Tomcat,這里就不贅述了,不明白可以看之前的文章:基於Tomcat安裝Geoserver

將geowebcache的war包拷貝到tomcat的webapps目錄下即可,啟動tomcat,輸入http://localhost:8080/geowebcache,顯示如下界面說明安裝成功。

點擊“A list of all the layers and automatic demos”鏈接即可進入緩存圖層列表,默認有三個圖層:

二、修改緩存目錄

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”節點只能有一個鍵值對。

重啟tomcat,發現D:\GISData\gwccache目錄多了一些文件:

三、復用瓦片緩存文件,發布wms圖層

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即可:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM