1泛释、GeoWebCache簡介
GeoWebCache本質(zhì)就是一種切圖工具胳嘲,可以單獨下載進行配置使用,但是在geoserver1.7版本之后鸟召,geoserver本身集成了GeoWebCache這個模塊,這次介紹的GeoServer版本為2.11.3
2氨鹏、具體配置
在GeoServer安裝目錄中找到web.xml文件欧募,具體在目錄D:\Program Files (x86)\GeoServer\webapps\geoserver\WEB-INF下,打開web.xml文件仆抵,添加如下圖內(nèi)容跟继,配置切片緩存存放的目錄
<context-param>
<param-name>GEOSERVER_CACHE_IR</param-name>
<param-value>你的GeoWebCache緩存目錄</param-value>
</context-param>
如果只想更改GeoWebCache緩存路徑种冬,執(zhí)行這一步就可以了。
重新啟動GeoServer服務(wù)舔糖,發(fā)現(xiàn)在配置切片緩存存放目錄下多了以下幾個文件
如果不進行配置娱两,默認(rèn)情況下切片存放目錄在D:\Program Files (x86)\GeoServer\data_dir\gwc目錄下
在后面進行切片,我使用默認(rèn)目錄來作為切片緩存目錄
geowebcache.xml金吗,這個文件是geowebcache的配置的關(guān)鍵所在十兢,詳細配置如下
<?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">
<!-- ============================== 全局設(shè)置 ======================================== -->
<!-- 以下控制包含了自動更新,當(dāng)你手動更新這些配置的時候摇庙,更新以上這些和命名空間 -->
<version>1.2.1</version>
<!-- 可選:這是對HTTP協(xié)議連接到WMS后端的全局超時設(shè)置旱物。它由連接和傳輸這兩方面決定,因此如果數(shù)據(jù)傳回很慢的話卫袒,實際的超時發(fā)生的閥值可能比它更長一些 -->
<backendTimeout>120</backendTimeout>
<!-- 可選:如果設(shè)置為true宵呛,你可以添加cache=false來請求,那么他們可以使用無緩存的代理 -->
<cacheBypassAllowed>false</cacheBypassAllowed>
<!-- 可選:缺省情況下GWC顯示簡單的運行時統(tǒng)計數(shù)據(jù)在首頁上 -->
<runtimeStats>true</runtimeStats>
<!-- 可選:使用一個HTTP用戶名來請求夕凝,由于HTT客戶端的設(shè)計包含了<a class='replace_word' title="Java SE知識庫" target='_blank' style='color:#df3434; font-weight:bold;'>Java</a>宝穗,這個設(shè)置時全局的-->
<httpUsername></httpUsername>
<!-- 可選:以上用戶名的密碼 -->
<httpPassword></httpPassword>
<!-- ============================== 全局格式修改器================================ -->
<!-- 可選:格式修改器,這些也可以通過對各個圖層單獨定義 -->
<formatModifiers>
<!-- 能夠有一個和多個這樣的元素 -->
<formatModifier>
<!-- 必要:應(yīng)用于JPEG -->
<responseFormat>image/jpeg</responseFormat>
<!-- 可選:從后端的PNG請求時码秉,阻止雙重壓縮 -->
<requestFormat>image/png</requestFormat>
<!-- 可選:透明度支持 -->
<transparent>false</transparent>
<!-- 可選:背景顏色 -->
<bgColor>0x0066DD</bgColor>
<!-- 可選WMS服務(wù)器使用的調(diào)色板 -->
<palette>somepalette</palette>
<!-- 可選:調(diào)節(jié)壓縮等級讽营,1.0是最佳質(zhì)量 -->
<compressionQuality>0.9</compressionQuality>
</formatModifier>
</formatModifiers>
<!-- ============================ 網(wǎng)格設(shè)置(GRID SETS)============================= -->
<!-- 可選:網(wǎng)格集合。如果這里沒有任何設(shè)置泡徙,唯一可用的將是全球的EPSG:4326和EPSG:900913橱鹏,另外,他將應(yīng)用于所有為GetCapabilities配置而自動生成 -->
<gridSets>
<!-- 可以有一個或多個這樣的元素 -->
<gridSet>
<!--必要:name堪藐,extent莉兰,SRS -->
<name>The Entire World</name>
<!-- 必要:SRS用于WMS請求,對所有那些沒有指定grid set的服務(wù)礁竞,退回尋找的方法糖荒。目前,只接受EPSG代碼模捂,指定相應(yīng)的數(shù)據(jù) -->
<srs><number>4326</number</srs>
<!-- 必要:grid set的bounding box捶朵,可以設(shè)置為在給定可用SRS中最大值,然后在后面用gridSubset元素來限制它 -->
<extent>
<coords>
<double>-180.0</double>
<double>-90.0</double>
<double>180.0</double>
<double>90.0</double>
</coords>
</extent>
<!-- 可選:選擇網(wǎng)格是否使用左上角為起始點狂男,缺省情況下是左下角為起始點 -->
<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,按此種方式計算忠寻。數(shù)值的順序必須是降序(因為是分母 -->
<scaleDenominators>
<double>25000000</double>
<double>2500000</double>
<double>250000</double>
<double>50000</double>
</scaleDenominators>
<!-- 可選:如果四分法足夠好惧浴,但是你想限制縮放的等級,可以設(shè)置等級總數(shù) -->
<levels>20</levels>
<!-- 可選:一個地圖圖元(1 map unit)的值在真實世界中的單位奕剃,用于大概的比例尺計算以及常常不是很精確衷旅。對于經(jīng)緯度(lat/lon)應(yīng)該使用地球周長(earth circumference)/360.0度(degrees)=111226.31。對于英尺(feet)應(yīng)該用0.3048 -->
<metersPerUnit>111226.31</metersPerUnit>
<!-- 可選:單個像素表示一米的大小祭饭,OGC標(biāo)準(zhǔn)中WMS1.3.0和WMTS聲明為0.28mm/pixel芜茵,相當(dāng)于90.71428571428572DPI -->
<pixelSize>0.00028</pixelSize>
<!-- 可選:如WMTS之類的協(xié)議,支持命名的比例尺倡蝙。如果要自定義名稱九串,要確保和所定義的比例尺(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>
<!-- 必要:名稱用于客戶端請求對應(yīng)圖層猪钮,和WMS不同的是,它能夠包含逗號胆建,成為對圖層組聯(lián)合的請求 -->
<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>
<!-- 可選:參考全局設(shè)置(global setting)中相同的名稱 -->
<formatModifiers>...</formatModifiers>
<!-- 可選:缺省情況下扑馁,對EPSG:4326和EPSG:900913,圖層時可用的凉驻。這種行為將被gridSubset指定的所覆蓋腻要,同時,這也可以指定一個圖層只對一個grid的subset可用 -->
<gridSubsets>
<gridSubset>
<!-- 必要:grid set的名稱對圖層默認(rèn)的EPSG4326和EPSG900913可用涝登,但是一下示例演示如何指向一個預(yù)先定義的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)更新源是數(shù)據(jù)傳輸,告訴GeoWebCache何時內(nèi)容過期 -->
<updateSources>
<!-- 一個GeoRSS GML傳輸咽笼,參見http://www.georss.org/gml -->
<geoRssFeed>
<!-- 一個參數(shù)化的URL獲取GeoRSS GML數(shù)據(jù)源顷编,如果插入${lastUpdate}到URL,${lastUpdate}將替換最近一次從這個源處理過的更新的時間戳 -->
<feedUrl>http://someserver/georss?layers=somelayer&lastupdate=${lastUpdate}&srs=EPSG:4326</feedUrl>
<!-- grid set的id褐荷,數(shù)據(jù)源的geometries將以和這個grid set同樣的SRS給出 -->
<gridSetId>EPSG:4326</gridSetId>
<!-- 查看源的頻率勾效,以秒為單位 -->
<pollInterval>600</pollInterval>
<!-- 可選:操作表現(xiàn),默認(rèn)是截斷(刪簡?truncate)的 -->
<operation>reseed</operation>
<!-- 可選:默認(rèn)格式與layer相同叛甫,但可以指定特殊形式 -->
<format>image/png</format>
<!-- 可選:如果操作不是截斷的(truncate)层宫,指定線程數(shù)量可以并行處理。多格式就是并行處理其监。若此處設(shè)置線程書偉2萌腿,圖層有3中格式(且GeoRssFeed沒有指定格式),那么總共的線程數(shù)將是3*2=6 -->
<seedingThreads>2</seedingThreads>
<!-- 可選:GWC渲染geometries到bitmask抖苦,然后使用它決定哪個瓦片受到影響毁菱。每個像素代表一個瓦片,那么一個這樣的bitmask必須對每個縮放界別創(chuàng)建锌历。這個設(shè)置控制最大縮放等級的層次書贮庞,以及內(nèi)存使用。10到12是一個較好的折中究西。二次抽樣(subsampling)用于層次(levels)窗慎,這里不包含。 -->
<maxMaskLevel>11</maxMaskLevel>
</geoRssFeed>
</updateSources>
<!-- 可選:(TODO, see XSD documentation) -->
<requestFilters></requestFilters>
<!-- 可選: (1.2.2) 當(dāng)瓦片創(chuàng)建以后卤材,提供基于ETags遮斥。注意大多數(shù)瀏覽器僅僅只是在由超出expireClients[List]定義的時間之后才調(diào)用它。默認(rèn)這個特性是關(guān)閉的 -->
<useETags>true</useETags>
<!-- 必要:到WMS服務(wù)的一個或多個URL就像在后端一樣的方法使用 -->
<wmsUrl><string>http://yourserver/path/wms-service</string></wmsUrl>
<!-- 可選:LAYERS=的值將被發(fā)送到后端服務(wù)器扇丛,如果沒有指定术吗,此圖層元素的名字將被使用 -->
<wmsLayers>layer1,layer2</wmsLayes>
<!-- 可選:STYLES=的值將被發(fā)送到后端服務(wù)器,如果沒有指定帆精,將使用一個空字符串 -->
<wmsStyles></wmsStyles>
<!-- 可選:“元瓦片”(metatiling)元素用于此圖層较屿,如果未指定,3*3的“元瓦片(metatiling)”用于圖像格式 -->
<metaWidthHeight><int>3</int><int>3</int></metaWidthHeight>
<!-- 可選:“溝(gutter間隔?)”用像素指定間隔卓练,以及代表額外的在圖像周邊的padding隘蝎,當(dāng)瓦片創(chuàng)建完成后他們將被消除。對一些的WMS服務(wù)器有邊緣效應(yīng)(edge dffects)的話昆庇,那么可以擦除它末贾,但是他同樣對剪切的label造成影像。 -->
<gutter>0</gutter>
<!-- 可選:EXCEPTION=的值發(fā)送到后端服務(wù)器整吆,同樣可以使用vnd.ogc.se_inimage拱撵,但是在這種情況下,GWC將不能分辨來自于可用瓦片的錯誤表蝙。 -->
<errorMime>application/vnd.ogc.se_xml</errorMime>
<!-- 可選:VERSION=的值發(fā)送到后端服務(wù)器拴测,默認(rèn)版本是1.1.0 -->
<wmsVersion>1.1.0</wmsVersion>
<!-- 可選:TILED=的值發(fā)送到后端服務(wù)器,應(yīng)該一般地省略 -->
<tiled>false</tiled>
<!-- 可選:TRANSPARENT=的值發(fā)送到后端服務(wù)器府蛇,一般設(shè)置為true集索,但是不適用于JPEG格式,但見formatModifiers -->
<transparent>true</transparent>
<!-- 可選:背景顏色以16進制表示,注意背景色和透明度是相互獨立的 -->
<bgColor>0xFF00AA</bgColor>
<!-- 可選:PALETTE=的值务荆,調(diào)色板的值發(fā)送到后端服務(wù)器妆距,這個參數(shù)常常省略 -->
<palette><palette>
<!-- 可選:任何其他需要隨每次請求發(fā)送到后端服務(wù)器的參數(shù),如果需要函匕,值應(yīng)該是后綴在URL字符之下娱据,用&分隔開。MapServer典型的參數(shù)如map= value盅惜,參數(shù)常常留有空白 -->
<vendorParameters></vendorParameters>
<!-- 可選:一個瓦片在服務(wù)器保持可用的秒數(shù)中剩。后續(xù)請求將取回的結(jié)果是一個新的瓦片。默認(rèn)是永久cache抒寂。參數(shù)列表應(yīng)該常常以minZoom="0"開頭结啼,然后單調(diào)遞增。特殊值:-1表示從不緩存屈芜,-2表示從不過期 -->
<expireCacheList>
<expirationRule minZoom="0" expiration="14400" />
<expirationRule minZoom="10" expiration="7200" />
</expireCacheList>
<!-- 可選:客戶端從GWC收到瓦片之后郊愧,需要緩存的時間(秒為單位)。默認(rèn)值使用和WMS服務(wù)器提供的過期時間相同沸伏。如果值不可用糕珊,緩存2小時,參見expireCacheList -->
<expireClientsList>
<expirationRule minZoom="0" expiration="7200" />
<expirationRule minZoom="10" expiration="600" />
</expireClientsList>
<!-- 可選:參見全局backendTimeout描述 -->
<backendTimeout></backendTimeout>
<!-- 可選:選擇是否客戶端能夠后續(xù)&cached=false參數(shù)毅糟,以及使用GWC為代理或者是作為服務(wù)翻譯者(service translator) -->
<cacheBypassAllowed></cacheBypassAllowed>
<!-- 可選:是否此圖層在getcapabilities文檔中將可查詢(query)红选,以及代理getfeatureinfo請求到后端服務(wù)器。默認(rèn)情況是false -->
<queryable>false</queryable>
<!-- 可選: (TODO, see XSD documentation) -->
<paramaterFilters></parameterFilters>
<wmsLayer>
<layers>
</gwcConfiguration>
3姆另、切圖操作(方式一)
3.1 進入gwc頁面
啟動GeoServer后喇肋,在瀏覽器窗口輸入地址:http://localhost:8080/geoserver/gwc/
3.2 選擇需要切圖的服務(wù)
點擊list選項,可以看到能夠進行切圖的服務(wù):
3.3 動態(tài)切圖
點擊需要查看的圖層服務(wù)(openlayer:[png])
拖動圖層迹辐,滾動鼠標(biāo)滾輪蝶防,以不同zoom水平查看圖層,可以發(fā)現(xiàn)在緩存目錄下生成了對應(yīng)的緩存切片
3.4 預(yù)切圖
如果要實現(xiàn)將地圖服務(wù)預(yù)先進行切片明吩,可以點擊要進行切圖的圖層下的Seed this layer:
Grid Set中可以設(shè)置切圖方案间学,可以設(shè)置自己的切圖方案,具體操作在后面介紹
點擊submit按鈕之后計算機便開始進行切圖印荔,可以通過Refresh list按鈕查看當(dāng)前切圖進度和相關(guān)狀況
如果要取消切圖進程可以選擇Kill選項低葫,點擊Submit終止切圖操作
在緩存目錄下可以看到預(yù)切圖的結(jié)果
4、切圖操作(方式二)
4.1 進入GeoServer切圖頁面
上面介紹的進入切圖操作的方式是在瀏覽器輸入地址http://localhost:8080/geoserver/gwc/仍律,下面介紹從GeoServer中進入嘿悬,啟動GeoServer,
找到Tile Caching功能模塊水泉,該功能模塊中包含了可以進行切圖的圖層服務(wù)善涨,可以設(shè)置默認(rèn)的切圖選項窒盐,設(shè)置切圖方案等。
點擊Tile Layers可以列出可以進行切圖的圖層服務(wù)
4.2 配置切圖方案
點擊Gridsets選項創(chuàng)建切圖方案钢拧,點擊Create a new gridset可以創(chuàng)建新的切圖方案蟹漓,也可以點擊現(xiàn)成的切圖方案右側(cè)的Create a copy復(fù)制一個方案,并在此基礎(chǔ)上進行修改
在切圖級別設(shè)置功能區(qū)可以添加刪除一些切圖等級,點擊保存保存切圖方案
點擊保存之后,在gwc目錄下可以看見新增的一個后綴為.bak的配置文件疮蹦,就是切圖方案的配置文件
4.3配置GeoWebCache緩存大小
幾個選項梅桩,”Eanble disk quota”是否啟動磁盤配置;“Disk quota check frequency”磁盤配置檢測周期伯铣,默認(rèn)為10秒呻此;“Maximum tile cache size”緩存最大空間,默認(rèn)為5MIB腔寡;”When enforcing disk quota limits, remove tiles that are:“按照什么方式執(zhí)行磁盤回收焚鲜,有兩種方式:”使用次數(shù)最少”、“最近很少使用”放前。
4.4.“Caching Defaults”配置
“Provided Services”-“Enable direct integration with GeoServer WMS”
直接集成是關(guān)于終端使用在WMS的GetMap請求忿磅。如果使用默認(rèn)配置,你將不得不使用自定義終端告訴GeoServer你想去接收地圖從緩存中凭语。有效請求地址:
http://localhost:8080/geoserver/gwc/service/wms?
啟用該配置葱她,使用相同的語法你可以請求一個非緩存的圖層:
http://localhost:8080/geoserver/<workspace>/wms?tiled=true
Apart
WMS-C
是Web Mapping Services Cached的縮寫,它是終端查詢瓦圖的默認(rèn)方法似扔。如果禁用該選項吨些,終端請求地址會報400錯誤。
http://localhost:8080/geoserver/gwc/service/wms
4.5 預(yù)切圖
在切圖之前需要將設(shè)置的切圖方案添加到需要切圖的服務(wù)中炒辉,點擊Tile Layers選擇需要切圖的服務(wù)豪墅,再點擊Tile Caching選項添加切圖方案
點擊Tile Layers選擇需要切圖的服務(wù),點擊Seed/Truncate可以進入切圖設(shè)置頁面黔寇,點擊Empty可以清除之前存在的切圖緩存
點擊Seed/Truncate偶器,進入與之前相同的切圖界面,這里需要注意的是在Grid Set選項下可以選擇之前設(shè)置的切圖方案缝裤,剩下的操作與之前相同
————————————————
參考鏈接:
https://blog.csdn.net/qq_28418387/article/details/82823928
http://www.reibang.com/p/fa0131c41eea
https://blog.csdn.net/jinxiumeihappy/article/details/89354142