gpt4 book ai didi

openlayers-3 - 以 XYZ 格式提供 GeoServer Tiles

转载 作者:行者123 更新时间:2023-12-04 00:35:15 25 4
gpt4 key购买 nike

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

最佳答案

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

注意:

What the OP calls XYZ format is the format popularized by Google Maps where a global/basemap is server-side split and served as tiles in a {z}/{x}/{y} format where zoom, latitude and longitude are represented internally [1]. Effectively, the name of the service providing such "format" is Tile Map Service (TMS)[2], and GeoServer does provide such service [3]. XYZ is just the name of the class in OpenLayers used to access a TMS server [4].

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

  • 检查您的 GeoServer 的 Caching Defaults 是否启用了 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. Google/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 OpenLayers:https://openlayers.org/en/latest/apidoc/module-ol_source_XYZ-XYZ.html

关于openlayers-3 - 以 XYZ 格式提供 GeoServer Tiles,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44287161/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com