0

I'm trying to download some temporal weather raster data from a government supported server called GeoMet. I'm able to download some data using the request below:

http://geo.weather.gc.ca/geomet-beta?SERVICE=WCS&VERSION=1.0.0&REQUEST=GetCoverage&COVERAGE=GDPS.ETA_NT&BBOX=(-160,40,-30,80)&CRS=EPSG:4326&WIDTH=560&HEIGHT=900&FORMAT=GeoTIFF_16 

But I still a bit confused about the request structure, and how to acquire them? ( for example, how to find out which version to use, how to find out the coverage name etc).

  • 1
    did you look at the getcapabilities document? geo.weather.gc.ca/… – Ian Turton Apr 6 '17 at 16:41
  • Thanks@iant !Now reading more documents I think I understand about how to request information of wcs! – MaxG Apr 6 '17 at 16:53
  • Also you can use Qgis too – Ian Turton Apr 6 '17 at 16:58
  • I have tried to use QGIS, it indeed lets me add layer and download data, but the thing I want to do is embed the request into my script and using GDAL library to run some process. – MaxG Apr 6 '17 at 17:01
  • You can use python owslib to interact with the WCS – nmtoken Apr 7 '17 at 21:07
1

But I still a bit confused about the request structure, and how to acquire them?

To find out how to make a request to an OGC web service (OWS), the best place to start is the standards documentation, for example for WCS, the documents listed at:

OGC Web Coverage Service standards

for example, how to find out which version to use, how to find out the coverage name etc)

The standard way to find out information about any OGC web service (CSW, SOS, WCS, WFS, WMS, WPS) is to issue a GetCapabilities request. A GetCapabilities request may include a version or version can be omitted (in which case you get a response from the highest version of the standard supported by the service). The general format (without version) is:

service-endpoint? service=[type of service] request=[type of request]

So in this case you could have:

http://geo.weather.gc.ca/geomet-beta?SERVICE=WCS&request=GetCapabilities&

or you could request versions as a list (latest versions of the OWS standards)

http://geo.weather.gc.ca/geomet-beta?SERVICE=WCS&request=GetCapabilities&acceptversions=2.0.1,2.0.0,1.1.1,1.0.0&

or request specific version...

http://geo.weather.gc.ca/geomet-beta?SERVICE=WCS&request=GetCapabilities&version=1.1.1&

The response gives you information on the names/identifiers of the coverages, the operations supported by the service, the extents of the data, the Coordinate reference systems you can request data in, the versions of the standard supported by the service, data formats, etc.

The version of the standard you use in subsequent requests will depend on the software you are using and what it can support, if the client can support multiple versions you should get a choice as a user as to which you would like to use or if, for example WCS with QGIS, only one version of the standard is supported then the client will use that version (QGIS uses WCS 1.0.0).

To find out more information about any coverage (without actually retrieving any data) you would use a DescribeCoverage request, like:

http://geo.weather.gc.ca/geomet-beta?SERVICE=WCS&REQUEST=DescribeCoverage&VERSION=1.0.0&COVERAGE=GDPS.ETA_ES&

or

http://geo.weather.gc.ca/geomet-beta?SERVICE=WCS&REQUEST=DescribeCoverage&VERSION=2.0.1&COVERAGEID=GDPS.ETA_ES&

Note GetCapabilities is the only request type where the version parameter can be omitted.

And to get the data you issue a GetCoverage request.

  • Hi, thanks for your throughout and detailed explanation! Great answer! I'm now experiencing some interesting subset dimensions problems, detailed questions see here:gis.stackexchange.com/q/237502/53656; if you don't mind can you take a look and see if you know the reason? Thanks! – MaxG May 15 '17 at 22:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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