作用
GeoWebCache是一个采用Java实现用于缓存WMS-Tile(瓦片)的开源项目。当客户端请求一张新地图和Tile时,GeoWebCache将拦截这些调用然后返回缓存过的Tiles,复用已经切好的瓦片缓存。
所以,geowebcache就相当于是openlayer和geoserver之间的中介。
geowebcache会根 据你的配置信息,把相应的地图图层切好图,存放在磁盘中,然后在使用openlayer加载地图服务的时候,把地图服务的地址指向 geowebcache,geowebcache接收到这些请求后,会根据请求的位置和比例尺在切片目录中找到对应的瓦片,然后返回给你,省去了动态生成地图的过程,速度大幅度提高,而且由于请求的图片资源是事先生成好的,浏览器加载这些图片之后,下一次再去请求同样的图片,就会从浏览器的缓存中拉去,速度进一步提高!
另外,一般来说,geoserver是不支持arcgis server格式瓦片数据部署的,所以需要geowebcache形式部署,或拓展geoserver的geowebcache插件使得geoserve支持arcgis server格式瓦片数据部署。
安装
用的1.15.2版本的,可能openlayers插件的问题访问不出来。
下载geowebcache.1.10.5.rar(最后一个可用版本),通过tomcat启动。
主页:http://localhost:8090/geowebcache/home
在页面底部可看到配置文件的位置,我的在: D:Javaapache-tomcat-9.0.0.M10webappsgeowebcacheoptsoftapache-tomcat-9.0.33webappsgeowebcachegeowebcache.xml
用户名密码配置在WEB-INFusers.properties
中:
geowebcache=secured,ROLE_ADMINISTRATOR
用户名:geowebcache,密码:secured
发布arcgis瓦片
注意,GeoServer和ArcGIS Server的瓦片文件结构、命名方式并不相同,两种要区分开来。
总结分为以下几步:
1.配置缓存文件位置,重启服务,生成geowebcache.xml,不生成也没关系;
2.在geowebcache.xml的layers节点中配置要发布的服务,重启服务。
<arcgisLayer>
<name>tmwp_ArcGISServer</name
<tilingScheme>D:gisdataGEOWEBCACHE mwp_ArcGISServerconf.xml</tilingScheme>
<tileCachePath>D:gisdataGEOWEBCACHE mwp_ArcGISServer\_alllayers</tileCachePath>
<hexZoom>false</hexZoom>
</arcgisLayer>
注意,这个arcgisLayer节点。
3.查看发布的服务,点击png通过openlayers查看发布的地图。
问题
1.服务成功发布但查看地图http://localhost:8090/geowebcache/demo/tmwp_ArcGISServer?gridSet=EPSG:3857_tmwp_ArcGISServer&format=image/png 显示400,还是瓦图文件的问题,参考这里,修改瓦图文件即可。