地图切片缓存工具GeoWebCache

简介
GeoWebCache(GWC)是一个采用Java实现用于缓存WMS(Web Map Service)Tile的开源项目。当地图客户端请求一张新地图和Tile时,GeoWebCache将拦截这些调用然后返回缓存过的Tiles。如果找不到缓存再调用服务器上的Tiles,从而提高地图展示的速度。实现更好的用户体验。
地图往往是静态的,由于大部分客户端每一次请求WMS(网络地图服务)的数据都被质疑,这会导致不必要的处理,增加等待时间。 GeoWebCache在他们请求的时候优化存储( 缓存)地图瓦片,作为代理连接客户端(例如OpenLayers或 谷歌地图)和服务器(如GeoServer,或任何WMS兼容的服务器)。随着新的地图和瓦片的请求,GeoWebCache拦截这些请求并预渲染瓦片,如果这些瓦片已经得到缓存。因此,一旦瓦片被 存储,地图绘制速会度增加许多倍,实现更完美的用户体验。

 

 

地图切片缓存工具GeoWebCache_第1张图片

 

实现原理

对OGC WMS服务,每次服务器在接受地图请求时,需根据请求内容渲染返回查询图层,对于高并发的重复性访问请求,响应过程中不可避免增加了重复处理过程和等待时间。作为地图客户端与地图服务器的中间层,GeoWebCache项目针对WMS服务提供了瓦片缓存功能,通过地图切片与缓存,优化数据获取过程。

GeoServer地图服务器支持WCS 1.0、WMS 1.1.1以及WFS 1.0标准,并且默认集成了GeoWebCache组件,可以访问OSGeo中国的GeoServer服务器使用。当客户端请求地图服务时,GeoWebCache截取WMS调用请求,并返回已生成的Tiles缓存,若请求没有对应的服务端缓存,再由GeoServer针对请求图层生成对应的Tiles,从而提升地图展示性能。

当前的GeoWebCache 1.2.6版本,支持常规WMS请求,在Tiles切片重组和栅格重采样方面的性能上有较大提升。同时GWC支持OSGeo TMS(Tile Map Service)服务定义的格式和投影方式。并支持在GeoRSS输出的feed中包含GML描述的要素信息。在地图展示客户端方面,GeoWebCache支持与OpenLayers、Google Maps、MS Virtual Earth配合展示GWC地图缓存。对于Google Earth客户端,转换为KML 2.2中支持的Super-Overlays叠加方式,调用GWC生成的KML串在Google Earth中加载Tiles缓存。

根据GeoWebCache项目的Roadmap规划,今后开发重点将关注于缓存动态服务器,集群性能,预生成缓存的改进,平滑缩放等级的改进等方面。同时,GeoWebCache也在尝试实现WFS请求的缓存,来拓展缓存OGC服务的种类。

你可能感兴趣的:(地图切片缓存工具GeoWebCache)