WCS 2.0 Client
Author: Bang Pham Huu, Dimitar Misev, Mikhail Rodyonichev, Christian Schiller
Copyright: rasdaman GmbH, 2024; EOX IT Services GmbH, 2014
Instructions and Hints
A listing of New Features and Bug-Fixes can be found at GitHub: https://github.com/rasdaman/QgisWcs2Client
Contents:
Introduction: What the WCS 2 plugin is about
Getting Started: Initiating the WCS 2 plugin
How To: A detailed description of the available functionalities and settings
Quick How To: A very short, stepwise description
Introduction
This WCS 2 client is intended to be used to access/download single Coverage (which are offered by OGC WCS 2.x conformant servers) in a convenient way from within QGis (>3.0).
It does not work for WCS v. 1.0 or v1.1 (use the QGis native WCS-client for those).
Downloaded datasets are stored locally and loaded directly into QGis for further usage.
This client provides the possibility to send OGC GetCapabilities, DescribeCoverage and GetCoverage requests to a selected WCS 2.0 server.
The respective request results are received and either shown completely or the relevant information is extracted and provided in the GUI for further usage within the client.
The GUI provides tabs for each request, allowing to select optional parameters (e.g. sub-setting in space, time, and other dimensions) to be sent with the request.
However, not all servers may honor all optional parameters.
So if you receive an error message or no answser at all try it with different optional settings.
See also the 'How To' section for further details and the 'Hint - Erroneous behaviour' section.
Getting Started
A demo server is already set up in the "Server" tab. To define a new server press the "New" button, and enter a (personal) "Server Name" and the WCS Access "Server URL". Press "OK" when done. All server entries are stored in the WCS 2 plugin installation directory.
The supplied server information can be changed anytime utilizing the "Edit" button.
Any server entry can be deleted utilizing the "Delete" button".
When the server information has been provided, select the desired "Server" entry from the list and press the "Connect to Server" button.
If the selected server requires authentication, then you can provide username and password to authenticate via basic authentication.
You always need to be connected to a server before you can send requests.
How To
This section shortly describes a 'typical' usage scenario, starting with a GetCapabilities request to the final download of Coverages utilizing a GetCoverage request.
It also explains the provided options available in the GUI.
Server tab
The WCS 2 plugin always starts with the "Server" tab.
Select the desired "Server" entry from the list and press the "Connect to Server" button. You always need to be connected to a server before you can send requests!
When the connection is established successfully, the line "Response: Server OK" is printed in the "General Information / Errors / etc." field.
If you want to download a Coverage via WCS GetCoverage request, you need to supply a "Local Storage Path". Either type the path into the "Local Storage Path" field or use the "..." button for the path selection.
If a server-redirection is encountered a warning message with the relevant information is presented. Automatic redirection has not been implemented due to security concerns, so the server URL must be manually updated.
If the selected server requires authentication, then you can provide username and password to authenticate via basic authentication.
When the server connection is established click on the "GetCapabilities" tab.
GetCapabilities tab
Click on "GetCapabilities" button.
The returned results will be shown in the "Results of GetCapabilities Request" field. There you will see the the following columns:
CoverageID
AxisLabels (if this metadata provided for each coverage on server)
LowerCorner (axes' lower bounds of each coverage)
UpperCorner (axes' upper bounds of each coverage
When the GetCapabilities results are listed you have to choose at least one CoverageID. However, the selection of multiple IDs is possible.
The selected items will automatically show up in the "DescribeCoverage" tab and in the "GetCoverage" tab (if a Coverage has been selected)
Change to the "DescribeCoverage" tab. If you have chosen only CoverageIDs you may also switch directly to the "GetCoverage" tab.
By selecting the "View GetCapabilities XML" checkbox (at the lower left) you can look at the actual XML returned. To save it use copy/paste (Hint: Ctrl-A selects all the text) to do so.
DescribeCoverage tab
If one or more CoverageIDs have been selected in the "Results of GetCapabilities Request" field they will be shown in the "Selections from the GetCapabilities Results" field. You need to select a single CoverageID to send a DescribeCoverage request to the server. The full results of this request will be shown in a separate window. No optional parameters are available for a DescribeCoverage request.
The GML result is useful to know about the coverage's description (e.g. specified axes, bands) to be used in GetCoverage tab
GetCoverage tab
The CoverageIDs selected in the "Results of GetCapabilities Request" field are shown in the "GetCoverage: download a Coverage" field.
Select one CoverageID which you want to download and access in QGis.
The following optional parameters, to limit and configure the resulting downloaded Coverages, are provided:
Axes Subsets: You can subset an axis by trimming / slicing which will reduce the size of processed result on server (e.g. to get a timeslice of a 3D coverage as a 2D image and overlay on QGIS as a layer). In order to slice on an axis, you can click on one of the radio button for lower bound or upper bound. If you want to trim, then do not check any radio buttons corresponding to the axis.
Output Format: You may choose one of the supported "Output Formats" (file formats) in which the Coverages shall be delivered. The listing of the server side supported "Output Formats" is gathered during the "Connect to Server" initialization process.
Ranges Subets: Here you may provide a comma-separated list of the desired bands (and their order). The delivered Coverages will be subsetted to contain only the provided bands in the provided order.
Interpolation: The method of interpolation applied during subsetting and especially for resizing of the delivered Coverages. Here either the values provided in the Caopabilities document are set or some default values are provided (nearest, bilinear, average). Note: Not all possibilities might be supported by all WCS servers. These are usually overwritten by the values received from the GetCapabilities request.
Output CRS: Independent of the original CRS, you may choose to reproject the delivered Coverage to another CRS offered by the WCS server. You need to check on CRS radio button then provide the EPSG code (e.g. 3857). Note: projection works on a 2D geo-referenced coverage, so you will need to add slicings on a 3D+ coverage to make it 2D.
Once you have done with settings, select the "GetCoverage" button to start the download.
This may take some time to process on server and to download result depending on the size of the requested coverage. Note: it is much faster to process and download result when you provided axes subsets and ranges subsets for the area of interest and interested band(s).
The Coverage will be downloaded and stored in the provided location as a file, then if the result is 2D which is loadable on QGis then it will show as a QGis raster layer .
Hint - Erroneous behaviour
In most cases problems will be due to server errors e.g. an optional parameter is not supported. Unfortunately some servers do not indicate this directly but just issue a general server error. So please try the request with different parameter settings before sending error reports.
When the server returns an error, it is usually downloaded as a text file which you need to open to read the error message.
I tried to anticipate the most common error issues and provide direct information and hints to the user. But I certainly haven't covered all the possibilities.
Quick How To:
Select a WCS server from the "Server" list and press the "Connect to Server" button
Provide a "Local Storage Path" where downloaded Coverages shall be stored
Switch to the "GetCapabiltites" tab and press the "GetCapabilties" button
Select one or more CoveragesIDsof interest
If Coverages have been selected, switch to the "DescribeCoverage" tab
Issue a DescribeCoverage request
Check the returned DescribeCoverage result and close it
Switch to the "GetCoverage" tab
Optional: provide axes' subsets and range subets in “GetCoverage” tab
Check for the desired "Output Format" and the "Output CRS" ! Only images can be incorporated into QGis i.e. a download in gml will not possible to display on QGis.
Press "GetCoverage" button to start the download
The Coverage will be downloaded and stored in the provided location ("Local Storage Path") and if it is 2D image then it can be shown on QGis
Please be patient. This may take some time (according to the size of requested coverage)
About
General Information about: Author / Company / Contact / Copyright / Acknowledgements / License.
Please see the separate "About" tab.
Extra information (e.g. about recent bug-fixes, etc. can be found at GitHub: https://github.com/rasdaman/QgisWcs2Client