1.首先下載war包,在tomcat中解壓后,會在WEB-INF目錄下找到一系列配置文件,先找到web.xml,然后在web-app根元素下添加:
<context-param>
<param-name>GEOWEBCACHE_CACHE_DIR</param-name>
<param-value>D:/data/cache</param-value>
</context-param>
注意,Param-value元素就是要存放GeoWebCache瓦片的位置,可自定義。
2.更改完成后,重啟Tomcat,之后在D:/data/cache下會生成一些文件。其中包含geowebcache.xml,這個文件是geowebcache的配置的關鍵所在,在最后會貼上參考配置文件信息。
3.之后可以進入:http://localhost:8080/geowebcache/demo,點擊Reload Configuration
Paste_Image.png
第一次點擊該按鈕是會出現登錄窗口,配置文件是在WEB-INF下的user.property。
Paste_Image.png
Geowebcache是用戶名,secured是密碼,均可自定義。
點擊seed this layer。
Paste_Image.png
設置完畢就開始切圖。
可以點開相應的切片地圖文件夾進行查看。
Paste_Image.png
Paste_Image.png
如果要將GeoServer上的WMS服務整合進GeoWebCache中,要執行以下步驟:
打開緩存圖片路徑下的配置文件geowebcache.xml。在<layers>下添加<wmsLayer>。
Paste_Image.png
Paste_Image.png
附:
參考geowebcache.xml文件
<?xml version="1.0" encoding="utf-8"?>
<gwcConfiguration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://geowebcache.org/schema/1.2.2/geowebcache.xsd"
xmlns="http://geowebcache.org/schema/1.2.2">
<!-- ============================== 全局設置 ======================================== -->
<!-- 以下控制包含了自動更新,當你手動更新這些配置的時候,更新以上這些和命名空間 -->
<version>1.2.1</version>
<!-- 可選:這是對HTTP協議連接到WMS后端的全局超時設置。它由連接和傳輸這兩方面決定,因此如果數據傳回很慢的話,實際的超時發生的閥值可能比它更長一些 -->
<backendTimeout>120</backendTimeout>
<!-- 可選:如果設置為true,你可以添加cache=false來請求,那么他們可以使用無緩存的代理 -->
<cacheBypassAllowed>false</cacheBypassAllowed>
<!-- 可選:缺省情況下GWC顯示簡單的運行時統計數據在首頁上 -->
<runtimeStats>true</runtimeStats>
<!-- 可選:使用一個HTTP用戶名來請求,由于HTT客戶端的設計包含了<a class='replace_word' title="Java SE知識庫" target='_blank' style='color:#df3434; font-weight:bold;'>Java</a>,這個設置時全局的-->
<httpUsername></httpUsername>
<!-- 可選:以上用戶名的密碼 -->
<httpPassword></httpPassword>
<!-- ============================== 全局格式修改器================================ -->
<!-- 可選:格式修改器,這些也可以通過對各個圖層單獨定義 -->
<formatModifiers>
<!-- 能夠有一個和多個這樣的元素 -->
<formatModifier>
<!-- 必要:應用于JPEG -->
<responseFormat>image/jpeg</responseFormat>
<!-- 可選:從后端的PNG請求時,阻止雙重壓縮 -->
<requestFormat>image/png</requestFormat>
<!-- 可選:透明度支持 -->
<transparent>false</transparent>
<!-- 可選:背景顏色 -->
<bgColor>0x0066DD</bgColor>
<!-- 可選WMS服務器使用的調色板 -->
<palette>somepalette</palette>
<!-- 可選:調節壓縮等級,1.0是最佳質量 -->
<compressionQuality>0.9</compressionQuality>
</formatModifier>
</formatModifiers>
<!-- ============================ 網格設置(GRID SETS)============================= -->
<!-- 可選:網格集合。如果這里沒有任何設置,唯一可用的將是全球的EPSG:4326和EPSG:900913,另外,他將應用于所有為GetCapabilities配置而自動生成 -->
<gridSets>
<!-- 可以有一個或多個這樣的元素 -->
<gridSet>
<!--必要:name,extent,SRS -->
<name>The Entire World</name>
<!-- 必要:SRS用于WMS請求,對所有那些沒有指定grid set的服務,退回尋找的方法。目前,只接受EPSG代碼,指定相應的數據 -->
<srs><number>4326</number</srs>
<!-- 必要:grid set的bounding box,可以設置為在給定可用SRS中最大值,然后在后面用gridSubset元素來限制它 -->
<extent>
<coords>
<double>-180.0</double>
<double>-90.0</double>
<double>180.0</double>
<double>90.0</double>
</coords>
</extent>
<!-- 可選:選擇網格是否使用左上角為起始點,缺省情況下是左下角為起始點 -->
<alignTopLeft>false</alignTopLeft>
<!-- 可選:缺省情況下,GWC將嘗試匹配extent到一個瓦片,然后為每個子后繼縮放等級四等分這個瓦片。除此之外,你可以指定特定的分辨率(resolutions)來組織。resolution的計算式按照每像素(pixel)的地圖的(map degrees)度,那么180degrees/256pixel=0.703125 -->
<resolutions>
<double>0.703125</double>
<double>0.3515625</double>
<double>0.17578125</double>
</resolutions>
<!-- 可選:作為選擇,可以使用比例尺(scale)作為分母的方式,OGC流行聲明一個像素(pixel)=0.28mm,按此種方式計算。數值的順序必須是降序(因為是分母 -->
<scaleDenominators>
<double>25000000</double>
<double>2500000</double>
<double>250000</double>
<double>50000</double>
</scaleDenominators>
<!-- 可選:如果四分法足夠好,但是你想限制縮放的等級,可以設置等級總數 -->
<levels>20</levels>
<!-- 可選:一個地圖圖元(1 map unit)的值在真實世界中的單位,用于大概的比例尺計算以及常常不是很精確。對于經緯度(lat/lon)應該使用地球周長(earth circumference)/360.0度(degrees)=111226.31。對于英尺(feet)應該用0.3048 -->
<metersPerUnit>111226.31</metersPerUnit>
<!-- 可選:單個像素表示一米的大小,OGC標準中WMS1.3.0和WMTS聲明為0.28mm/pixel,相當于90.71428571428572DPI -->
<pixelSize>0.00028</pixelSize>
<!-- 可選:如WMTS之類的協議,支持命名的比例尺。如果要自定義名稱,要確保和所定義的比例尺(scale)或分辨率(resolution)一致的順序。 -->
<scaleNames>
<string>Low Resolution</string>
<string>Medium Resolution</string>
<string>High Resolution</string>
</scaleNames>
<!-- 可選:瓦片尺寸,以像素為單位 -->
<tileHeight>256</tileHeight>
<tileWidth>256</tileWidth>
</gridSet>
</gridSets>
<!-- ===========================圖層(LAYERS)================================= -->
<layers>
<wmsLayer>
<!-- 必要:名稱用于客戶端請求對應圖層,和WMS不同的是,它能夠包含逗號,成為對圖層組聯合的請求 -->
<name>Some Layer</name>
<!-- 可選:元信息為人描述圖層 -->
<metaInformation>
<title>A nice title for this layer</title>
<description>A description of what this data displays</description>
</metaInformation>
<!-- 可選:指定圖層支持的格式。缺省情況下,支持image/png和image/jpeg。其他可選包括image/png;mode=24bit,image/png24,image/png8,image/tiff,image/gif -->
<mimeFormats><string>image/png</string><string>image/jpeg</string></mimeFormats>
<!-- 可選:參考全局設置(global setting)中相同的名稱 -->
<formatModifiers>...</formatModifiers>
<!-- 可選:缺省情況下,對EPSG:4326和EPSG:900913,圖層時可用的。這種行為將被gridSubset指定的所覆蓋,同時,這也可以指定一個圖層只對一個grid的subset可用 -->
<gridSubsets>
<gridSubset>
<!-- 必要:grid set的名稱對圖層默認的EPSG4326和EPSG900913可用,但是一下示例演示如何指向一個預先定義的grid set -->
<gridSetName>The Entire World</gridSetName>
<!-- 可選:grid subset的bounding box,可以縮小之前指定的范圍,如果不指定,則保持最大范圍(之前指定)-->
<extent>
<coords>
<double>-60.0</double>
<double>-70.0</double>
<double>-20.0</double>
<double>-80.0</double>
</coords>
</extent>
<!-- 可選:縮放起始,以0為基點 -->
<zoomStart>0</zoomStart>
<zoomStop>25</zoomStop>
</gridSubset>
</gridSubsets>
<!-- 可選:(1.2.2)更新源是數據傳輸,告訴GeoWebCache何時內容過期 -->
<updateSources>
<!-- 一個GeoRSS GML傳輸,參見http://www.georss.org/gml -->
<geoRssFeed>
<!-- 一個參數化的URL獲取GeoRSS GML數據源,如果插入${lastUpdate}到URL,${lastUpdate}將替換最近一次從這個源處理過的更新的時間戳 -->
<feedUrl>http://someserver/georss?layers=somelayer&lastupdate=${lastUpdate}&srs=EPSG:4326</feedUrl>
<!-- grid set的id,數據源的geometries將以和這個grid set同樣的SRS給出 -->
<gridSetId>EPSG:4326</gridSetId>
<!-- 查看源的頻率,以秒為單位 -->
<pollInterval>600</pollInterval>
<!-- 可選:操作表現,默認是截斷(刪簡?truncate)的 -->
<operation>reseed</operation>
<!-- 可選:默認格式與layer相同,但可以指定特殊形式 -->
<format>image/png</format>
<!-- 可選:如果操作不是截斷的(truncate),指定線程數量可以并行處理。多格式就是并行處理。若此處設置線程書偉2,圖層有3中格式(且GeoRssFeed沒有指定格式),那么總共的線程數將是3*2=6 -->
<seedingThreads>2</seedingThreads>
<!-- 可選:GWC渲染geometries到bitmask,然后使用它決定哪個瓦片受到影響。每個像素代表一個瓦片,那么一個這樣的bitmask必須對每個縮放界別創建。這個設置控制最大縮放等級的層次書,以及內存使用。10到12是一個較好的折中。二次抽樣(subsampling)用于層次(levels),這里不包含。 -->
<maxMaskLevel>11</maxMaskLevel>
</geoRssFeed>
</updateSources>
<!-- 可選:(TODO, see XSD documentation) -->
<requestFilters></requestFilters>
<!-- 可選: (1.2.2) 當瓦片創建以后,提供基于ETags。注意大多數瀏覽器僅僅只是在由超出expireClients[List]定義的時間之后才調用它。默認這個特性是關閉的 -->
<useETags>true</useETags>
<!-- 必要:到WMS服務的一個或多個URL就像在后端一樣的方法使用 -->
<wmsUrl><string>http://yourserver/path/wms-service</string></wmsUrl>
<!-- 可選:LAYERS=的值將被發送到后端服務器,如果沒有指定,此圖層元素的名字將被使用 -->
<wmsLayers>layer1,layer2</wmsLayes>
<!-- 可選:STYLES=的值將被發送到后端服務器,如果沒有指定,將使用一個空字符串 -->
<wmsStyles></wmsStyles>
<!-- 可選:“元瓦片”(metatiling)元素用于此圖層,如果未指定,3*3的“元瓦片(metatiling)”用于圖像格式 -->
<metaWidthHeight><int>3</int><int>3</int></metaWidthHeight>
<!-- 可選:“溝(gutter間隔?)”用像素指定間隔,以及代表額外的在圖像周邊的padding,當瓦片創建完成后他們將被消除。對一些的WMS服務器有邊緣效應(edge dffects)的話,那么可以擦除它,但是他同樣對剪切的label造成影像。 -->
<gutter>0</gutter>
<!-- 可選:EXCEPTION=的值發送到后端服務器,同樣可以使用vnd.ogc.se_inimage,但是在這種情況下,GWC將不能分辨來自于可用瓦片的錯誤。 -->
<errorMime>application/vnd.ogc.se_xml</errorMime>
<!-- 可選:VERSION=的值發送到后端服務器,默認版本是1.1.0 -->
<wmsVersion>1.1.0</wmsVersion>
<!-- 可選:TILED=的值發送到后端服務器,應該一般地省略 -->
<tiled>false</tiled>
<!-- 可選:TRANSPARENT=的值發送到后端服務器,一般設置為true,但是不適用于JPEG格式,但見formatModifiers -->
<transparent>true</transparent>
<!-- 可選:背景顏色以16進制表示,注意背景色和透明度是相互獨立的 -->
<bgColor>0xFF00AA</bgColor>
<!-- 可選:PALETTE=的值,調色板的值發送到后端服務器,這個參數常常省略 -->
<palette><palette>
<!-- 可選:任何其他需要隨每次請求發送到后端服務器的參數,如果需要,值應該是后綴在URL字符之下,用&分隔開。MapServer典型的參數如map= value,參數常常留有空白 -->
<vendorParameters></vendorParameters>
<!-- 可選:一個瓦片在服務器保持可用的秒數。后續請求將取回的結果是一個新的瓦片。默認是永久cache。參數列表應該常常以minZoom="0"開頭,然后單調遞增。特殊值:-1表示從不緩存,-2表示從不過期 -->
<expireCacheList>
<expirationRule minZoom="0" expiration="14400" />
<expirationRule minZoom="10" expiration="7200" />
</expireCacheList>
<!-- 可選:客戶端從GWC收到瓦片之后,需要緩存的時間(秒為單位)。默認值使用和WMS服務器提供的過期時間相同。如果值不可用,緩存2小時,參見expireCacheList -->
<expireClientsList>
<expirationRule minZoom="0" expiration="7200" />
<expirationRule minZoom="10" expiration="600" />
</expireClientsList>
<!-- 可選:參見全局backendTimeout描述 -->
<backendTimeout></backendTimeout>
<!-- 可選:選擇是否客戶端能夠后續&cached=false參數,以及使用GWC為代理或者是作為服務翻譯者(service translator) -->
<cacheBypassAllowed></cacheBypassAllowed>
<!-- 可選:是否此圖層在getcapabilities文檔中將可查詢(query),以及代理getfeatureinfo請求到后端服務器。默認情況是false -->
<queryable>false</queryable>
<!-- 可選: (TODO, see XSD documentation) -->
<paramaterFilters></parameterFilters>
<wmsLayer>
<layers>
</gwcConfiguration>