1悴品、GeoWebache切圖(默認(rèn)圖層)
1.首先在GeoWebCache官網(wǎng)下載war包贷币,在tomcat中解壓后怔匣,會(huì)在WEB-INF目錄下找到一系列配置文件握联,先找到web.xml,然后在web-app根元素下添加:
<context-param>
<param-name>GEOWEBCACHE_CACHE_DIR</param-name>
<param-value>D:/geowebcache/cache</param-value>
</context-param>
注意每瞒,Param-value元素就是要存放GeoWebCache瓦片的位置金闽,可自定義。
2.更改完成后剿骨,重啟Tomcat代芜,之后在D:/geowebcache/cache下會(huì)生成一些文件。其中包含geowebcache.xml浓利,這個(gè)文件是geowebcache的配置的關(guān)鍵所在挤庇,在最后會(huì)貼上參考配置文件信息钞速。
3.tomcat重啟之后可以進(jìn)入:http://localhost:8085/geowebcache,點(diǎn)擊Reload Configuration
image.png
第一次點(diǎn)擊該按鈕是會(huì)出現(xiàn)登錄窗口,配置文件是在WEB-INF下的user.property罚随。
image
geowebcache是用戶名玉工,secured是密碼羽资,均可自定義淘菩。
點(diǎn)擊seed this layer。
image
設(shè)置完畢就開始切圖屠升。
可以點(diǎn)開相應(yīng)的切片地圖文件夾進(jìn)行查看潮改。
image
image
2.配置外部新的wms圖層服務(wù)并切圖
1.如果要將GeoServer上的WMS服務(wù)整合進(jìn)GeoWebCache中,要執(zhí)行以下步驟:
打開緩存圖片路徑下的配置文件geowebcache.xml腹暖。在<layers>下添加<wmsLayer>汇在。
<wmsLayer>
<name>cite:load_multiline</name>
<mimeFormats>
<string>image/jpeg</string>
<string>image/png</string>
</mimeFormats>
<gridSubsets>
<gridSubset>
<gridSetName>EPSG:4326</gridSetName>
<extent>
<coords>
<double>107.51468029345432</double>
<double>22.92457922267172</double>
<double>108.25004930073025</double>
<double>23.328629643654477</double>
</coords>
</extent>
</gridSubset>
<gridSubset>
<gridSetName>EPSG:4326</gridSetName>
</gridSubset>
</gridSubsets>
<wmsUrl>
<string>http://192.168.50.35:8080/geoserver/cite/wms</string>
</wmsUrl>
</wmsLayer>
2.重啟tomcat,即可看到配置的新的圖層服務(wù)脏答,然后點(diǎn)擊seed糕殉,在配置的緩存文件夾中即可看到切圖后的切片文件夾
image.png
3.cesium訪問GeoWebCache發(fā)布的wms服務(wù)和wmts服務(wù)
viewer.imageryLayers.addImageryProvider(new Cesium.WebMapServiceImageryProvider({
url: "http://localhost:8085/geowebcache/service/wms",
layers: 'cite:load_multiline',
parameters:{
format:'image/png'
}
}));
viewer.imageryLayers.addImageryProvider(new Cesium.WebMapTileServiceImageryProvider({
url: "http://localhost:8085/geowebcache/service/wmts?layer=cite:load_multiline&style=&Service=WMTS&Format=image/png&Request=GetTile&Version=1.0.0&tilematrixset={TileMatrixSet}&TileMatrix={TileMatrixSet}:{TileMatrix}&TileCol={TileCol}&TileRow={TileRow}",
format:'image/png',
style:'',
layer:'cite:load_multiline',
tileMatrixSetID : 'EPSG:4326',
tilingScheme: new Cesium.GeographicTilingScheme()
}));
附:參考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">
<!-- ============================== 全局設(shè)置 ======================================== -->
<!-- 以下控制包含了自動(dòng)更新,當(dāng)你手動(dòng)更新這些配置的時(shí)候殖告,更新以上這些和命名空間 -->
<version>1.2.1</version>
<!-- 可選:這是對(duì)HTTP協(xié)議連接到WMS后端的全局超時(shí)設(shè)置阿蝶。它由連接和傳輸這兩方面決定,因此如果數(shù)據(jù)傳回很慢的話黄绩,實(shí)際的超時(shí)發(fā)生的閥值可能比它更長(zhǎng)一些 -->
<backendTimeout>120</backendTimeout>
<!-- 可選:如果設(shè)置為true羡洁,你可以添加cache=false來請(qǐng)求,那么他們可以使用無緩存的代理 -->
<cacheBypassAllowed>false</cacheBypassAllowed>
<!-- 可選:缺省情況下GWC顯示簡(jiǎn)單的運(yùn)行時(shí)統(tǒng)計(jì)數(shù)據(jù)在首頁上 -->
<runtimeStats>true</runtimeStats>
<!-- 可選:使用一個(gè)HTTP用戶名來請(qǐng)求爽丹,由于HTT客戶端的設(shè)計(jì)包含了<a class='replace_word' title="Java SE知識(shí)庫" target='_blank' style='color:#df3434; font-weight:bold;'>Java</a>筑煮,這個(gè)設(shè)置時(shí)全局的-->
<httpUsername></httpUsername>
<!-- 可選:以上用戶名的密碼 -->
<httpPassword></httpPassword>
<!-- ============================== 全局格式修改器================================ -->
<!-- 可選:格式修改器,這些也可以通過對(duì)各個(gè)圖層單獨(dú)定義 -->
<formatModifiers>
<!-- 能夠有一個(gè)和多個(gè)這樣的元素 -->
<formatModifier>
<!-- 必要:應(yīng)用于JPEG -->
<responseFormat>image/jpeg</responseFormat>
<!-- 可選:從后端的PNG請(qǐng)求時(shí)粤蝎,阻止雙重壓縮 -->
<requestFormat>image/png</requestFormat>
<!-- 可選:透明度支持 -->
<transparent>false</transparent>
<!-- 可選:背景顏色 -->
<bgColor>0x0066DD</bgColor>
<!-- 可選WMS服務(wù)器使用的調(diào)色板 -->
<palette>somepalette</palette>
<!-- 可選:調(diào)節(jié)壓縮等級(jí)真仲,1.0是最佳質(zhì)量 -->
<compressionQuality>0.9</compressionQuality>
</formatModifier>
</formatModifiers>
<!-- ============================ 網(wǎng)格設(shè)置(GRID SETS)============================= -->
<!-- 可選:網(wǎng)格集合。如果這里沒有任何設(shè)置初澎,唯一可用的將是全球的EPSG:4326和EPSG:900913秸应,另外,他將應(yīng)用于所有為GetCapabilities配置而自動(dòng)生成 -->
<gridSets>
<!-- 可以有一個(gè)或多個(gè)這樣的元素 -->
<gridSet>
<!--必要:name谤狡,extent灸眼,SRS -->
<name>The Entire World</name>
<!-- 必要:SRS用于WMS請(qǐng)求,對(duì)所有那些沒有指定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)格是否使用左上角為起始點(diǎn),缺省情況下是左下角為起始點(diǎn) -->
<alignTopLeft>false</alignTopLeft>
<!-- 可選:缺省情況下闪唆,GWC將嘗試匹配extent到一個(gè)瓦片盅粪,然后為每個(gè)子后繼縮放等級(jí)四等分這個(gè)瓦片。除此之外悄蕾,你可以指定特定的分辨率(resolutions)來組織票顾。resolution的計(jì)算式按照每像素(pixel)的地圖的(map degrees)度,那么180degrees/256pixel=0.703125 -->
<resolutions>
<double>0.703125</double>
<double>0.3515625</double>
<double>0.17578125</double>
</resolutions>
<!-- 可選:作為選擇帆调,可以使用比例尺(scale)作為分母的方式奠骄,OGC流行聲明一個(gè)像素(pixel)=0.28mm,按此種方式計(jì)算番刊。數(shù)值的順序必須是降序(因?yàn)槭欠帜?-->
<scaleDenominators>
<double>25000000</double>
<double>2500000</double>
<double>250000</double>
<double>50000</double>
</scaleDenominators>
<!-- 可選:如果四分法足夠好含鳞,但是你想限制縮放的等級(jí),可以設(shè)置等級(jí)總數(shù) -->
<levels>20</levels>
<!-- 可選:一個(gè)地圖圖元(1 map unit)的值在真實(shí)世界中的單位芹务,用于大概的比例尺計(jì)算以及常常不是很精確蝉绷。對(duì)于經(jīng)緯度(lat/lon)應(yīng)該使用地球周長(zhǎng)(earth circumference)/360.0度(degrees)=111226.31。對(duì)于英尺(feet)應(yīng)該用0.3048 -->
<metersPerUnit>111226.31</metersPerUnit>
<!-- 可選:?jiǎn)蝹€(gè)像素表示一米的大小枣抱,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>
<!-- 必要:名稱用于客戶端請(qǐng)求對(duì)應(yīng)圖層垂攘,和WMS不同的是,它能夠包含逗號(hào)淤刃,成為對(duì)圖層組聯(lián)合的請(qǐng)求 -->
<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>
<!-- 可選:缺省情況下陨仅,對(duì)EPSG:4326和EPSG:900913,圖層時(shí)可用的铝侵。這種行為將被gridSubset指定的所覆蓋灼伤,同時(shí),這也可以指定一個(gè)圖層只對(duì)一個(gè)grid的subset可用 -->
<gridSubsets>
<gridSubset>
<!-- 必要:grid set的名稱對(duì)圖層默認(rèn)的EPSG4326和EPSG900913可用咪鲜,但是一下示例演示如何指向一個(gè)預(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為基點(diǎn) -->
<zoomStart>0</zoomStart>
<zoomStop>25</zoomStop>
</gridSubset>
</gridSubsets>
<!-- 可選:(1.2.2)更新源是數(shù)據(jù)傳輸鸟雏,告訴GeoWebCache何時(shí)內(nèi)容過期 -->
<updateSources>
<!-- 一個(gè)GeoRSS GML傳輸,參見http://www.georss.org/gml -->
<geoRssFeed>
<!-- 一個(gè)參數(shù)化的URL獲取GeoRSS GML數(shù)據(jù)源览祖,如果插入${lastUpdate}到URL孝鹊,${lastUpdate}將替換最近一次從這個(gè)源處理過的更新的時(shí)間戳 -->
<feedUrl>http://someserver/georss?layers=somelayer&lastupdate=${lastUpdate}&srs=EPSG:4326</feedUrl>
<!-- grid set的id,數(shù)據(jù)源的geometries將以和這個(gè)grid set同樣的SRS給出 -->
<gridSetId>EPSG:4326</gridSetId>
<!-- 查看源的頻率展蒂,以秒為單位 -->
<pollInterval>600</pollInterval>
<!-- 可選:操作表現(xiàn)又活,默認(rèn)是截?cái)啵▌h簡(jiǎn)?truncate)的 -->
<operation>reseed</operation>
<!-- 可選:默認(rèn)格式與layer相同,但可以指定特殊形式 -->
<format>image/png</format>
<!-- 可選:如果操作不是截?cái)嗟模╰runcate)玄货,指定線程數(shù)量可以并行處理皇钞。多格式就是并行處理悼泌。若此處設(shè)置線程書偉2松捉,圖層有3中格式(且GeoRssFeed沒有指定格式),那么總共的線程數(shù)將是3*2=6 -->
<seedingThreads>2</seedingThreads>
<!-- 可選:GWC渲染geometries到bitmask馆里,然后使用它決定哪個(gè)瓦片受到影響隘世。每個(gè)像素代表一個(gè)瓦片,那么一個(gè)這樣的bitmask必須對(duì)每個(gè)縮放界別創(chuàng)建鸠踪。這個(gè)設(shè)置控制最大縮放等級(jí)的層次書丙者,以及內(nèi)存使用。10到12是一個(gè)較好的折中营密。二次抽樣(subsampling)用于層次(levels)械媒,這里不包含。 -->
<maxMaskLevel>11</maxMaskLevel>
</geoRssFeed>
</updateSources>
<!-- 可選:(TODO, see XSD documentation) -->
<requestFilters></requestFilters>
<!-- 可選: (1.2.2) 當(dāng)瓦片創(chuàng)建以后评汰,提供基于ETags纷捞。注意大多數(shù)瀏覽器僅僅只是在由超出expireClients[List]定義的時(shí)間之后才調(diào)用它。默認(rèn)這個(gè)特性是關(guān)閉的 -->
<useETags>true</useETags>
<!-- 必要:到WMS服務(wù)的一個(gè)或多個(gè)URL就像在后端一樣的方法使用 -->
<wmsUrl><string>http://yourserver/path/wms-service</string></wmsUrl>
<!-- 可選:LAYERS=的值將被發(fā)送到后端服務(wù)器被去,如果沒有指定主儡,此圖層元素的名字將被使用 -->
<wmsLayers>layer1,layer2</wmsLayes>
<!-- 可選:STYLES=的值將被發(fā)送到后端服務(wù)器,如果沒有指定惨缆,將使用一個(gè)空字符串 -->
<wmsStyles></wmsStyles>
<!-- 可選:“元瓦片”(metatiling)元素用于此圖層糜值,如果未指定,3*3的“元瓦片(metatiling)”用于圖像格式 -->
<metaWidthHeight><int>3</int><int>3</int></metaWidthHeight>
<!-- 可選:“溝(gutter間隔?)”用像素指定間隔坯墨,以及代表額外的在圖像周邊的padding寂汇,當(dāng)瓦片創(chuàng)建完成后他們將被消除。對(duì)一些的WMS服務(wù)器有邊緣效應(yīng)(edge dffects)的話捣染,那么可以擦除它骄瓣,但是他同樣對(duì)剪切的label造成影像。 -->
<gutter>0</gutter>
<!-- 可選:EXCEPTION=的值發(fā)送到后端服務(wù)器液斜,同樣可以使用vnd.ogc.se_inimage累贤,但是在這種情況下叠穆,GWC將不能分辨來自于可用瓦片的錯(cuò)誤。 -->
<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進(jìn)制表示,注意背景色和透明度是相互獨(dú)立的 -->
<bgColor>0xFF00AA</bgColor>
<!-- 可選:PALETTE=的值始鱼,調(diào)色板的值發(fā)送到后端服務(wù)器仔掸,這個(gè)參數(shù)常常省略 -->
<palette><palette>
<!-- 可選:任何其他需要隨每次請(qǐng)求發(fā)送到后端服務(wù)器的參數(shù),如果需要医清,值應(yīng)該是后綴在URL字符之下起暮,用&分隔開。MapServer典型的參數(shù)如map= value会烙,參數(shù)常常留有空白 -->
<vendorParameters></vendorParameters>
<!-- 可選:一個(gè)瓦片在服務(wù)器保持可用的秒數(shù)负懦。后續(xù)請(qǐng)求將取回的結(jié)果是一個(gè)新的瓦片。默認(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收到瓦片之后颗品,需要緩存的時(shí)間(秒為單位)。默認(rèn)值使用和WMS服務(wù)器提供的過期時(shí)間相同沃缘。如果值不可用躯枢,緩存2小時(shí),參見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請(qǐng)求到后端服務(wù)器。默認(rèn)情況是false -->
<queryable>false</queryable>
<!-- 可選: (TODO, see XSD documentation) -->
<paramaterFilters></parameterFilters>
<wmsLayer>
<layers>
</gwcConfiguration>