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中使用BlobStores
和gwc-sqlite-plugin
插件实现地图的切片和部署。
BlobStores简介
在geoserver中,BlobStores允许我们配置geowebache以每层为基础存储其缓存数据的方式和位置。默认的为File BlobStore
,File BlobStore
方式是以文件的方式组织切片,在做部署的时候太多的散文件不利于部署。为解决此问题,geoserver扩展了gwc-sqlite-plugin
插件,以mbtiles
的方式组织切片,一方面方便部署,另一方面,geoserver也有mbtiles-store-plugin
插件,支持对mbtiles
切片的发布。
操作
1. File BlobStore
注意:File BlobStore
支持的组织方式在不同的版本中有所不同,比较旧的版本是没有Tiles directory layout
选项,是默认的GeoWebCache default
,新的版本也支持TMS layout
、XYZ layout
。
2. MBTiles BlobStore
MBTiles
是用sqllite
文件型数据库的方式存储切片,包含tiles_metadata
和tiles
两张表分别记录元数据和切片数据。
3. 切片
-
开始切片
-
创建新任务
-
当前任务进度
-
切片完成
-
在SQLite Studio中预览
geoserver发布mbtiles
1. 添加数据源
安装完插件后,在添加新的数据源的时候就可以看到MBTiles的选项了。
输入对应的配置信息,即可添加数据源。
2. 发布图层
添加完数据源,就可发布图层了。
3. 图层预览
在图层预览中,点击Openlayers格式预览图层。
以上是关于015Geoserver中使用GeoWebCache(GWC))的主要内容,如果未能解决你的问题,请参考以下文章
使用 Openlayers 和 GEOServer 显示特征名称
geoserver图层属性查询及查询结果转换为arcgis js api能使用的格式