使用geoWebcache

备注

有关使用geoWebcache的更深入讨论,请参阅 GeoWebCache documentation .

与地理服务器WMS直接集成

geoWebcache可以透明地与geoserver wms集成,因此不需要特殊的端点或自定义URL。通过这种方式,您可以使用瓦片客户机的性能来简化标准的WMS端点。

虽然默认情况下禁用了此直接集成,但是可以通过转到 缓存默认值 第页 Web管理界面 .

启用此功能后,仅当 遵循以下所有标准

  • 已启用WMS直接集成(可以在 缓存默认值 页)

  • tiled=true 包含在请求中(除非 Explicitly require TILED Parameter 未选中。你可以把这个放在 缓存默认值 页)

  • 请求只引用一个层

  • 为该层启用缓存

  • 请求的图像的高度和宽度与保存在层配置中的大小相同。

  • 请求的CRS与一个可用的瓦片层网格集相匹配

  • 图像要求与现有网格边界对齐

  • 包含一个参数,其中有一个对应的参数过滤器

此外,当启用直接集成时,WMS能力文档(通过getCapabilities请求)将只返回WMS-C供应商特定的能力元素(例如 <TileSet> 每个缓存层/crs/格式组合的元素)如果 tiled=true 附加到getCapabilities请求中。

备注

有关WMS-C的更多信息,请参阅 WMS Tiling Client Recommendation 来自奥斯基奥。

备注

geoWebcache集成与基于openlayers的 层预览 ,因为预览通常不与geoWebcache层网格集对齐。这是因为Openlayers应用程序计算 tileorigin 基于层的边界框,这与网格集不同。可以创建一个Openlayers应用程序来缓存图块;只要确保 tileorigin 与网格集对齐。

虚拟服务

When direct WMS integration is enabled, GeoWebCache will properly handle requests to 虚拟服务 (/geoserver/<workspace>/wms?tiled=true&...).

虚拟服务功能文档将包含 <TileSet> 只有属于该工作区(和全局层组)的层的条目,并且将由不合格的层名称(没有命名空间)引用。例如,层 topp:states 将被称为 <Layers>states</Layers> 而不是 <Layers>topp:states</Layers> ,并使用 LAYERS=states 将得到妥善处理。

支持的参数筛选器

通过直接WMS集成,GetMap请求支持以下参数筛选器:

  • ANGLE

  • BGCOLOR

  • BUFFER

  • CQL_FILTER

  • ELEVATION

  • ENV

  • FEATUREID

  • FEATUREVERSION

  • FILTER

  • FORMAT_OPTIONS

  • MAXFEATURES

  • PALETTE

  • STARTINDEX

  • TIME

  • VIEWPARAMS

如果使用上述任何参数发出请求,则请求将传递到geoserver,除非已设置参数筛选器,在这种情况下,geoWebCache将处理该请求。

GeoWebCache端点URL

当不使用直接集成时,您可以将客户机直接指向geoWebcache。

警告

geoWebcache不是真正的WMS,因此下面的内容过于简单化。如果遇到错误,请参阅 故障排除 第页以获取帮助。

要将您的客户机定向到geoWebcache(从而接收缓存的数据块),您需要更改WMS URL。

如果您的应用程序在此URL请求来自geoserver的WMS图块:

http://example.com/geoserver/wms

您可以在此URL调用geoWebcache wms::

http://example.com/geoserver/gwc/service/wms

换句话说,添加 /gwc/service/wms 在到您的geoserver实例的路径和wms调用之间。

此端点使用以下任一方法工作:

  • WMS-C:在WMS getCapabilities文档中包含一个tileset描述,指示客户机如何以一系列tile的形式检索内容(每个tile都由getmap请求检索)。此技术支持HTTP缓存,利用浏览器缓存和部署的任何缓存代理。此技术要求使用Tile服务器支持创建客户端。

  • 完全WMS模式:geoWebcache的行为与普通WMS支持的即席WMS GetMapRequests相同。每个WMS请求都是通过获取所需的图块并将结果拼接为单个图像来处理的。这种技术只依赖于内部的tile缓存,但支持特殊的getmap请求,并且不需要使用tile服务器支持构建客户机。

    要启用此模式,请在 geowebcache.xml 配置文件:

    <fullWMS>true</fullWMS>
    

    fullWMS设置只影响 /gwc/service/wms 终结点和不由直接WMS集成使用。

一旦瓦片通过 gwc/service/wms 端点geoWebcache自动开始保存它们。对于每个图块的初始请求将不会被加速,因为geoserver需要生成图块并从后续使用中存储它。要自动执行请求瓦片的过程,可以 seed 缓存。请参见 填瓦和刷新 了解更多详细信息。

磁盘配额

geoWebcache具有内置的磁盘配额功能,可以防止磁盘空间无限增长。您可以设置缓存目录的最大大小、轮询间隔以及超出配额时要使用的磁贴删除策略。可以根据使用情况(“最不常用”或lfu)或时间戳(“最不常用”或lru)删除瓦片。

默认情况下关闭磁盘配额,但可以在 磁盘配额 第页 Web管理界面 .

与外部地图站点集成

关于 GeoWebCache homepage 包含创建与谷歌地图、谷歌地球、必应地图等集成的应用程序的示例。

支持自定义投影

嵌入在geoserver中的geoWebcache版本自动配置geoserver中提供的每个层,其中包含两个最常见的投影:

  • EPSG:4326 (纬度/经度)

  • EPSG:900913型 (球形墨卡托,谷歌地图中使用的投影)

您还可以从地理服务器识别的任何自定义CRS设置。查看 网格集 详细信息请参见第页。

Previous: BlobStores
Next: 配置