geotrellis-server icon indicating copy to clipboard operation
geotrellis-server copied to clipboard

Support XML responses for WCS GetCoverage

Open CloudNiner opened this issue 5 years ago • 1 comments

The WCS 1.1.1 spec supports returning a GetCoverage response as an XML document according to https://portal.opengeospatial.org/files/07-067r2

We currently implement:

10.3.1 Introduction
The normal response to a valid GetCoverage operation request shall be a single coverage extracted from the coverage requested, with the specified spatial reference system, bounding box, size, format, and range subset.

But we could also support:

10.3.11 Response encodings
10.3.11.1 Overview
The encoding of the GetCoverage response consists of a Coverages XML document (see 10.3.11.2 below), packaged and bundled according to the request encoding and the value of the ―store‖ parameter (see Table 24). WCS servers shall implement response encodings according to Table 31.

This additional feature would allow us to support much more complete TimeSequence queries for arbitrary lists of TimePeriods or TimeIntervals.

It's likely that this implementation would also require implementing the store parameter to fully support the spec.

To verify that these types of requests are not currently supported by gt server, I made a request to:

http://localhost:9000/?SERVICE=WCS&VERSION=1.1.1&REQUEST=GetCoverage&FORMAT=xml&IDENTIFIER=us-ned&<...>

And got:

Error parsing parameters: Unsupported format: 'xml'.

Example

Taken from the same WCS 1.1.1 spec:

<?xml version="1.0" encoding="UTF-8"?>
<Coverages xmlns="http://www.opengis.net/wcs/1.1" xmlns:ows="http://www.opengis.net/ows" xmlns:schemaLocation="http://www.opengis.net/wcs/1.1 ../owsCoverages.xsd http://www.opengis.net/ows/1.1 ../../../ows/1.1.0/owsAll.xsd" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <Coverage>
    <ows:Title>TBD</ows:Title>
    <ows:Abstract>Coverage created from GetCoverage operation request
to a WCS</ows:Abstract>
    <Identifier>TBD</Identifier>
    <Reference xlink:href="http://my.server.com/coverage/image.tiff" xlink:role="urn:ogc:def:role:WCS:1.1:coverage" />
    <Reference xlink:href="http://my.server.com/coverage/metadata.xml" xlink:role="urn:ogc:def:role:WCS:1.1:metadata" />
  </Coverage>
</Coverages>

CloudNiner avatar Mar 02 '20 19:03 CloudNiner

Noting here that it doesn't look like GeoServer supports temporal queries at all, their WCS Request Builder demo doesn't allow you to choose a time slice: https://docs.geoserver.org/stable/en/user/services/wcs/requestbuilder.html#wcs-request-builder

QGIS supports the TimeSequence parameter, at least it exists in the code. Further testing in #157 might reveal further details.

CloudNiner avatar Mar 02 '20 20:03 CloudNiner