问题描述
我设置了一个 PostGIS 数据库,该数据库通过参数化 sql 视图添加到 GeoServer 中。我设置的参数是 'year' :它只允许选择我的数据库中将这一年作为属性的多边形。
我知道这有效,因为我可以通过本地链接在我的图层上成功使用 GeoServer 的图层预览:http://localhost:9999/geoserver/cite/wms?service=WMS&version=1.1.0&request=GetMap&viewParams=year :0&layers=cite%3Achoix_annee&bBox=-56.6015625%2C25.16517336866393%2C-16.875%2C47.040182144806664&width=768&height=422%0Gsrs=422&openstyle=0Gs0srrs
有趣的选项是“viewParams=year:0”。
在 Leaflet 中,我使用以下代码通过 wms 导入我的图层:
<script>
// Find our map id
var map = L.map('map');
var wmsLayer = L.tileLayer.wms('/geoserver/gwc/service/wms',{
layers: 'cartowiki:choix',format: 'image/png',transparent: true,viewparams: 'year:1000'
}).addTo(map);
// Set the map view
map.setView([46.988332,2.605527],2);
</script>
它第一次工作,但随后 GeoWebcache 进行干预并阻止我获得适合我要求的年份的结果,它总是为我提供我要求的第一年的结果。我试图在我的图层的图块缓存模块中使用正则表达式指定 year 参数,但它不起作用,我不知道为什么。
这是我在 geoserver 中的设置视图:geoserver settings
谢谢,
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)