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.pngGeowebcache是用户名,secured是密码,均可自定义。
点击seed this layer。
Paste_Image.png设置完毕就开始切图。
可以点开相应的切片地图文件夹进行查看。
Paste_Image.pngPaste_Image.png
如果要将GeoServer上的WMS服务整合进GeoWebCache中,要执行以下步骤:
打开缓存图片路径下的配置文件geowebcache.xml。在<layers>下添加<wmsLayer>。
附:
参考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 href="http://lib.csdn.net/base/javase" 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>
网友评论