3.4. Web Coverage Service (WCS)
The 1.0.0 and 1.1.1 WCS standards implemented in QGIS Server provide a HTTP interface to access raster data, referred to as coverage, coming from a QGIS project.
Specifications:
Standard requests provided by QGIS Server:
Request |
Description |
---|---|
Returns XML metadata with information about the server |
|
Retrieves XML document about additional information about coverages |
|
Retrieves coverage |
3.4.1. GetCapabilities
Standard parameters for the GetCapabilities request according to the OGC WCS 1.1.1 specifications:
Parameter |
Required |
Description |
---|---|---|
Yes |
Name of the service (WCS) |
|
Yes |
Name of the request (GetCapabilities) |
|
No |
Version of the service |
In addition to the standard ones, QGIS Server supports the following extra parameters:
Parameter |
Required |
Description |
---|---|---|
Yes |
QGIS project file |
URL example:
http://localhost/qgis_server?
SERVICE=WCS
&VERSION=1.1.1
&REQUEST=GetCapabilities
XML document example when a single raster layer (named
T20QPD_20171123T144719_TCI
) is published in the QGIS project for the WCS
service:
<WCS_Capabilities xmlns="http://www.opengis.net/wcs" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gml="http://www.opengis.net/gml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0.0" updateSequence="0" xsi:schemaLocation="http://www.opengis.net/wcs http://schemas.opengis.net/wcs/1.0.0/wcsCapabilities.xsd">
<Service>
...
</Service>
<Capability>
...
</Capability>
<ContentMetadata>
<CoverageOfferingBrief>
<name>T20QPD_20171123T144719_TCI</name>
<label>T20QPD_20171123T144719_TCI</label>
<lonLatEnvelope srsName="urn:ogc:def:crs:OGC:1.3:CRS84">
<gml:pos>-61.585973 16.331189</gml:pos>
<gml:pos>-61.52537 16.400376</gml:pos>
</lonLatEnvelope>
</CoverageOfferingBrief>
</ContentMetadata>
</WCS_Capabilities>
VERSION
This parameter allows to specify the version of the service to use. Currently,
the version values is not internally used and always fallback to 1.1.1
.
3.4.2. DescribeCoverage
This request allows to retrieve additional information about coverages like the format of the underlying datasource, the number of bands, … Standard parameters for the DescribeCoverage request according to the OGC WCS 1.1.1 specifications:
Parameter |
Required |
Description |
---|---|---|
Yes |
Name of the service (WCS) |
|
Yes |
Name of the request (DescribeCoverage) |
|
No |
Version of the service |
|
No |
Specify coverage layers (WCS 1.0.0) |
|
No |
Specify coverage layers (WCS 1.1.1) |
In addition to the standard ones, QGIS Server supports the following extra parameters:
Parameter |
Required |
Description |
---|---|---|
Yes |
QGIS project file |
The XML document for a 3 bands GeoTIFF raster layer looks like:
<CoverageDescription xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.opengis.net/wcs" xmlns:gml="http://www.opengis.net/gml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" updateSequence="0" version="1.0.0" xsi:schemaLocation="http://www.opengis.net/wcs http://schemas.opengis.net/wcs/1.0.0/describeCoverage.xsd">
<CoverageOffering>
<name>T20QPD_20171123T144719_TCI</name>
<label>T20QPD_20171123T144719_TCI</label>
<lonLatEnvelope srsName="urn:ogc:def:crs:OGC:1.3:CRS84">
...
</lonLatEnvelope>
<domainSet>
...
</domainSet>
<rangeSet>
<RangeSet>
<name>Bands</name>
<label>Bands</label>
<axisDescription>
<AxisDescription>
<name>bands</name>
<label>bands</label>
<values>
<singleValue>1</singleValue>
<singleValue>2</singleValue>
<singleValue>3</singleValue>
</values>
</AxisDescription>
</axisDescription>
</RangeSet>
</rangeSet>
<supportedCRSs>
...
</supportedCRSs>
<supportedFormats nativeFormat="raw binary">
<formats>GeoTIFF</formats>
</supportedFormats>
</CoverageOffering>
</CoverageDescription>
COVERAGE
This parameter, defined in WCS 1.0.0
, allows to specify the layers to query
for additional information. Names have to be separated by a comma.
In addition, QGIS Server introduced an option to select layers by its short name. The short name of a layer may be configured through
in layer menu. If the short name is defined, then it’s used by default instead of the layer’s name:http://localhost/qgisserver?
SERVICE=WCS
&REQUEST=DescribeCoverage
&COVERAGE=mylayer1name,mylayer2shortname
Pastaba
COVERAGE
is mandatory if IDENTIFIER
is not set.
IDENTIFIER
This parameter replaces the COVERAGE
parameter in WCS 1.1.1
. But QGIS Server does not filter according to the
VERSION
parameter so IDENTIFIER
and COVERAGE
have the same effect.
Pastaba
IDENTIFIER
is mandatory if COVERAGE
is not set. If both
IDENTIFIER
and COVERAGE
parameters are defined, COVERAGE
is
always used in priority.
3.4.3. GetCoverage
This request allows to retrieve the coverage according to specific constraints like the extent or the CRS. Standard parameters for the DescribeCoverage request according to the OGC WCS 1.1.1 specifications:
Parameter |
Required |
Description |
---|---|---|
Yes |
Name of the service (WCS) |
|
Yes |
Name of the request (GetCoverage) |
|
No |
Version of the service |
|
No |
Specify coverage layers (WCS 1.0.0) |
|
No |
Specify coverage layers (WCS 1.1.1) |
|
Yes |
Width of the response in pixels |
|
Yes |
Height of the response in pixels |
|
Yes |
Map extent in CRS units |
|
Yes |
Coordinate reference system of the extent |
|
No |
Coordinate reference system of the response |
In addition to the standard ones, QGIS Server supports the following extra parameters:
Parameter |
Required |
Description |
---|---|---|
Yes |
QGIS project file |
BBOX
This parameter allows to specify the map extent in the units of the current
CRS. Coordinates have to be separated by a comma. The BBOX
parameter is
formed like minx,miny,maxx,maxy
.
URL example:
http://localhost/qgisserver?
SERVICE=WCS
&REQUEST=GetCoverage
&IDENTIFIER=T20QPD_20171123T144719_TCI
&BBOX=647533,1805950,660987,1813940
&CRS=EPSG:32620
CRS
This parameter allows to indicate the Spatial Reference System of the BBOX
parameter and has to be formed like EPSG:XXXX
.
RESPONSE_CRS
This parameter allows to indicate the output response Spatial Reference System
and has to be formed like EPSG:XXXX
. The CRS of the corresponding coverage
layer is used by default.
WIDTH
This parameter allows to specify the width in pixels of the output image. The resolution of the response image depends on this value.
HEIGHT
This parameter allows to specify the height in pixels of the output image. The resolution of the response image depends on this value.
![../../../_images/server_wcs_getcoverage_width_height.png](../../../_images/server_wcs_getcoverage_width_height.png)
Fig. 3.22 From left to right: WIDTH=20&HEIGHT=20
, WIDTH=50&HEIGHT=50
, WIDTH=100&HEIGHT=100