我在服务器上使用GeoServer和种子图块。瓷砖创建成功但我不知道目录结构遵循哪种模式...(即... / EPSG_4326_05 / 0_0 / 00_06.png) 我想在OpenLayers应用程序中使用切片,并且我想使用OSM源,该源使用XYZ模式,该模式通常用作切片服务的URL模式。 有没有办法告诉地理服务器它应该用XYZ结构创建瓷砖?
答案 0 :(得分:1)
GeoServer(实际上GeoWebCache)可以提供可以服务器切片的number of end points。
这些都不使用所谓的XYZ系统(因为这不是标准),但OpenLayers有一个Tiled Layer,可以使用TileImage source处理TMS和WMTS服务器。
答案 1 :(得分:1)
这可能为时已晚,这是我的geoserver图层的XYZ网址:
http://localhost/gwc/tms/1.0.0/gis:service@EPSG%3A900913@png/{z}/{x}/{-y}.png
Geoserver会在您通过网址请求时自动缓存切片。
答案 2 :(得分:0)
很酷,一个小时前我有同样的问题。摘要如下。
注意:
OP所谓的
XYZ
格式是Google Maps流行的格式,其中全局/底图是服务器端拆分的,并以{z}/{x}/{y}
格式用作图块,其中表示了缩放,纬度和经度内部[1]。 实际上,提供这种“格式”的服务的名称为Tile Map Service (TMS)
[2],而GeoServer确实提供了这种服务[3]。XYZ
只是OpenLayers中用于访问TMS
服务器[4]的类的名称。
话虽这么说,这是在GeoServer和OpenLayers之间运行TMS服务的方法:
启用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)
希望有帮助。 干杯。
参考: