GetCoverage request Requirement 26 reqcoregetCoverage-request-structure:

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