在进行GIS项目开发中,常使用Geoserver作为开源的地图服务器,Geoserver是一个JavaEE项目,常通过Tomcat进行部署。而GeoWebCache是一个采用Java实现用于缓存WMS-Tile(瓦片)的开源项目。当客户端请求一张新地图和Tile时,GeoWebCache将拦截这些调用然后返回缓存过的Tiles。如果找不到缓存再调用服务器上的Tiles,从而提高地图展示的速度。最新版本的GeoServer已经完成了GeoWebCache的内嵌。
然而,在实际的生产环境中,地图缓存服务器应当是独立部署的结点,这样的优势是可以避免集群结点开启缓存配额后的文件锁冲突;另一方面,缓存切片及耗费CPU内存等资源,配置独立的地图缓存服务器可减少切片请求对地图服务器资源的占用。
由于矢量切片(vector tile)的流行,越来越多的主流地图网站都采取了矢量切片地图的设计方案,其中mapbox基于prototype提出的mvt格式的矢量切片方案收到了较为广泛地的认可。在服务器端,能够完成矢量切片本地发布、调用的方式目前大致有三种:
(1) ArcGIS系列,在ArcGIS10.5PRO等最新版本中已经支持了矢量切片的发布,但其是商业软件,非开源,在实际项目研发使用相对困难。
(2) Mapbox studio支持本地数据的上传和发布,但其处理速度很慢,且许多地理数据涉密或体量较大,不适合采取这种方式。
(3) GeoServer2.11版本以后,安装矢量切片插件