Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

Does anyone know if there's support for WMS-T in QGIS?

Through the app I can add WMS layers, but I can't work with WMS-T (there's no place to set the time parameter).

I been going through the the Python plugins and although there are some that do work with time (Time Manager, Multi temporal and Multivariate data visualisation) they do not support the WMS protocol (they work directly with databases).

share|improve this question

3 Answers 3

This is being worked on at the Time Manager plugin right now https://github.com/anitagraser/TimeManager/pull/134

And here is a small animation: http://postimg.org/image/nvoqb9uc5/

share|improve this answer

There currently is an awkward level of WMS-T support in QGIS--you put the TIME parameter in the WMS URL and tell it to use your given URL that instead of the URLs in the GetCapabilities document.

You can get a specific time from the NEXRAD WMS-T server into QGIS by using a URL string like the below in Layer/Add WMS/WMTS layer/New/URL :

http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi?TIME=2005-08-29T13:10:00Z&LAYERS=nexrad-n0r-wmst&TRANSPARENT=TRUE&VERSION=1.1.1&

Then check the 'Ignore GetMap/GetTile URI reported in capabilities' and 'Ignore GetFeatureInfo URI reported in capabilities' options to use the given URI as a prefix, (instead of generating one from scratch ignoring all the optional parameters) then choose OK, Connect, and choose the 'nexrad-nor-wmst' layer, 'Add' and you'll get a radar image of Katrina in New Orleans, USA.

enter image description here

This isn't a fully-featured WMS-T interface, but it is an invocation of the WMS-T as a plain-old WMS service that enables QGIS to call a particular time (or other optional dimension) made available by a WMS.

This WMST dataset covers from 1995 to present with 5 minute resolution, so I think it could be a good test-case for developing WMST coverage. From the capabilities document for the NEXRAD WMS-T service, the time range is about a million images:

<Extent name="time" default="2006-06-23T03:10:00Z" nearestValue="0">1995-01-01/2015-12-31/PT5M</Extent>

In QGIS python console, you can do WMS-T by editing and updating the rlayer.dataProvider().DataSourceUri() like this:

urlWithParams = 'IgnoreGetFeatureInfoUrl=1&IgnoreGetMapUrl=1&contextualWMSLegend=0&crs=EPSG:3857&dpiMode=7&featureCount=10&format=image/png&layers=nexrad-n0r-wmst&styles=&url=http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi?TIME%3D2005-08-29T13:10:00Z%26LAYERS%3Dnexrad-n0r-wmst%26TRANSPARENT%3DTRUE%26VERSION%3D1.1.1%26'

urlWithParams2 = 'IgnoreGetFeatureInfoUrl=1&IgnoreGetMapUrl=1&contextualWMSLegend=0&crs=EPSG:3857&dpiMode=7&featureCount=10&format=image/png&layers=nexrad-n0r-wmst&styles=&url=http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi?TIME%3D2005-08-29T06:10:00Z%26LAYERS%3Dnexrad-n0r-wmst%26TRANSPARENT%3DTRUE%26VERSION%3D1.1.1%26'

rlayer = QgsRasterLayer(urlWithParams, 'radar WMST timeV2', 'wms')
QgsMapLayerRegistry.instance().addMapLayer(rlayer)

#update to different time
rlayer.dataProvider().setDataSourceUri(urlWithParams2)
rlayer.dataProvider().reloadData()
rlayer.triggerRepaint()

Earlier Katrina WMS-T image

share|improve this answer

I've created a feature request for this functionality https://hub.qgis.org/issues/13085

share|improve this answer
    
It might be rough and awkward, but some of the functionality is available in the python console. –  Dave X Jul 9 at 15:14

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.