问题描述
我设置了一个 PostGIS 数据库,该数据库通过参数化 sql 视图添加到 GeoServer 中。我使用 Leaflet 通过 wms 显示该图层。
它工作正常,直到我使用 URL“/geoserver/gwc/service/wms”而不是“/geoserver/wms”添加 GeoWebcache。当我处于最小缩放时,我仍然可以看到我的多边形。但是当我缩放时,我只看到一个红色多边形和一个绿色多边形的一半,如果我再次缩放,我只会看到红色多边形。您可以在下图中看到这 3 种状态:
我想这是平铺的问题:我得到了最小的图块以及红色多边形周围的一些图块以进行进一步缩放,但由于某种原因,似乎没有发送其他图块。
geoJSONlayer = L.tileLayer.wms("/geoserver/gwc/service/wms",{
layers: 'cartowiki:choix',format: 'image/png',transparent: true,viewparams: 'year:'+(annee+3000)
}).addTo(map);
geoJSONlayer.addTo(map);
你知道这里的问题吗?
提前致谢,
解决方法
边界框确实是问题所在。在 Geoserver 中,我不得不在 2 个地方修改图层的属性:
-
我在数据部分的边界框部分单击了“从 SRS 边界计算”,然后单击“从本机边界计算”
-
我删除并再次创建了 Tile Caching 部分中的可用网格集,以便网格子集边界会随着新的边界框更新
我希望它可以在未来帮助某人!