【问题标题】:Serve GeoServer Tiles in XYZ format以 XYZ 格式提供 GeoServer Tiles
【发布时间】:2017-11-01 09:35:29
【问题描述】:

我在我的服务器上使用 GeoServer 和种子切片。瓷砖已成功创建,但我不知道目录结构遵循哪种模式...(即.../EPSG_4326_05/0_0/00_06.png) 我想在 OpenLayers 应用程序中使用磁贴,并且我想使用 OSM 源,它使用通常用作磁贴服务的 URL 模式的 XYZ 模式。 有没有办法告诉地理服务器它应该创建具有 XYZ 结构的瓦片?

【问题讨论】:

标签: openlayers-3 tiles geoserver


【解决方案1】:

这可能为时已晚,这是我的地理服务器层的 XYZ URL:

http://localhost/gwc/service/tms/1.0.0/gis:service@EPSG%3A900913@png/{z}/{x}/{-y}.png

Geoserver 将在您通过 URL 请求时自动缓存切片。

【讨论】:

  • 你能提供一个指向文档的指针吗?我是否需要一些扩展才能使tms 端点可用?我尝试了不同的网址,但没有成功,例如http://localhost:8080/geoserver/gwc/tms/http://localhost:8080/geoserver/gwc/
  • 刚刚发现:http://localhost:8080/geoserver/gwc/service/tms/1.0.0。文档位于:docs.geoserver.org/stable/en/user/geowebcache/webadmin/…
  • 抱歉这么久才回复。但是是的,这就是链接;)
【解决方案2】:

太好了,一小时前我也有同样的问题。总结一下。

注意:

OP 所称的XYZ 格式是由 Google 地图推广的格式,其中全局/底图在服务器端拆分并作为 {z}/{x}/{y} 格式的图块,其中缩放、纬度和经度在内部表示 [1] . 实际上,提供这种“格式”的服务的名称是Tile Map Service (TMS)[2],GeoServer 确实提供了这种服务[3]。 XYZ 只是 OpenLayers 中用于访问 TMS 服务器的类的名称 [4]。

话虽如此,下面是在 GeoServer 和 OpenLayers 之间运行 TMS 服务的方法:

  • 检查您的 GeoServer 的 缓存默认值 是否启用了 GeoWebCache 和 TMS 服务。我目前使用的是 GS-2.14.3,默认情况下已启用。

启用 GWC 和 TMS 后,您应该会在 http://localhost:8080/gwc/service/tms/1.0.0(或通常为 <geoserver-path>/gmc/service/tms/1.0.0)下看到您的栅格图层。

然后,您只需从 OpenLayer 调用其中一个 TileMaps

var tileURL = "<tilemap-from-gwc-list-above>" + "/{z}/{x}/{-y}.jpg" // or '.png'

var map = new ol.Map(<your params here>);

var bm = new ol.layer.Tile({
  source: new ol.source.XYZ({
    url: tileURL
  })
})
map.addLayer(bm)

希望对您有所帮助。 干杯。


参考:

  1. 谷歌/TMS 格式:https://www.maptiler.com/google-maps-coordinates-tile-bounds-projection/
  2. TMS 规范:https://wiki.osgeo.org/wiki/Tile_Map_Service_Specification
  3. 传单中的 TMS:https://leafletjs.com/examples/wms/wms.html#tms-in-leaflet
  4. TMS/XYZ 开放层:https://openlayers.org/en/latest/apidoc/module-ol_source_XYZ-XYZ.html

【讨论】:

    【解决方案3】:

    GeoServer(实际上是GeoWebCache)可以提供一个number of end points,可以服务磁贴。

    这些都没有使用所谓的 XYZ 系统(因为这不是标准),但 OpenLayers 有一个分块层,可以使用 TileImage source 处理 TMS 和 WMTS 服务器。

    【讨论】:

    • 仅使用我们的 nginx-server 将瓦片作为图像提供是很重要的。如果我使用 openlayers 的 WMTS 源,则可以通过 geoserver 和 tomcat 提供切片。我只想将切片作为简单图像提供
    • 我从未尝试过,但我认为使用 REST wmts(或 TMS)方案的 OpenLayers 可以直接读取这些图块。
    猜你喜欢
    • 2022-01-02
    • 1970-01-01
    • 2013-08-20
    • 2011-03-02
    • 1970-01-01
    • 1970-01-01
    • 2015-07-12
    • 1970-01-01
    相关资源
    最近更新 更多