我有一个数据库,其中包含html
格式的一些天气数据。每个表格代表特定时间点的天气状况。
使用地理服务器,我可以在浏览器上显示每个表。
我一直在寻找一种方法,可以添加为我的.js
代码的滑块,因此当我滑过滑块时,它会显示每分钟的天气状况。
我在这里找到了一些html
代码,但老实说,不知道在哪里添加以符合我的目的(或者即使它真的符合目的)
https://github.com/metno/openlayers-timeslider
此外,我不知道这是否有用,但显示地图上数据的var rainLayer = new ol.layer.Tile({
source: new ol.source.TileWMS({
url: 'http://x.x.x.x/geoserver/wms',
params: {'LAYERS': 'storename:layername'}
});
部分如下:
frameworks: ['jasmine'],
files: [
'public/javascripts/angular/*.js',
'app_client/app.js',
'app_client/dashboard/controller/test/addfix-ctrl.spec.js'
],
答案 0 :(得分:2)
您可以将ImageMosaic插件用于Geoserver的栅格时间序列数据。 Here是用于实现启用时间的ImageMosaic的文档。 在实现镶嵌后,您需要将时间参数传递给openlayers中的geoserver,如下所示:
var wms = new ol.layer.Tile({
name: name,
opacity: opacity,
source: new ol.source.TileWMS({
url: global.geoserverWMS2 + 'wms',
params: {
'LAYERS': layer_name,
'TILED': true,
'TIME': '2017-01-01', // this is an example
},
serverType: 'geoserver'
})
});
一旦你想更改时间参数以呈现相应的天气图像,只需使用wms图层上的updatePrams(),如下所示:
wms.getSource().updateParams({'time': '2016-01-01'})
wms.getSource().updateParams({'time': '2015-01-01'})
wms.getSource().updateParams({'time': '2014-01-01'})
它将刷新数据源并渲染新图像。