Copyright © 2012 Open Geospatial Consortium. 23
Requirement 25 reqcoregetCoverage: Every WCS implementation shall support the GetCoverage operation.
Domain subsetting is subdivided into trimming and slicing. A trim operation identifies a di- men
sion and a lower and upper bound which both must lie inside the coverage’s domain and delivers a coverage whose domain, in the dimension specified, is reduced to these new,
narrower limits. The result coverage’s dimension is identical to that of the input coverage. A domain slice operation receives a dimension and a position which must lie inside the cov-
erage’s domain and delivers a coverage which is a slice of the offered coverage obtained at the cutting position provided. The dimension of the result coverage is reduced by one as
compared to the original coverage.
Both trimming and slicing can be combined arbitrarily in a request and on as many dimen- sions as desired. However, per request at most one operation can be applied per dimension.
8.4.1 GetCoverage request Requirement 26 reqcoregetCoverage-request-structure:
A GetCoverage request shall consist of a structure as defined in Figure 9, Table 16, Table 17, Table 18, and Table 19.
Dependency: [OGC 06-121r9] Clause 7
http:www.opengis.netdocOWS2.0clause7
class GetCov erage
«DataType»
GetCov erage
+ request: CharacterString = GetCoverage {readOnly} + coverageId: NCName
«DataType»
«Data Type» DimensionSubset
+ dimension: NCname
«DataType»
«Data Type» DimensionTrim
+ trimLow: String [0..1] + trimHigh: String [0..1]
«DataType»
«Data Type» DimensionSlice
+ slicePoint: String «Data Type»
RequestBase
+ service: string = WCS {readOnly} + version: string
+ section: String = All
+dimensionSubset 0..
24 Copyright © 2012 Open Geospatial Consortium.
Figure 9 — WCS GetCoverage operation request UML class diagram
Table 16 — WCS GetCoverage operation request
Name Definition
Data type Multiplicity
service Service identifier
String, fixed to “WCS”
one mandatory
version WCS service version indi-
cator String,
fixed to a pattern of three dot-separated decimal dig-
its one
mandatory
extension Any ancillary information
to be sent from client to server
Any this mimics the XML
wcs:Extension type encapsulating XML
any elements zero or one
optional
coverageId
Identifier of coverage evalu- ated
NCName
one mandatory
format
MIME type identifier of the format in which the coverage
returned is encoded
anyURI
zero or one optional
mediaType
If present, enforces a multi- part encoding
anyURI
, fixed to “multipartrelated”
zero or one optional
dimension- Subset
Subsetting specifications, one per subsetting dimension
DimensionSubset
zero or more optional
Requirement 27 reqcoregetCoverage-request-valid-identifier: The coverageId parameter value in a GetCoverage request shall be equal to the identifier
of one of the coverages offered by the server addressed.
The encoding format in which the coverage will be returned is specified by the combination of format and mediaType parameter. Admissible values i.e, formats supported are those
listed in the server’s Capabilities document. Default is the coverage’s Native Format.
Requirement 28 reqcoregetCoverage-acceptable-format: If a GetCoverage request contains a format parameter then this parameter shall contain a
MIME type identifier occurring in some wcs:formatSupported element of the response to a successful GetCapabilities request to this server.
NOTE The default format for the coverage response is the coverage’s Native Format.
Requirement 29 reqcoregetCoverage-acceptable-mediaType: If a GetCoverage request contains a mediaType parameter then this parameter shall contain
a MIME type
identifier of fixed value “multipartrelated”.
The dimensionSubset structure consists of a set of subsetting specifications for the cov- er
age’s dimensions as described in Table 17.
Copyright © 2012 Open Geospatial Consortium. 25
Table 17 — WCS DimensionSubset structure
Name Definition
Data type Multiplicity
dimension
Name of dimension along which to subset
NCName
one mandatory
Subsetting in this Core is evaluated against the gml:Envelope element contained in the boundedBy element of the coverage addressed. No CRS parameter is foreseen in the Core
GetCoverage request; subsetting coordinates are always interpreted as being relative to the CRS in which the gml:Envelope coordinates are expressed, as listed in its srsName
attribute “Native CRS” of the coverage.
NOTE A CRS is always present in a coverage as per Requirement 2.
Subsetting dimension names refer to the coverage’s dimension names as listed in the
gml:SRSInformationGroup of the coverage’s gml:Envelope.
Requirement 30 reqcoregetCoverage-request-valid-dimension: Every dimension value in a GetCoverage request shall be equal to one of the axisLab-
els dimension names specified in the gml:SRSInformationGroup of the cover age’s
gml:Envelope, unless the server offers a WCS CRS extension which overrides this requi- rement.
Dependency: [OGC 07-036] Clause 10
http:www.opengis.netdocGML3.2clause10
NOTE GML [OGC 07-036
] states in schema file geometryBasic0d1d.xsd: “The attribute axisLabels is an ordered list of labels for all the axes of this CRS. The gml:axisAbbrev value should be used for these
a xis labels, after spaces and forbidden characters are removed.”
In one single GetCoverage request, subsetting can be done at most once for every axis.
Requirement 31 reqcoregetCoverage-request-no-duplicate-dimension: A GetCoverage request shall contain at most one subsetting operation for each of the dimen-
sions of the coverage addressed.
Depending on whether the DimensionSubset is a trim or slice operation, its correspond- ing subclasses are DimensionTrim and DimensionSlice, as shown in Table 18 and
Table 19.
NOTE The data type is string and not numeric as some axis coordinate representations, like date and
time, have representations beyond pure digits.
Table 18 — WCS DimensionTrim structure
Name Definition
Data type Multiplicity
trimLow
Lower bound of cutout along dimension
String
zero or one optional
trimHigh
Upper bound of cutout along dimension
String
zero or one optional
26 Copyright © 2012 Open Geospatial Consortium.
Requirement 32 reqcoregetCoverage-request-trim-within-extent:
Let the extent of the coverage’s gml:Envelope along the dimension specified in the trim request range from L to H. Then, for the trim bounds trimLow and trimHigh the follow-
ing shall hold: L
trimLow trimHigh H.
Table 19 — WCS DimensionSlice structure
Name Definition
Data type Multiplicity
slicePoint
Slicing point along dimension
String
one mandatory
Requirement 33 reqcoregetCoverage-request-slice-within-extent:
Let the extent of the coverage’s gml:Envelope along the dimension specified in the slice request range from L to H. Then, for the slicing position, slicePoint, the following shall
hold: L slicePoint H.
NOTE Extensions to this core may add further functionality over trimming and slicing, including fur-
ther parameters which may extend such functionality. For example, a forthcoming WCS nil values extension may specify, by way of an additional parameter, that bounding boxes larger than the coverage extent are
admissible.
8.4.2 GetCoverage response 8.4.2.1. General coverage response structure