GeoWebCache是地图一个采用Java实现用于缓存WMS-Tile(瓦片)的开源项目,可以让你向WMS客户端、缓存GooleEarth、数据GoogleMaps和MSVirtualEarth提供缓存的下载地图数据,该系统在两端都是地图可插拔的,并能自动匹配到最好的缓存可用瓦片,它是数据非常快速和可扩展的。
一、下载下载安装GeoWebCache(GWC)
将geowebcache的地图war包拷贝到tomcat的webapps目录下即可,启动tomcat,缓存输入http://localhost:8080/geowebcache,数据显示如下界面说明安装成功。下载
点击“Alistofallthelayersandautomaticdemos”链接即可进入缓存图层列表,地图默认有三个图层:
二、缓存修改缓存目录
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>
<!--经过测试,如果你只是想发布瓦片缓存地图,这里wmslayerurl可以随便写一个-->
<string>http://127.0.0.1/wms</string>
</wmsUrl>
</wmsLayer>
3.重启tomcat服务器,会发现图层列表中多了一个图层:
4.以png方式浏览,缓存地图加载成功:
四、问题解决
通过openlayers访问时会出现烦人的400错误,通过查看客户端代码发现,extend为[-180,-90,180,90]
我们只需改为地图实际的extend即可: