015Geoserver中使用GeoWebCache(GWC))

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了015Geoserver中使用GeoWebCache(GWC))相关的知识,希望对你有一定的参考价值。

参考技术A

在geoserver1.7版本之后,geoserver本身集成了GeoWebCache模块。本文介绍如何使用。
GeoWebCache(GWC)是一个采用Java实现用于缓存WMS(Web Map Service)Tile的开源项目。当地图客户端请求一张新地图和Tile时,GeoWebCache将拦截这些调用然后返回缓存过的Tiles。如果找不到缓存再调用服务器上的Tiles,从而提高地图展示的速度。实现更好的用户体验。

a.GWC支持多种来源的瓦片,比如ArcGIS的瓦片。 (需要独立安装,集成的GeoWebCache不支持)
b.GWC支持多种请求,比如WMS、WMS-C、WMTS、TMS、Googl Maps KML和Virtual Earth。
c.GWC支持在第一次请求地图某范围时,将此范围内的地图按照配置的信息进行切图缓存。第二次同样请求此范围的地图时,直接读取缓存瓦片进行加速显示。此功能类似于AGS的动态出图。
d.GWC同时也支持预先将瓦片按照配置信息切完,地图加载时直接读取瓦片。此功能类似于AGS的瓦片缓存出图。

在GeoServer安装目录中找到web.xml文件,具体在目录D:\\Program Files (x86)\\GeoServer 2.11.3\\webapps\\geoserver\\WEB-INF下

点击list选项,可以看到能够进行切图的服务

如果想实现类似于AGS中预先将所有瓦片全部进行切图的效果,可以点击要进行切图的图层下的Seed this layer:

image
点击Submit后,开始进行预切图,在页面中可以看到切图进程:

完成之后可以在缓存路径下看到切片内容。

geoserver可以实现动态缓存切片,具体是怎么回事呢?

当我们的WMS请求为一般性url,是不能自动开启瓦片缓存服务的,比如通过Layer Preview访问:
http://localhost:8080/geoserver/QQQQ/wms?service=WMS&version=1.1.0&request=GetMap&layers=QQQQ%3AQWQWRRAAAA&bbox=1.3206822745846782E7%2C3752719.2737657893%2C1.3207662961846782E7%2C3753671.107765789&width=677&height=768&srs=EPSG%3A3857&format=application/openlayers
而当我们在Tile Layers中访问时,是可以动态缓存的。
http://localhost:8080/geoserver/gwc/demo/QQQQ:QWQWRRAAAA?gridSet=EPSG:4326&format=image/png

当我们在geoserver中发布好服务后,是可以选择是否预先静态切片的。如果我们预先静态切片了。切片内容会存放在我们配置的路径下。通过Tile Layers来访问,访问的是一个个切片。如果我们没有预先切片,我们也可以通过Tile Layers来访问,这时也是一个个切片,但这个切片是动态生成的。生成后也会存放在我们配置的路径下。但要注意一点,这种访问,第一次是比较慢的。

点击Gridsets选项创建切图方案,点击Create a new gridset可以创建新的切图方案,也可以点击现成的切图方案右侧的Create a copy复制一个方案,并在此基础上进行修改

在切图级别设置功能区可以添加删除一些切图等级,点击保存保存切图方案

点击保存之后,在gwc目录下可以看见新增的一个后缀为.bak的配置文件,就是切图方案的配置文件

geoserver之BlobStores使用

概述

geoserver是常用的地图服务器之一,除了基本的能力之外,也提供了很多的插件方便大家使用。在本文,讲述一下如何在geoserver中使用BlobStoresgwc-sqlite-plugin插件实现地图的切片和部署。

BlobStores简介

在geoserver中,BlobStores允许我们配置geowebache以每层为基础存储其缓存数据的方式和位置。默认的为File BlobStoreFile BlobStore方式是以文件的方式组织切片,在做部署的时候太多的散文件不利于部署。为解决此问题,geoserver扩展了gwc-sqlite-plugin插件,以mbtiles的方式组织切片,一方面方便部署,另一方面,geoserver也有mbtiles-store-plugin插件,支持对mbtiles切片的发布。

操作

1. File BlobStore

注意File BlobStore支持的组织方式在不同的版本中有所不同,比较旧的版本是没有Tiles directory layout选项,是默认的GeoWebCache default,新的版本也支持TMS layoutXYZ layout

2. MBTiles BlobStore

MBTiles是用sqllite文件型数据库的方式存储切片,包含tiles_metadatatiles两张表分别记录元数据和切片数据。

3. 切片

  1. 开始切片

  2. 创建新任务

  3. 当前任务进度

  4. 切片完成

  5. 在SQLite Studio中预览

geoserver发布mbtiles

1. 添加数据源

安装完插件后,在添加新的数据源的时候就可以看到MBTiles的选项了。

输入对应的配置信息,即可添加数据源。

2. 发布图层

添加完数据源,就可发布图层了。

3. 图层预览

在图层预览中,点击Openlayers格式预览图层。

以上是关于015Geoserver中使用GeoWebCache(GWC))的主要内容,如果未能解决你的问题,请参考以下文章

使用 Openlayers 和 GEOServer 显示特征名称

GeoServer 可以在商业应用程序中使用吗? [关闭]

geoserver的geojson怎么使用

geoserver图层属性查询及查询结果转换为arcgis js api能使用的格式

使用docker部署的geoserver发布矢量切片服务(坑汇总)

通过 GeoServer 在 MongoDB 中提供地理空间数据