Open Geospatial Consortium |
Submission Date: 2016-08-31 |
Approval Date: TBD |
Publication Date: TBD |
External identifier of this OGC® document: http://www.opengis.net/doc/IS/WCS-application-profile-earth-observation/1.1 |
Internal reference number of this OGC® document: 10-140r2 |
URL for this OGC® document: https://schpidi.github.io/eo-wcs/ |
PDF version: https://schpidi.github.io/eo-wcs/index.pdf |
Version: 1.1draft2 |
Category: OGC® Interface Standard |
Editor: Peter Baumann, Stephan Meissl, Jinsongdi Yu |
OGC® Web Coverage Service 2.0 Interface Standard - Earth Observation Application Profile |
Copyright notice |
Copyright © 2014, 2016, 2017 Open Geospatial Consortium |
To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ |
Warning |
This document is not an OGC Standard. This document is distributed for review and comment. This document is subject to change without notice and may not be referred to as an OGC Standard.
Recipients of this document are invited to submit, with their comments, notification of any relevant patent rights of which they are aware and to provide supporting documentation.
Document type: OGC® Standard |
Document subtype: Interface |
Document stage: Draft update of Approved version |
Document language: English |
License Agreement
Permission is hereby granted by the Open Geospatial Consortium, ("Licensor"), free of charge and subject to the terms set forth below, to any person obtaining a copy of this Intellectual Property and any associated documentation, to deal in the Intellectual Property without restriction (except as set forth below), including without limitation the rights to implement, use, copy, modify, merge, publish, distribute, and/or sublicense copies of the Intellectual Property, and to permit persons to whom the Intellectual Property is furnished to do so, provided that all copyright notices on the intellectual property are retained intact and that each person to whom the Intellectual Property is furnished agrees to the terms of this Agreement.
If you modify the Intellectual Property, all copies of the modified Intellectual Property must include, in addition to the above copyright notice, a notice that the Intellectual Property includes modifications that have not been approved or adopted by LICENSOR.
THIS LICENSE IS A COPYRIGHT LICENSE ONLY, AND DOES NOT CONVEY ANY RIGHTS UNDER ANY PATENTS THAT MAY BE IN FORCE ANYWHERE IN THE WORLD.
THE INTELLECTUAL PROPERTY IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE DO NOT WARRANT THAT THE FUNCTIONS CONTAINED IN THE INTELLECTUAL PROPERTY WILL MEET YOUR REQUIREMENTS OR THAT THE OPERATION OF THE INTELLECTUAL PROPERTY WILL BE UNINTERRUPTED OR ERROR FREE. ANY USE OF THE INTELLECTUAL PROPERTY SHALL BE MADE ENTIRELY AT THE USER’S OWN RISK. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR ANY CONTRIBUTOR OF INTELLECTUAL PROPERTY RIGHTS TO THE INTELLECTUAL PROPERTY BE LIABLE FOR ANY CLAIM, OR ANY DIRECT, SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM ANY ALLEGED INFRINGEMENT OR ANY LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR UNDER ANY OTHER LEGAL THEORY, ARISING OUT OF OR IN CONNECTION WITH THE IMPLEMENTATION, USE, COMMERCIALIZATION OR PERFORMANCE OF THIS INTELLECTUAL PROPERTY.
This license is effective until terminated. You may terminate it at any time by destroying the Intellectual Property together with all copies in any form. The license will also terminate if you fail to comply with any term or condition of this Agreement. Except as provided in the following sentence, no such termination of this license shall require the termination of any third party end-user sublicense to the Intellectual Property which is in force as of the date of notice of such termination. In addition, should the Intellectual Property, or the operation of the Intellectual Property, infringe, or in LICENSOR’s sole opinion be likely to infringe, any patent, copyright, trademark or other right of a third party, you agree that LICENSOR, in its sole discretion, may terminate this license without any compensation or liability to you, your licensees or any other party. You agree upon termination of any kind to destroy or cause to be destroyed the Intellectual Property together with all copies in any form, whether held by you or by any third party.
Except as contained in this notice, the name of LICENSOR or of any other holder of a copyright in all or part of the Intellectual Property shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Intellectual Property without prior written authorization of LICENSOR or such copyright holder. LICENSOR is and shall at all times be the sole entity that may authorize you or any third party to use certification marks, trademarks or other special designations to indicate compliance with any LICENSOR standards or specifications. This Agreement is governed by the laws of the Commonwealth of Massachusetts. The application to this Agreement of the United Nations Convention on Contracts for the International Sale of Goods is hereby expressly excluded. In the event any provision of this Agreement shall be deemed unenforceable, void or invalid, such provision shall be modified so as to make it valid and enforceable, and as so modified the entire Agreement shall remain in full force and effect. No decision, action or inaction by LICENSOR shall be construed to be a waiver of any rights or remedies available to it.
- 1. Scope
- 2. Conformance
- 3. Normative references
- 4. Terms and Definitions
- 5. Conventions
- 6. EO data model
- 7. EO service model
- 8. WCS extensions
- 9. Protocol Bindings
- Annex A: Conformance Class Abstract Test Suite (Normative)
- A.1. Conformance Test Classes: eowcs & eowcs_geteocoverageset
- A.1.1. EO Metadata
- A.1.2. Footprint in EO Metadata
- A.1.3. EO Coverage
- A.1.4. EO Metadata in EO Coverage
- A.1.5. EOP Identifier in EO Metadata
- A.1.6. Footprint inside BoundedBy
- A.1.7. PhenomenonTime in EO Metadata
- A.1.8. PhenomenonTime ISO9891
- A.1.9. Range type extension
- A.1.10. Range type uom
- A.1.11. Range type name
- A.1.12. Rangeset of Coverage
- A.1.13. Dataset Structure
- A.1.14. Referenceable Stitched Mosaic-structure
- A.1.15. Rectified Stitched Mosaic-structure
- A.1.16. Composed-of in Stitched mosaic
- A.1.17. Contributing Footprint inside Footprint
- A.1.18. Contributing Footprint-pairwise-disjoint
- A.1.19. Contributing Footprint-union-of-footprints
- A.1.20. Dataset Domain Set in Set in Stitched Mosaic Domain Set
- A.1.21. Datasets in Rectified Stitched Mosaic Same Offset Vector
- A.1.22. Rectified Stitched Mosaic OffsetVector
- A.1.23. Referenceable Stitched Mosaic Domainset
- A.1.24. Temporal Validity Stitched Mosaic
- A.1.25. Datasets in Stitched Mosaic Same Rangetype
- A.1.26. Nil Values in Stitched Mosaic
- A.1.27. Range Values of Stitched Mosaic
- A.1.28. Dataset Series Structure
- A.1.29. Footprint in Dataset Series
- A.1.30. TimePeriod in DatasetSeries
- A.1.31. Metadata in DatasetSeries
- A.1.32. No circular references of Dataset Series
- A.1.33. GetCapabilities Request Sections
- A.1.34. GetCapabilities Response eowcs Conformance Class in Profile
- A.1.35. GetCapabilities Response eowcs_geteocoverageset Conformance Class in Profile
- A.1.36. GetCapabilities Response Structure
- A.1.37. GetCapabilities Response DatasetSeriesSummary
- A.1.38. GetCapabilities Response DatasetSeriesSummary no-duplicates
- A.1.39. GetCapabilities Response Coverage Summary
- A.1.40. GetCapabilities Response Coverage Summary Section
- A.1.41. GetCapabilities Response DatasetSeries Summary Section
- A.1.42. GetCapabilities Response Coverage Subtype
- A.1.43. GetCapabilities Response countDefault
- A.1.44. GetCapabilities Response pagingSupported
- A.1.45. GetCapabilities Response wcseoMetadata
- A.1.46. DescribeEOCoverageSet Response defaultPackageFormat
- A.1.47. GetCapabilities Response packageFormatSupported
- A.1.48. Describe Coverage Response EO Metadata
- A.1.49. Describe Coverage Response Coverage Subtype
- A.1.50. GetCoverage Request no Slicing
- A.1.51. GetCoverage Response Coverage Type
- A.1.52. GetCoverage Response EO Metadata
- A.1.53. GetCoverage Response EO Metadata in Stitched Mosaic
- A.1.54. GetCoverage Response Footprint in EO Metadata
- A.1.55. GetCoverage Response Lineage in EO Metadata
- A.1.56. DescribeEOCoverageSet Request Structure
- A.1.57. DescribeEOCoverageSet Request Sections
- A.1.58. DescribeEOCoverageSet Request eoId
- A.1.59. DescribeEOCoverageSet Request Containment
- A.1.60. DescribeEOCoverageSet Request Dimension
- A.1.61. DescribeEOCoverageSet Request CRS
- A.1.62. DescribeEOCoverageSet Response Structure
- A.1.63. DescribeEOCoverageSet Response EO Metadata
- A.1.64. DescribeEOCoverageSet Response EO Section CoverageDescriptions
- A.1.65. DescribeEOCoverageSet Response EO Section DatasetSeriesDescriptions
- A.1.66. DescribeEOCoverageSet Response eoId
- A.1.67. DescribeEOCoverageSet Response Referred
- A.1.68. DescribeEOCoverageSet Response Containment
- A.1.69. DescribeEOCoverageSet Response PhenomenonTime
- A.1.70. DescribeEOCoverageSet Response Trim Omitted
- A.1.71. DescribeEOCoverageSet Response Bound Omitted
- A.1.72. DescribeEOCoverageSet Response CoverageSubtype
- A.1.73. DescribeEOCoverageSet Response Count
- A.1.74. DescribeEOCoverageSet Response startIndex
- A.1.75. DescribeEOCoverageSet Response numberMatched attribute
- A.1.76. DescribeEOCoverageSet Response numberReturned attribute
- A.1.77. DescribeEOCoverageSet Response startIndex attribute
- A.1.78. DescribeEOCoverageSet Response next attribute
- A.1.79. DescribeEOCoverageSet Response previous attribute
- A.1.80. GetEOCoverageSet Request Structure
- A.1.81. GetEOCoverageSet Request eoId
- A.1.82. GetEOCoverageSet Request Containment
- A.1.83. GetEOCoverageSet Request Dimensions
- A.1.84. GetEOCoverageSet Request CRS
- A.1.85. GetEOCoverageSet Request packageFormat
- A.1.86. GetEOCoverageSet Request mediaType
- A.1.87. GetEOCoverageSet Request Format
- A.1.88. GetEOCoverageSet Request Scaling
- A.1.89. GetEOCoverageSet Request Interpolation
- A.1.90. GetEOCoverageSet Request CRSs
- A.1.91. GetEOCoverageSet Response packageFormat
- A.1.92. GetEOCoverageSet Response multipart
- A.1.93. GetEOCoverageSet Response mediaType
- A.1.94. GetEOCoverageSet Response cid
- A.1.95. GetEOCoverageSet Response Format
- A.1.96. GetEOCoverageSet Response GetCoverage Applicable
- A.1.97. GetEOCoverageSet Response eoId
- A.1.98. GetEOCoverageSet Response Referred
- A.1.99. GetEOCoverageSet Response Containment
- A.1.100. GetEOCoverageSet Response phenomenonTime
- A.1.101. GetEOCoverageSet Response Trim Omitted
- A.1.102. GetEOCoverageSet Response Bound Omitted
- A.1.103. GetEOCoverageSet Response Count
- A.1.104. GetEOCoverageSet Response startIndex
- A.1.105. GetEOCoverageSet Response numberMatched attribute
- A.1.106. GetEOCoverageSet Response numberReturned attribute
- A.1.107. GetEOCoverageSet Response startIndex attribute
- A.1.108. GetEOCoverageSet Response next attribute
- A.1.109. GetEOCoverageSet Response previous attribute
- A.1.110. GetEOCoverageSet Response applySubset
- A.1.111. GetEOCoverageSet Response Scaling
- A.1.112. GetEOCoverageSet Response Interpolation
- A.1.113. GetEOCoverageSet Response CRSs
- A.1.114. Band Subsetting
- A.1.115. Scaling
- A.1.116. Interpolation
- A.1.117. CRS
- A.1.118. Encodings
- A.1.119. Protocol-bindings
- A.2. Conformance Test Class: eowcs_get-kvp
- A.2.1. eowcs_get-kvp/Mandatory
- A.2.2. eowcs_get-kvp/Conformance Class in Profile
- A.2.3. eowcs_get-kvp/describeEOCoverageSet request
- A.2.4. eowcs_get-kvp/describeEOCoverageSet eoid
- A.2.5. eowcs_get-kvp/describeEOCoverageSet containment
- A.2.6. eowcs_get-kvp/describeEOCoverageSet count
- A.2.7. eowcs_get-kvp/describeEOCoverageSet startIndex
- A.2.8. eowcs_get-kvp/describeEOCoverageSet Subset
- A.2.9. eowcs_get-kvp/getEOCoverageSet request
- A.2.10. eowcs_get-kvp/getEOCoverageSet eoid
- A.2.11. eowcs_get-kvp/getEOCoverageSet containment
- A.2.12. eowcs_get-kvp/getEOCoverageSet count
- A.2.13. eowcs_get-kvp/getEOCoverageSet startIndex
- A.2.14. eowcs_get-kvp/getEOCoverageSet packageFormat
- A.2.15. eowcs_get-kvp/getEOCoverageSet mediaType
- A.2.16. eowcs_get-kvp/getEOCoverageSet format
- A.2.17. eowcs_get-kvp/getEOCoverageSet applySubset
- A.2.18. eowcs_get-kvp/getEOCoverageSet parameters
- A.2.19. eowcs_get-kvp/getEOCoverageSet Subset
- A.3. Conformance Test Class: eowcs_soap
- A.3.1. eowcs_soap/Mandatory
- A.3.2. eowcs_soap/Conformance Class in Profile
- A.3.3. eowcs_soap/describeEOCoverageSet Request Structure
- A.3.4. eowcs_soap/describeEOCoverageSet Response Structure
- A.3.5. eowcs_soap/describeEOCoverageSet-wsdl
- A.3.6. eowcs_soap/getEOCoverageSet Request Structure
- A.3.7. eowcs_soap/getEOCoverageSet Response Structure
- A.3.8. eowcs_soap/getEOCoverageSet-wsdl
- A.1. Conformance Test Classes: eowcs & eowcs_geteocoverageset
- Annex B: Use Case Examples (Informative)
- Annex C: Revision History
- Annex D: Bibliography
i. Abstract
The OGC Web Coverage Service (WCS) Application Profile - Earth Observation (EO- WCS), defines a profile of WCS 2.0 [OGC 09-110r4] for use on Earth Observation data.
Suggested additions, changes, and comments on this draft document are welcome and encouraged. Such suggestions may be submitted by email message or by making suggested changes in an edited copy of this document.
ii. Keywords
The following are keywords to be used by search engines and document catalogues.
ogcdoc, OGC document, wcs, profile, eo, earth observation, dataset, dataset series, stitched mosaic
iii. Preface
This WCS Application Profile for Earth Observation is an OGC Interface Standard which relies on WCS 2.0 (the Core [OGC 09-110r4] plus selected extensions), the Coverages Implementation Schema (renamed from GML Application Schema - Coverages) [OGC 09-146r2], the Earth Observation Metadata Profile of Observations and Measurements [OGC 10-157r4], and GML 3.2.1 [OGC 07-036].
This document includes four annexes; only the first annex is normative.
The OGC® Abstract Specification does not require any changes to accommodate the technical contents of this (part of this) document.
Among the topics for future development are the following items:
-
Specify usage and content of
EOWCS::Lineage
in more detail.
Attention is drawn to the possibility that some of the elements of this document may be the subject of patent rights. The Open Geospatial Consortium shall not be held responsible for identifying any or all such patent rights.
Recipients of this document are requested to submit, with their comments, notification of any relevant patent claims or other intellectual property rights of which they may be aware that might be infringed by any implementation of the standard set forth in this document, and to provide supporting documentation.
iv. Submitting organizations
The following organizations submitted this Document to the Open Geospatial Consortium (OGC):
Organization name(s)
-
Jacobs University Bremen
-
EOX IT Services GmbH
-
G.I.M. Geographic Information Management nv/sa
-
European Space Agency (ESA)
-
Spot Image
Additionally, rasdaman GmbH has made substantial contributions.
v. Submitters
All questions regarding this submission should be directed to the editor or the submitters:
Name | Affiliation |
---|---|
Peter Baumann |
Jacobs University Bremen, rasdaman GmbH |
Jinsongdi Yu |
Fuzhou University |
Stephan Meissl <stephan.meissl@eox.at> |
|
Christian Schiller |
1. Scope
This OGC WCS Application Profile - Earth Observation Interface Standard - henceforth abbreviated as: WCS Earth Observation Application Profile (EO- WCS) - defines data structures and operations which together allow retrieval of Earth Observation coverages offered by a WCS 2.0 server.
EO- WCS, defines a profile of WCS 2.0 [OGC 09-110r4] for use on Earth Observation data. An Application Profile bundles several specifications and possibly adds additional requirements on an implementation. Extra requirements can be additions (for example, Dataset Series are introduced by this specification) or constraints (for example, coverages offered are required to include EO metadata).
EO-WCS provides the following specification elements:
-
Definition of specific Earth Observation coverages (EO Coverages) which have a latitude/longitude or projected x/y spatial extent and a temporal validity extent. EO Coverages are derived from Referenceable Grid Coverages and Rectified Grid Coverages as defined in the Coverage Implementation Schema (renamed from GML Application Schema - Coverages) [OGC 09-146r2]. Each EO Coverage has an EO metadata set [OGC 10-157r4] contained in its metadata which describes the coverage on hand on a higher semantic level.
-
Definition of a hierarchy which allows to group EO Coverages suitably for an efficient retrieval:
-
Datasets as plain EO Coverages (and, hence, accessible as coverages);
-
Stitched Mosaics as homogeneous collections of spatially non-overlapping subsets of Datasets, accessible themselves as coverages;
-
Dataset Series as collections of Stitched Mosaics, Datasets, and/or Dataset Series; Dataset Series themselves are not coverages.
-
-
Bundling of several mandatory and optional WCS extensions for EO-WCS implementations.
2. Conformance
This document establishes the following requirements and conformance classes:
-
eowcs, of URI http://www.opengis.net/spec/WCS_application-profile_earth-observation/1.1/req/eowcs, defining EO-WCS on conceptual level in Clauses 6, 7, and 8; the corresponding conformance class is eowcs, with URI http://www.opengis.net/spec/WCS_application-profile_earth-observation/1.1/conf/eowcs.
-
eowcs_geteocoverageset, of URI http://www.opengis.net/spec/WCS_application-profile_earth-observation/1.1/req/eowcs_geteocoverageset, defining the GetEOCoverageSet request of EO-WCS in Clause 7 where stated, particularly subclause 7.6; the corresponding conformance class is eowcs_geteocoverageset, with URI http://www.opengis.net/spec/WCS_application-profile_earth-observation/1.1/conf/eowcs_geteocoverageset.
-
eowcs_get-kvp, of URI http://www.opengis.net/spec/WCS_application-profile_earth-observation/1.1/req/eowcs_get-kvp, defining the GET-KVP protocol binding of EO-WCS in Subclause 9.2; the corresponding conformance class is eowcs_get-kvp, with URI http://www.opengis.net/spec/WCS_application-profile_earth-observation/1.1/conf/eowcs_get-kvp.
-
eowcs_soap, of URI http://www.opengis.net/spec/WCS_application-profile_earth-observation/1.1/req/eowcs_soap, defining the SOAP protocol binding of EO-WCS on conceptual level in Subclause 9.3; the corresponding conformance class is eowcs_soap, with URI http://www.opengis.net/spec/WCS_application-profile_earth-observation/1.1/conf/eowcs_soap.
Standardization target of all requirements and conformance classes are EO-WCS implementations (currently: servers).
Requirements and conformance test URIs defined in this document are relative to http://www.opengis.net/spec/WCS_application-profile_earth-observation/1.1/.
Conformance Class Abstract Test Suite (Normative) lists the conformance tests which shall be exercised on any software artifact claiming to implement EO-WCS.
3. Normative references
This OGC WCS Application Profile - Earth Observation specification consists of the present document and an XML Schema. The complete specification is identified by OGC URI http://www.opengis.net/spec/WCS_application-profile_earth-observation/1.1, the document has OGC URI http://www.opengis.net/doc/IS/WCS_application-profile_earth-observation/1.1.
The complete specification is available for download from http://www.opengeospatial.org/standards/wcs; additionally, the XML Schema is posted online at http://schemas.opengis.net/wcs/wcseo/1.1 as part of the OGC schema repository. In the event of a discrepancy between bundled and schema repository versions of the XML Schema files, the schema repository shall be considered authoritative.
The following normative documents contain provisions that, through reference in this text, constitute provisions of this specification. For dated references, subsequent amendments to, or revisions of, any of these publications do not apply. For undated references, the latest edition of the normative document referred to applies.
OGC 06-121r9, OGC Web Services Common Standard, version 2.0
OGC 09-146r2, OGC® Coverage Implementation Schema (renamed from OGC®
GML Application Schema - Coverages), version 1.0
Conformance classes used: gml-coverage, gml, multipart, special-format
OGC 09-110r4, OGC® WCS 2.0 Interface Standard- Core: Corrigendum, version
2.0
Conformance classes used: core
OGC 11-053r1, OGC® Web Coverage Service Interface Standard - CRS Extension,
version 1.0
Conformance classes used: crs, crs-gridded-coverage
OGC 12-039, OGC® Web Coverage Service Interface Standard - Scaling Extension,
version 1.0
Conformance classes used: scaling
OGC 12-040, OGC® Web Coverage Service Interface Standard - Range Subsetting
Extension, version 1.0
Conformance classes used: record-subsetting
OGC 12-049, OGC® Web Coverage Service Interface Standard - Interpolation
Extension, version 1.0
Conformance classes used: interpolation
OGC 09-147r3, OGC® Web Coverage Service 2.0 Interface Standard - KVP Protocol
Binding Extension - Corrigendum, version 1.0
Conformance classes used: get-kvp
OGC 09-149r1, OGC® Web Coverage Service 2.0 Interface Standard - XML/SOAP
Protocol Binding Extension, version 1.0
Conformance classes used: soap
OGC 12-100r1, OGC® GML Application Schema - Coverages - GeoTIFF Coverage
Encoding Profile, version 1.0
Conformance classes used: geotiff-coverage
OGC 14-100r2, OGC® CF-netCDF 3.0 encoding using GML Coverage Application
Schema, version 2.0
Conformance classes used: CF-netCDF-1.6 GML encoding, CF-netCDF-1.6 data
format, CF-netCDF-1.6 multipart data encoding
OGC 12-108, OGC® GML Application Schema - Coverages JPEG2000 Coverage Encoding
Extension, version 1.0
Conformance classes used: jpeg2000-coverage
OGC 10-157r4, OGC® Earth Observation Metadata profile of Observations &
Measurements, version 1.1
Conformance classes used: eop, sar, opt
4. Terms and Definitions
This document uses the standard terms defined in Subclause 5.3 of [OGC 06-121r9], which is based on the ISO/IEC Directives, Part 2, Rules for the structure and drafting of International Standards. In particular, the word "shall" (not "must") is the verb form used to indicate a requirement to be strictly followed to conform to this standard.
For the purposes of this document, the following additional terms and definitions apply. An arrow "→" indicates that the following term is defined in this Clause.
4.1. Coverage
digital representation of a spatio-temporally varying phenomenon as defined in [OGC 09-146r2]
4.3. Dataset Series
collection of → EO Coverages
4.4. EO Coverage
Rectified Grid → Coverage or Referenceable Grid → Coverage having an → EO Metadata record and a WGS84 footprint
4.5. EO Metadata
→ EO Coverage’s metadata record
4.6. Stitched Mosaic
→ EO Coverage composed from subsets of one or more co-referenced → Datasets
4.7. EO Product
An EO Product contains one or more related → EO Product Datasets plus metadata and optionally auxiliary data like → EO Product Quicklooks.
4.8. EO Product Dataset
One or more files each containing one or more → EO Coverages.
4.9. EO Product Quicklook
A visual representation of a usually reduced → EO Product Dataset encoded in an image format. The → EO Product Dataset may combine different bands.
4.10. Lineage record
Data structure documenting an operation that has been applied to the → Coverage it is part of
4.11. refers to
contains, in its → EO Metadata element as defined in [OGC 10-157r4], the → EO Metadata element of
5. Conventions
5.1. UML notation
Unified Modeling Language (UML) static structure diagrams appearing in this specification are used as described in Subclause 5.2 of OGC Web Services Common [OGC 06-121r9].
5.2. Data dictionary tables
The UML model data dictionary is specified herein in a series of tables. The contents of the columns in these tables are described in Subclause 5.5 of [OGC 06-121r9]. The contents of these data dictionary tables are normative, including any table footnotes.
5.3. Namespace prefix conventions
The following namespaces are used in this document. The prefix abbreviations used constitute conventions used here, but are not normative. The namespaces to which the prefixes refer are normative, however.
Prefix | Namespace URI | Description |
---|---|---|
xsd |
XML Schema namespace |
|
ows |
OWS Common 2.0 |
|
gml |
GML 3.2.1 |
|
gmlcov |
Coverages Implementation Schema 1.0 |
|
wcs |
WCS 2.0 |
|
eop |
Earth Observation Metadata Profile of Observations and Measurements |
|
opt |
Optical Earth Observation Metadata Profile of Observations and Measurements (extension of eop) |
|
sar |
SAR Earth Observation Metadata Profile of Observations and Measurements (extension of eop) |
|
wcseo |
WCS Application Profile - Earth Observation 1.1 |
|
scal |
http://www.opengis.net/wcs/scaling/1.0 (schema uses http://www.opengis.net/WCS_service-extension_scaling/1.0) |
WCS Scaling Extension |
int |
http://www.opengis.net/wcs/interpolation/1.0 (schema uses http://www.opengis.net/WCS_service-extension_interpolation/1.0 |
WCS Interpolation Extension |
crs |
WCS CRS Extension |
|
gmd |
ISO 19139 Metadata |
|
gmi |
http://standards.iso.org/iso/19115/-2/gmi/1.0 or http://www.isotc211.org/2005/gmi |
ISO 19139-2 Metadata |
mdb |
ISO 19115-3 Metadata |
5.4. Multiple representations
When multiple representations of the same information are given in a specification document these are consistent. Should this not be the case then this is considered an error, and the XML Schema shall take precedence.
6. EO data model
6.1. Overview
This Clause 6, together with Clauses 7 and 8, establishes the EO-WCS core requirements class, eowcs as well as the eowcs_geteocoverageset one where stated, particularly subclause 7.6.
The data model of this EO-WCS centers around the data structure of an Earth
Observation coverage (EO Coverage), which is a coverage extended with EO
Metadata [OGC 10-157r4] and bound to a location on the Earth. EO Coverages are a
subtype of either GMLCOV::RectifiedGridCoverage
or
GMLCOV::ReferenceableGridCoverage
.
Based on this EO Coverage concept (cf. Subclause 6.3), three main data elements are defined:
-
A Dataset is an EO Coverage, which can represent, for example, a hyperspectral 2D satellite scene or a 3D atmospheric model; cf. Subclause 6.4. A Dataset can be a Rectified Dataset or a Referenceable Dataset, depending on the type of EO Coverage it is derived from.
-
A Stitched Mosaic is a collection of EO Coverages referring to co-referenced Datasets; cf. Subclause 6.5. A Stitched Mosaic can be a Rectified Stitched Mosaic or a Referenceable Stitched Mosaic, depending on the type of EO Coverage it is derived from. A Stitched Mosaic can be interpreted (i.e. requested) as a single coverage.
-
A Dataset Series is a collection of coverages and/or Dataset Series; cf. Subclause 6.6. A Dataset Series can refer to any number of Datasets, Stitched Mosaics, and Dataset Series. A Dataset Series is not a coverage itself.
Note
|
Use Case Examples (Informative) provides Use Cases to motivate the definition of these data elements. |
Note
|
Although named Dataset Series technically speaking it is a heterogeneous grouping of coverages and/or Dataset Series and can thus be used for any other concept like an EO Product containing multiple coverages with different resolutions as well. |
Figure 1 informally symbolizes how the concepts of Dataset, Stitched Mosaic, and Dataset Series relate to each other spatio-temporally:
-
A - a Dataset with a particular validity in time;
-
B - a Stitched Mosaic; all its Datasets have a spatial extent contained in the Stitched Mosaic’s spatial extent and a timespan contained in the Stitched Mosaic’s time interval. The subsets contributing to the Stitched Mosaic do not overlap in space, but there may be empty (nil) areas.
-
C - the overall Dataset Series combining Datasets and Stitched Mosaics.
Figure 2 contains the UML diagram defining classes (types) and their correlations in the EO-WCS.
6.2. EO Metadata
Every EO Coverage contains EO Metadata, consisting of an EarthObservation record as defined in the OGC Earth Observation Metadata Profile of Observations and Measurements [OGC 10-157r4] and a lineage describing the history of operations leading to the coverage on hand.
Requirement 1 |
/req/eowcs/eo-metadata-structure |
Name | Definition | Data type | Multiplicity |
---|---|---|---|
earthObservation |
EO metadata record for this coverage object |
|
one (mandatory) |
lineage |
History record describing an operation that has been applied to this object |
|
zero or more (optional) |
Note
|
Throughout this standard, eop: and EOP:: can be substituted by opt:
and OPT:: or sar: and SAR:: , respectively, as in [OGC 10-157r4] opt and
sar are in the substitution group of eop .
|
Note
|
The lineage records are supposed to describe the history of processing steps that has led to the coverage on hand. As at the time of this writing there is no canonical format for such histories available in OGC, for the purpose of this specification no assumption is made about the contents of a lineage record, except that GetCoverage appends its request verbatim as an additional record (see Requirement 55 /req/eowcs/getCoverage-response-lineage-in-eo-metadata). |
The footprint of an EO Coverage, which contains one or more bounding polygons to describe the region of valid data more accurately than the EO Coverage’s bounding box, is mandatory as opposed to [OGC 10-157r4].
Requirement 2 |
/req/eowcs/footprint-in-eo-metadata |
Note
|
As per [OGC 10-157r4], the footprint is always given in WGS84. |
6.3. EO Coverage
6.3.1. Overview
An EO Coverage is a coverage as defined in the Coverages Implementation Schema (renamed from GML Application Schema - Coverages) [OGC 09-146r2]. EO Coverages appear in two variants:
-
Rectified EO Coverages are derived from Rectified Grid Coverage as defined in [OGC 09-146r2];
-
Referenceable EO Coverages are derived from Referenceable Grid Coverage as defined in [OGC 09-146r2].
Requirement 3 |
/req/eowcs/eo-coverage-structure |
Note
|
An EO Coverage can have any number of dimensions as long as it adheres to the requirements below. Particularly it needs a footprint bound to the Earth and a temporal validity. |
6.3.2. EO Metadata
An EO Coverage has an EO Metadata record associated.
Requirement 4 |
/req/eowcs/eo-metadata-in-eo-coverage |
Note
|
Besides this specific metadata element there may be further metadata elements. |
Note
|
According to the rules of GML, a xlink:href URI to an accessible element
of type EOWCS::EOMetadata can be provided instead of the element itself in any
place of the XML Schema where such a metadata record appears.
|
The EO Metadata record associated with an EO Coverage contains a back reference to the coverage.
Requirement 5 |
/req/eowcs/eop-identifier-in-eo-metadata |
Note
|
Normally, this word (i.e. NCName) acting as coverage identifier will be
the only contents of the eop:identifier string and thus both elements will be
equal.
|
6.3.3. Spatio-temporal extent
The EO Coverage’s extent of valid data is given by its EO Metadata footprint, which refines the coverage’s envelope.
Requirement 6 |
/req/eowcs/footprint-inside-boundedBy |
Note
|
By definition, the footprint is expressed in WGS84. |
An EO Coverage has a time period of validity associated.
Requirement 7 |
/req/eowcs/phenomenonTime-in-eo-metadata |
Note
|
This typically is the time period where image acquisition has taken place. |
Requirement 8 |
/req/eowcs/phenomenonTime-iso8601 |
6.3.4. Range type
The range type of an EO Coverage is extended to include further useful information for example to know how to convert stored numbers to physical properties.
Requirement 9 |
/req/eowcs/rangeTypeExtension |
Requirement 10 |
/req/eowcs/rangeType-uom |
Note
|
The data type is provided explicitly in the wcseo:rangeTypeExtension
element or implicitly via the actual coverage encoding.
|
Requirement 11 |
/req/eowcs/rangeType-name |
Note
|
Typically the two values are identical. This requirement addresses cases
where the identifier includes characters not allowed in NCName like : , @ ,
$ , % , & , / , + , , , ; , or any whitespace characters or where it
starts with a number, minus, or dot. For example an ID of gray band should
use gray for the name attribute and gray%20band for the swe:identifier
element.
|
Example: The following provides an example gmlcov:rangeType
element including
additional range type information for RGB generation on swe:DataRecord
level
as well as data conversion information on swe:Quantity
level.
<gmlcov:rangeType>
<swe:DataRecord definition="http://www.opengis.net/def/property/OGC-EO/0/opt/SpectralMode/PANCHROMATIC">
<swe:extension>
<wcseo:rangeTypeExtension>
<wcseo:RGBgenerationHint>
<wcseo:bandSequence>gray gray gray</wcseo:bandSequence>
<wcseo:intervalFrom>1 4095</wcseo:intervalFrom>
<wcseo:intervalTo>1 255</wcseo:intervalTo>
<wcseo:type>http://sweet.jpl.nasa.gov/2.3/reprMathFunction.owl#Logarithmic</wcseo:type>
</wcseo:RGBgenerationHint>
</wcseo:rangeTypeExtension>
</swe:extension>
<swe:label>Gray Channel/Band</swe:label>
<swe:field name="gray">
<swe:Quantity definition="http://sweet.jpl.nasa.gov/2.3/propEnergyFlux.owl#SpectralRadiance">
<swe:extension>
<wcseo:rangeTypeExtension>
<wcseo:dataSemantics>http://sweet.jpl.nasa.gov/2.3/stateSpectralBand.owl#Visible</wcseo:dataSemantics>
<wcseo:dataType>http://www.opengis.net/def/dataType/OGC/0/unsignedShort</wcseo:dataType>
<wcseo:dataType2dataSemantics>
<wcseo:intervalFrom>1 4095</wcseo:intervalFrom>
<wcseo:intervalTo>390.0000 780.0000</wcseo:intervalTo>
<wcseo:type>http://sweet.jpl.nasa.gov/2.3/reprMathFunction.owl#Linear</wcseo:type>
</wcseo:dataType2dataSemantics>
</wcseo:rangeTypeExtension>
</swe:extension>
<swe:identifier>gray%20band</swe:identifier>
<swe:label>Gray Channel/Band</swe:label>
<swe:description>Gray Channel/Band</swe:description>
<swe:nilValues>
<swe:NilValues>
<swe:nilValue reason="http://www.opengis.net/def/nil/OGC/0/unknown">0</swe:nilValue>
</swe:NilValues>
</swe:nilValues>
<swe:uom code="W.m-2.sr-1.nm-1"/>
<swe:constraint>
<swe:AllowedValues>
<swe:interval>0 4095</swe:interval>
<swe:significantFigures>4</swe:significantFigures>
</swe:AllowedValues>
</swe:constraint>
</swe:Quantity>
</swe:field>
</swe:DataRecord>
</gmlcov:rangeType>
6.3.5. Range set
Cells outside the footprint hold only nil values.
Requirement 12 |
/req/eowcs/range-set-of-eo-coverage |
6.4. Dataset
A Dataset is an EO Coverage as symbolized in Figure 4. A Dataset
is either a Referenceable Dataset or a Rectified Dataset, derived from
EOWCS::ReferenceableEOCoverage
or EOWCS::RectifiedEOCoverage
, respectively.
Note
|
Typically, a Dataset represents a (single- or multi-band) satellite/aerial image scene. |
Requirement 13 |
/req/eowcs/dataset-structure |
Note
|
This definition includes the "field-of-View" of a sensor, or "cut", according to sensor specific data specification at the resolution of the sensor (also referred to as Level-0 or Level-1 data). |
6.5. Stitched Mosaic
6.5.1. Overview
A Stitched Mosaic is an identifiable, queryable, referenced EO Coverage as
symbolized in Figure 5. A Stitched Mosaic is either a
Referenceable Stitched Mosaic or a Rectified Stitched Mosaic, derived from
EOWCS::ReferenceableEOCoverage
or EOWCS::RectifiedEOCoverage
, respectively.
Stitched Mosaics refer to one or more Datasets. All cells within a Stitched
Mosaic which are not located inside any contributingFootprint
of any of the
contained Datasets carry nil values.
Requirement 14 |
/req/eowcs/referenceableStitchedMosaic-structure |
Name | Definition | Data type | Multiplicity |
---|---|---|---|
dataset |
Reference to a Referenceable Dataset referred to by the Stitched Mosaic on hand |
|
one or more (mandatory) |
Requirement 15 |
/req/eowcs/rectifiedStitchedMosaic-structure |
Name | Definition | Data type | Multiplicity |
---|---|---|---|
dataset |
Reference to a Rectified Dataset referred to by the Stitched Mosaic on hand |
|
one or more (mandatory) |
Name | Definition | Data type | Multiplicity |
---|---|---|---|
datasetId |
Dataset referred to by the Stitched Mosaic on hand |
|
one (mandatory) |
contributingFootprint |
Horizontal bounding polygon enclosing data areas of the Dataset contributing to the Stitched Mosaic on hand |
|
zero or one (optional) |
The Dataset references of an EO Coverage shall be consistent with the coverage’s EO Metadata references.
Requirement 16 |
/req/eowcs/composedOf-in-stitched-mosaic |
6.5.2. Spatio-temporal extent
A Stitched Mosaic is defined through a collection of spatially non-overlapping subsets of Datasets it refers to.
Requirement 17 |
/req/eowcs/contributingFootprint-inside-footprint |
Requirement 18 |
/req/eowcs/contributingFootprint-pairwise-disjoint |
Requirement 19 |
/req/eowcs/contributingFootprint-union-of-footprints |
Requirement 20 |
/req/eowcs/dataset-domain-set-in-stitched-mosaic-domain-set |
Datasets referred to by a Stitched Mosaic shall have aligned cell locations:
-
In case of Rectified EO Coverages, the grids of Datasets of a Stitched Mosaics shall have the same resolution.
Requirement 21
/req/eowcs/datasets-in-rectifiedStitcheMosaic-same-offsetVector
All Datasets referred to by a Rectified Stitched Mosaic shall have identical values in thegml:offsetVector
elements of their domain sets.Requirement 22
/req/eowcs/rectifiedStitchedMosaic-offsetVector
In a Rectified Stitched Mosaic instance, the value of thegml:offsetVector
elements of the domain set shall be given by the corresponding values of the Rectified Datasets the Rectified Stitched Mosaic refers to. -
In case of Referenceable EO Coverages, Datasets of Stitched Mosaics shall have aligned cell locations in overlapping areas.
Requirement 23
/req/eowcs/referenceableStitchedMosaic-domain-set
For any pair d1 and d2 of Datasets referred to by a given Stitched Mosaic, the set of point locations in the geographic overlap of the d1 and d2 domain set shall be identical.
The temporal validity of Stitched Mosaics is defined by the temporal validities of the Datasets the Stitched Mosaic refers to.
Requirement 24 |
/req/eowcs/temporal-validity-stitched-mosaic |
6.5.3. Range type
Stitched Mosaics and their Datasets share the same range type.
Requirement 25 |
/req/eowcs/datasets-in-stitched-mosaic-same-range-type |
6.5.4. Range set
The content of a Stitched Mosaic is given by the Datasets it refers to; cells of a Stitched Mosaic with domain coordinates outside of any embedded Dataset’s contributingFootprint carry nil values (cf. Figure 6).
Requirement 26 |
/req/eowcs/nil-values-in-stitched-mosaic |
Requirement 27 |
/req/eowcs/range-values-of-stitched-mosaic |
6.6. Dataset Series
A Dataset Series is an identifiable, queryable collection of EO Coverages and Dataset Series.
Note
|
Although named Dataset Series technically speaking it is a heterogeneous grouping of coverages and/or Dataset Series and can thus be used for any other concept like an EO Product containing multiple coverages with different resolutions as well. |
Note
|
A Dataset referred to by a Stitched Mosaic referred to by a Dataset Series is not per se referred to by that Dataset Series. However, it is allowed that such a Dataset is also referred to by the enclosing Dataset Series. |
Requirement 28 |
/req/eowcs/datasetSeries-structure |
Name | Definition | Data type | Multiplicity |
---|---|---|---|
datasetSeriesId |
Identifier of the Dataset Series on hand |
|
one (mandatory) |
footprint |
Horizontal bounding polygon enclosing valid data areas of the Dataset Series |
|
one (mandatory) |
timePeriod |
Temporal period of validity of all data in the Dataset Series |
|
one (mandatory) |
metadata |
EO Metadata of the Dataset Series on hand |
|
zero or more (optional) |
referenceableStitchedMosaic |
Referenceable Stitched Mosaic to which the Dataset Series on hand refers |
|
zero or more (optional) |
rectifiedStitchedMosaic |
Rectified Stitched Mosaic to which the Dataset Series on hand refers |
|
zero or more (optional) |
referenceableDataset |
Referenceable Dataset to which the Dataset Series on hand refers |
|
zero or more (optional) |
rectifiedDataset |
Rectified Dataset to which the Dataset Series on hand refers |
|
zero or more (optional) |
datasetSeries |
Dataset Series to which the Dataset Series on hand refers |
|
zero or more (optional) |
Note
|
A Dataset Series and a Stitched Mosaic contained therein may both refer to the same Dataset. |
The spatial extent of a Dataset Series shall enclose the spatial extents of all Stitched Mosaics, Datasets, and Dataset Series the Dataset Series refers to.
Requirement 29 |
/req/eowcs/footprint-in-datasetSeries |
Note
|
As opposed to Stitched Mosaics, Dataset Series do not require disjointness of the EO Coverages they refer to. |
The temporal validity of a Dataset Series is defined by the union of the temporal validities of all Stitched Mosaics, Datasets, and Dataset Series the Dataset Series refers to.
Requirement 30 |
/req/eowcs/timePeriod-in-datasetSeries |
A Dataset Series has an EO Metadata record associated.
Requirement 31 |
/req/eowcs/metadata-in-datasetSeries |
Note
|
A Dataset Series may contain multiple metadata elements holding the
metadata in different formats. Explicitly supported metadata elements are
eop:EarthObservation , gmd:MD_Metadata , gmi:MI_Metadata , mdb:MD_Metadata ,
or ows:Reference or any element in the substitutionGroup of any of these.
|
A Dataset Series shall not refer to any Dataset Series that refers to it either directly or via other Dataset Series i.e. there shall be no circular references.
Requirement 32 |
/req/eowcs/nocircularreference-of-datasetSeries |
Example: The following XML fragment shows a DatasetSeries instance.
<?xml version="1.0" encoding="UTF-8"?>
<wcseo:DatasetSeries xmlns:ows="http://www.opengis.net/ows/2.0" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:wcs="http://www.opengis.net/wcs/2.0" xmlns:wcseo="http://www.opengis.net/wcs/wcseo/1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/wcs/wcseo/1.1 http://schemas.opengis.net/wcs/wcseo/1.1/wcsEOAll.xsd">
<wcseo:DatasetSeriesId>someDatasetSeries1</wcseo:DatasetSeriesId>
<eop:Footprint gml:id="footprint_someDatasetSeries1">
<eop:multiExtentOf>
<gml:MultiSurface gml:id="multisurface_someDatasetSeries1" srsName="EPSG:4326">
<gml:surfaceMembers>
<gml:Polygon gml:id="polygon_someDatasetSeries1">
<gml:exterior>
<gml:LinearRing>
<gml:posList>43.516667 2.1025 43.381667 2.861667 42.862778 2.65 42.996389 1.896944 43.516667 2.1025</gml:posList>
</gml:LinearRing>
</gml:exterior>
</gml:Polygon>
</gml:surfaceMembers>
</gml:MultiSurface>
</eop:multiExtentOf>
</eop:Footprint>
<gml:TimePeriod gml:id="someDatasetSeries1_timeperiod">
<gml:beginPosition>2008-03-13T00:00:00.000</gml:beginPosition>
<gml:endPosition>2008-03-13T23:59:59.999</gml:endPosition>
</gml:TimePeriod>
<ows:Metadata>
<wcseo:EOMetadata>
<ows:Reference xlink:href="http://www.someCatalogue.org/eop-metadata-from-someDatasetSeries1" xlink:role="http://standards.iso.org/iso/19115/-3/mdb/1.0" xlink:title="ISO 19115-3 Metadata" />
</wcseo:EOMetadata>
</ows:Metadata>
<wcseo:rectifiedDataset>
<wcs:CoverageId>someEOCoverage1</wcs:CoverageId>
</wcseo:rectifiedDataset>
</wcseo:DatasetSeries>
7. EO service model
7.1. Overview
This Clause defines request types and their responses for operations on EO Coverages. EO Coverages can be offered by a WCS server alongside with any other type of coverages. Behavior of the service on non-EO Coverages remains unchanged.EO data model
7.2. GetCapabilities operation
7.2.1. GetCapabilities request
The GetCapabilities request is extended over WCS Core [OGC 09-110r4] as follows:
-
In the
sections
request parameter, values "DatasetSeriesSummary" and "CoverageSummary" are allowed in addition to those defined in OWS Common [06-121r9].
Requirement 33 |
/req/eowcs/getCapabilities-request-sections |
7.2.2. GetCapabilities response
The GetCapabilities response is extended over WCS Core [OGC 09-110r4] as follows:
-
There is an additional
DatasetSeriesSummary
section reporting identifiers of Dataset Series offered by the service on hand. -
There is an optional constraint
CountDefault
specifying the maximum number ofCoverageDescription
andDatasetSeriesDescription
elements reported in aDescribeEOCoverageSet
response. -
For the eowcs_geteocoverageset conformance class there is an additional
<wcseo:wcseoMetadata
element inside thewcs:Extension
element of thewcs:ServiceMetadata
element to specify default and supported package formats for the GetEOCoverageSet operation.
Note
|
An EO-WCS server may choose to not report, in the CoverageSummary
section of a GetCapabilities response, the identifiers of Stitched Mosaic
coverages referred to by some Dataset Series and the identifiers of Dataset
coverages referred to by some Stitched Mosaic or Dataset Series.
|
In a GetCapabilities response, a server announces availability of this EO-WCS like an extension.
Requirement 34 |
/req/eowcs/getCapabilities-response-conformance-class-in-profile |
Requirement 35 |
/req/eowcs_geteocoverageset/getCapabilities-response-conformance-class-in-profile |
Requirement 36 |
/req/eowcs/getCapabilities-response-structure |
Name | Definition | Data type | Multiplicity |
---|---|---|---|
DatasetSeriesId |
Identifier of a Dataset Series offered by this service |
|
one (mandatory) |
wgs84BoundingBox |
Spatial extent of the Dataset Series |
|
one (mandatory) |
TimePeriod |
Time interval of validity of the Dataset Series |
|
one (mandatory) |
metadata |
Reference to more metadata about this Dataset Series |
|
zero or one (optional) |
Requirement 37 |
/req/eowcs/getCapabilities-response-datasetSeriesSummary |
Requirement 38 |
/req/eowcs/getCapabilities-response-datasetSeriesSummary-no-duplicates |
Requirement 39 |
/req/eowcs/getCapabilities-response-coverageSummary |
The response shall respect the sections
request parameter.
Requirement 40 |
/req/eowcs/getCapabilities-response-coverageSummary-section |
Requirement 41 |
/req/eowcs/getCapabilities-response-datasetSeriesSummary-section |
The coverage subtype shall indicate the specific type of the coverage returned, in case of an EO Coverage.
Requirement 42 |
/req/eowcs/getCapabilities-response-coverageSubtype |
Type of coverage identified by CoverageIdentifier |
CoverageSubtype value |
---|---|
|
|
|
|
|
|
|
|
Requirement 43 |
/req/eowcs/getCapabilities-response-countDefault |
Name | Definition | Data type | Multiplicity |
---|---|---|---|
CountDefault |
Default value for the count parameter defined for DescribeEOCoverageSet and GetEOCoverageSet requests. |
|
zero or one (optional) |
ImplementsResultPaging |
Indicates if the server supports the ability to page
through a result set responding with |
|
zero or one (optional) |
Note
|
Servers are strongly encouraged to specify a value for CountDefault as means of self defense, so that a request may not clog the server. |
Requirement 44 |
/req/eowcs/getCapabilities-response-paging-supported |
Requirement 45 |
/req/eowcs_geteocoverageset/getCapabilities-response-wcseoMetadata |
Requirement 46 |
/req/eowcs_geteocoverageset/getCapabilities-response-defaultPackageFormat |
Requirement 47 |
/req/eowcs_geteocoverageset/getCapabilities-response-packageFormatSupported |
Example: The following XML excerpt shows a possible Contents
section
containing Dataset Series information:
<wcs:Contents>
<wcs:CoverageSummary>
<wcs:CoverageId>someEOCoverage</wcs:CoverageId>
<wcs:CoverageSubtype>RectifiedDataset</wcs:CoverageSubtype>
</wcs:CoverageSummary>
<wcs:Extension>
<wcseo:DatasetSeriesSummary>
<ows:WGS84BoundingBox>
<ows:LowerCorner>-180 -90</ows:LowerCorner>
<ows:UpperCorner>180 90</ows:UpperCorner>
</ows:WGS84BoundingBox>
<wcseo:DatasetSeriesId>someDatasetSeries</wcseo:DatasetSeriesId>
<gml:TimePeriod gml:id="someDatasetSeries_timeperiod">
<gml:beginPosition>2010-01-01T00:00:00.000</gml:beginPosition>
<gml:endPosition>2010-12-31T23:59:59.999</gml:endPosition>
</gml:TimePeriod>
</wcseo:DatasetSeriesSummary>
</wcs:Extension>
</wcs:Contents>
Example: The following XML excerpt shows a possible Constraint
section
containing a CountDefault value:
<ows:OperationsMetadata>
...
<ows:Constraint name="CountDefault">
<ows:NoValues />
<ows:DefaultValue>100</ows:DefaultValue>
</ows:Constraint>
<ows:Constraint name="ImplementsResultPaging">
<ows:NoValues/>
<ows:DefaultValue>TRUE</ows:DefaultValue>
</ows:Constraint>
</ows:OperationsMetadata>
Example: The following XML excerpt shows a possible wcs:ServiceMetadata
section containing valid wcseo:packageFormatSupported
elements:
<wcs:ServiceMetadata>
<wcs:formatSupported>application/gml+xml</wcs:formatSupported>
<wcs:formatSupported>image/tiff</wcs:formatSupported>
<wcs:Extension>
<wcseo:wcseoMetadata>
<wcseo:defaultPackageFormat>application/metalink4+xml</wcseo:defaultPackageFormat>
<wcseo:packageFormatSupported>application/x-gzip</wcseo:packageFormatSupported>
<wcseo:packageFormatSupported>application/gzip</wcseo:packageFormatSupported>
<wcseo:packageFormatSupported>application/bzip</wcseo:packageFormatSupported>
<wcseo:packageFormatSupported>application/x-bzip</wcseo:packageFormatSupported>
<wcseo:packageFormatSupported>application/tar</wcseo:packageFormatSupported>
<wcseo:packageFormatSupported>application/x-tar</wcseo:packageFormatSupported>
<wcseo:packageFormatSupported>application/zip</wcseo:packageFormatSupported>
<wcseo:packageFormatSupported>application/metalink4+xml</wcseo:packageFormatSupported>
<wcseo:packageFormatSupported>application/metalink+xml</wcseo:packageFormatSupported>
</wcseo:wcseoMetadata>
</wcs:Extension>
</wcs:ServiceMetadata>
7.3. DescribeCoverage operation
7.3.1. DescribeCoverage request
The DescribeCoverage request is unchanged over WCS Core [OGC 09-110r4]. In particular, identifiers of EO Coverages can be passed as input parameters.
Note
|
A DescribeCoverage request is possible on the identifiers of EO Coverages offered by the server even if these are not listed in a GetCapabilities response. |
7.3.2. DescribeCoverage response
In a DescribeCoverage response, EO Coverage descriptions additionally contain the EO Metadata record.
Requirement 48 |
/req/eowcs/describeCoverage-response-eo-metadata |
The coverage subtype shall indicate the specific type of the coverage returned, in case of an EO Coverage.
Requirement 49 |
/req/eowcs/describeCoverage-response-coverageSubtype |
Example: The following XML fragment shows parts of a possible DescribeCoverage response on an EO Coverage:
<wcs:CoverageDescriptions>
<wcs:CoverageDescription gml:id="c1">
<gml:boundedBy>
<gml:Envelope axisLabels="lat long" srsDimension="2" srsName="http://www.opengis.net/def/crs/EPSG/0/4326" uomLabels="deg deg">
<gml:lowerCorner>42.862778 1.896944</gml:lowerCorner>
<gml:upperCorner>43.516667 2.861667</gml:upperCorner>
</gml:Envelope>
</gml:boundedBy>
<wcs:CoverageId>c1</wcs:CoverageId>
<gmlcov:metadata>
<gmlcov:Extension>
<wcseo:EOMetadata>
<eop:EarthObservation gml:id="eop_c1">
<om:phenomenonTime>
<gml:TimePeriod gml:id="tp_c1">
<gml:beginPosition>2008-03-13T10:00:06.000</gml:beginPosition>
<gml:endPosition>2008-03-13T10:20:26.000</gml:endPosition>
</gml:TimePeriod>
</om:phenomenonTime>
<om:resultTime>
<gml:TimeInstant gml:id="archivingdate_c1">
<gmlcovl:timePosition>2001-08-13T11:02:47.999</gml:timePosition>
</gml:TimeInstant>
</om:resultTime>
<om:procedure />
<om:observedProperty />
<om:featureOfInterest>
<eop:Footprint gml:id="footprint_c1">
<eop:multiExtentOf>
<gml:MultiSurface gml:id="multisurface_c1" srsName="EPSG:4326">
<gml:surfaceMember>
<gml:Polygon gml:id="polygon_c1">
<gml:exterior>
<gml:LinearRing>
<gml:posList>
43.516667 2.1025 43.381667 2.861667
42.862778 2.65 42.996389 1.896944
43.516667 2.1025
</gml:posList>
</gml:LinearRing>
</gml:exterior>
</gml:Polygon>
</gml:surfaceMember>
</gml:MultiSurface>
</eop:multiExtentOf>
<eop:centerOf>
<gml:Point gml:id="c1_p" srsName="EPSG:4326">
<gml:pos>43.190833 2.374167</gml:pos>
</gml:Point>
</eop:centerOf>
</eop:Footprint>
</om:featureOfInterest>
<om:result />
<eop:metaDataProperty>
<eop:EarthObservationMetaData>
<eop:identifier>c1</eop:identifier>
<eop:acquisitionType>NOMINAL</eop:acquisitionType>
<eop:status>ARCHIVED</eop:status>
</eop:EarthObservationMetaData>
</eop:metaDataProperty>
</eop:EarthObservation>
</wcseo:EOMetadata>
</gmlcov:Extension>
</gmlcov:metadata>
<gml:domainSet>
<gml:RectifiedGrid dimension="2" gml:id="c1_grid">
...
</gml:RectifiedGrid>
</gml:domainSet>
<gmlcov:rangeType>
...
</gmlcov:rangeType>
<wcs:ServiceParameters>
<wcs:CoverageSubtype>RectifiedDataset</wcs:CoverageSubtype>
<wcs:nativeFormat>image/tiff</wcs:nativeFormat>
</wcs:ServiceParameters>
</wcs:CoverageDescription>
</wcs:CoverageDescriptions>
Note
|
The complete example is provided with the schema files being part of this standard. |
7.4. GetCoverage operation
7.4.1. GetCoverage request
The GetCoverage request is unchanged over WCS Core [OGC 09-110r4], except that for EO Coverages slicing is disallowed as it would leave the EO Metadata undefined.
Note
|
A GetCoverage request is possible on the identifiers of EO Coverages offered by the server even if these are not listed in a GetCapabilities response. |
Requirement 50 |
/req/eowcs/getCoverage-request-no-slicing |
7.4.2. GetCoverage response
The GetCoverage response is as defined in the WCS Core [OGC 09-110r4], however extended in two respects:
-
The coverage returned contains exactly one metadata element holding the EO Metadata record (it may contain further metadata elements in addition);
-
The lineage component of the EO Metadata record returned consists of the preexisting lineage sequence plus one element appended which describes the GetCoverage request on hand.
Note
|
As always, whether all these elements will be available to a client depends on the degree of support for the information items by the requested coverage encoding. |
On EO Coverages, a GetCoverage request shall produce a coverage of the type corresponding to the coverage inspected.
Requirement 51 |
/req/eowcs/getCoverage-response-coverage-type |
The EO Metadata, including the extended lineage record, shall be delivered alongside with the coverage data, adjusted according to the operations executed during GetCoverage evaluation.
Requirement 52 |
/req/eowcs/getCoverage-response-eo-metadata |
Requirement 53 |
/req/eowcs/getCoverage-response-eo-metadata-in-stitched-mosaic |
Requirement 54 |
/req/eowcs/getCoverage-response-footprint-in-eo-metadata |
The lineage record shall be extended by a reproducible description of the GetCoverage request originating this output.
Requirement 55 |
/req/eowcs/getCoverage-response-lineage-in-eo-metadata |
Note
|
This content is dependent on the protocol used by the requester. In case of a GET/KVP request, this will be the request URL with parameters. In case of an XML or SOAP request this will be an XML snippet. |
Example: The following XML fragment shows parts of a possible GetCoverage response for an EO Coverage:
<wcseo:RectifiedDataset xmlns:ows="http://www.opengis.net/ows/2.0"
xmlns:gml="http://www.opengis.net/gml/3.2"
xmlns:gmlcov="http://www.opengis.net/gmlcov/1.0"
xmlns:swe="http://www.opengis.net/swe/2.0"
xmlns:wcs="http://www.opengis.net/wcs/2.0"
xmlns:wcseo="http://www.opengis.net/wcs/wcseo/1.1"
xmlns:eop="http://www.opengis.net/eop/2.1"
xmlns:om="http://www.opengis.net/om/2.0"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.opengis.net/wcs/wcseo/1.1
http://schemas.opengis.net/wcs/wcseo/1.1/wcsEOGetCoverage.xsd" gml:id="c1">
<gml:boundedBy>
...
</gml:boundedBy>
<gml:domainSet>
...
</gml:domainSet>
<gml:rangeSet>
...
</gml:rangeSet>
<gmlcov:rangeType>
...
</gmlcov:rangeType>
<gmlcov:metadata>
<gmlcov:Extension>
<wcseo:EOMetadata>
<eop:EarthObservation gml:id="eop_c1">
<om:phenomenonTime>
<gml:TimePeriod gml:id="tp_c1">
<gml:beginPosition>2008-03-13T10:00:06.000</gml:beginPosition>
<gml:endPosition>2008-03-13T10:20:26.000</gml:endPosition>
</gml:TimePeriod>
</om:phenomenonTime>
<om:resultTime>
<gml:TimeInstant gml:id="archivingdate_c1">
<gml:timePosition>2008-03-13T11:02:47.999</gml:timePosition>
</gml:TimeInstant>
</om:resultTime>
<om:procedure>
...
</om:procedure>
<om:observedProperty />
<om:featureOfInterest>
...
</om:featureOfInterest>
<om:result>
...
</om:result>
<eop:metaDataProperty>
...
/eop:metaDataProperty>
</eop:EarthObservation>
<wcseo:lineage>
<!-- GetCoverage request via KVP -->
<wcseo:referenceGetCoverage>
<ows:Reference xlink:href="http://www.someWCS.org?SERVICE=WCS&VERSION=2.0.1&REQUEST=GetCoverage&COVERAGEID=c1&FORMAT=application/gml+xml&MEDIATYPE=multipart/related" />
</wcseo:referenceGetCoverage>
<gml:timePosition>2011-02-04T15:45:52Z</gml:timePosition>
</wcseo:lineage>
<wcseo:lineage>
<!-- GetCoverage request via POST -->
<wcseo:referenceGetCoverage>
<ows:ServiceReference xlink:href="http://www.someWCS.org">
<ows:RequestMessage>
<wcs:GetCoverage xmlns:wcs="http://www.opengis.net/wcs/2.0" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/wcs/2.0 http://schemas.opengis.net/wcs/2.0/wcsAll.xsd" service="WCS" version="2.0.1">
<wcs:CoverageId>c1</wcs:CoverageId>
<wcs:format>application/gml+xml</wcs:format>
<wcs:mediaType>multipart/related</wcs:mediaType>
</wcs:GetCoverage>
</ows:RequestMessage>
</ows:ServiceReference>
</wcseo:referenceGetCoverage>
<gml:timePosition>2011-02-04T15:45:52Z</gml:timePosition>
</wcseo:lineage>
</wcseo:EOMetadata>
</gmlcov:Extension>
</gmlcov:metadata>
</wcseo:RectifiedDataset>
7.5. DescribeEOCoverageSet operation
7.5.1. Overview
A DescribeEOCoverageSet request submits one or more Dataset Series, Stitched Mosaic, or Dataset identifiers together with a spatio-temporal subsetting criterion ("bounding box"). The spatial constraint is expressed in WGS84 [4], the temporal constraint in ISO 8601 [2].
The response to a successful request on a Dataset Series consists of a (possibly
empty) set of descriptions of Datasets and Stitched Mosaics and a (possibly
empty) set of descriptions of Dataset Series. The response to a successful
request on a Stitched Mosaic consists of a (possibly empty) set of descriptions
of Datasets. In any case, the result items are those ones which are (i) referred
to directly or via Dataset Series by the object submitted and (ii) matched by
the bounding box. The type of matching - contains
or overlaps
- is specified
in the request.
7.5.2. DescribeEOCoverageSet request
Requirement 56 |
/req/eowcs/describeEOCoverageSet-request-structure |
Name | Definition | Data type | Multiplicity |
---|---|---|---|
|
Request name |
|
one (mandatory) |
|
Identifier of Dataset Series, Stitched Mosaic, or Dataset to be evaluated |
|
one or more (mandatory) |
|
Intersection mode for evaluation of object bounding box against request parameters |
|
zero or one (optional) |
|
Maximum number of |
|
zero or one (optional) |
|
Index number within the result set from which the server shall begin presenting results in the response (the index number of the first search result is 0) |
|
zero or one (optional) |
|
Unordered list of zero or more names of the XML elements that shall be returned |
|
zero or one (optional) |
|
trim specification, as per WCS Core [OGC 09-110r4] Subclause 8.4.1 |
|
zero or more (optional) |
The DescribeEOCoverageSet request type contains two sections (cf. [OGC
06-121r9] Clause 7.3.3) whose appearance in the response can be controlled by
the client through the optional sections
parameter.
Requirement 57 |
/req/eowcs/describeEOCoverageSet-request-sections |
Note
|
This use of the sections parameter is similar to its use in GetCapabilities as defined in OWS Common [OGC 06-121r9]. |
Requirement 58 |
/req/eowcs/describeEOCoverageSet-request-eoId |
Note
|
A DescribeEOCoverageSet request is possible on the identifiers of objects offered by the server even if these are not listed in a GetCapabilities response. |
Requirement 59 |
/req/eowcs/describeEOCoverageSet-request-containment |
Requirement 60 |
/req/eowcs/describeEOCoverageSet-request-dimensions |
Requirement 61 |
/req/eowcs/describeEOCoverageSet-request-crs |
Note
|
Trim coordinates are not required to lie within the boundaries of the EO Coverage inquired. |
Example: The following XML instance shows a possible DescribeEOCoverageSet operation request:
<wcseo:DescribeEOCoverageSet xmlns:wcseo="http://www.opengis.net/wcs/wcseo/1.1" xmlns:wcs="http://www.opengis.net/wcs/2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/wcs/wcseo/1.1 http://schemas.opengis.net/wcs/wcseo/1.1/wcsEOAll.xsd" service="WCS" version="2.0.1" count="100" startIndex="0">
<wcseo:eoId>DS1</wcseo:eoId>
<wcseo:containment>overlaps</wcseo:containment>
<wcseo:sections>
<wcseo:section>All</wcseo:section>
</wcseo:sections>
<wcs:DimensionTrim>
<wcs:Dimension>long</wcs:Dimension>
<wcs:TrimLow>16</wcs:TrimLow>
<wcs:TrimHigh>18</wcs:TrimHigh>
</wcs:DimensionTrim>
<wcs:DimensionTrim>
<wcs:Dimension>lat</wcs:Dimension>
<wcs:TrimLow>40</wcs:TrimLow>
<wcs:TrimHigh>42</wcs:TrimHigh>
</wcs:DimensionTrim>
<wcs:DimensionTrim>
<wcs:Dimension>phenomenonTime</wcs:Dimension>
<wcs:TrimLow>2008-03-13T10:10:00Z</wcs:TrimLow>
<wcs:TrimHigh>2008-03-13T10:11:00Z</wcs:TrimHigh>
</wcs:DimensionTrim>
</wcseo:DescribeEOCoverageSet>
7.5.3. DescribeEOCoverageSet response
The response to a successful DescribeEOCoverageSet request consists of a (possibly empty) set of EO Coverage descriptions and a (possibly empty) set of Dataset Series descriptions (cf. Figure 9).
Requirement 62 |
/req/eowcs/describeEOCoverageSet-response-structure |
Name | Definition | Data type | Multiplicity |
---|---|---|---|
|
Unordered sequence of DatasetSeries descriptions |
|
zero or one (optional) |
|
Unordered sequence of coverage descriptions |
|
zero or one (optional) |
Requirement 63 |
/req/eowcs/describeEOCoverageSet-response-eo-metadata |
The response shall respect the sections
request parameter.
Requirement 64 |
/req/eowcs/describeEOCoverageSet-response-section-coverageDescriptions |
Requirement 65 |
/req/eowcs/describeEOCoverageSet-response-section-datasetSeriesDescriptions |
Such a response contains only EO Coverages directly referred to by the object(s) addressed in the request or via referred Dataset Series.
Requirement 66 |
/req/eowcs/describeEOCoverageSet-response-eoId |
Requirement 67 |
/req/eowcs/describeEOCoverageSet-response-referred |
Note
|
A Dataset referred to by a Dataset Series referred to by another Dataset Series is implicitly referred to by the later Dataset Series and thus always reported by a DescribeEOCoverageSet request against the later Dataset Series. However, it is allowed that such a Dataset is also referred to by the first Dataset Series but it is only reported once. |
Note
|
A Dataset referred to by a Stitched Mosaic referred to by a Dataset Series is not per se referred to by that Dataset Series and thus not reported by a DescribeEOCoverageSet request against the Dataset Series. However, it is allowed that such a Dataset is also referred to by the enclosing Dataset Series. |
Spatial subsetting is evaluated against the eop:Footprint
element contained in
the EOMetadata
element of an EO Coverage.
Requirement 68 |
/req/eowcs/describeEOCoverageSet-response-containment |
Temporal subsetting is evaluated against the temporal validity of an EO Coverage.
Requirement 69 |
/req/eowcs/describeEOCoverageSet-response-phenomenonTime |
Boundary values omitted are substituted by the actual boundary value of the object inquired.
Requirement 70 |
/req/eowcs/describeEOCoverageSet-response-trim-omitted |
Requirement 71 |
/req/eowcs/describeEOCoverageSet-response-bound-omitted |
Note
|
This trim semantics is analogous to trimming in GetCoverage. |
Requirement 72 |
/req/eowcs/describeEOCoverageSet-response-coverageSubtype |
Requirement 73 |
/req/eowcs/describeEOCoverageSet-response-count |
Note
|
The count parameter is used in the same ways as the itemsPerPage
element in the OpenSearch Specification [7].
|
Requirement 74 |
/req/eowcs/describeEOCoverageSet-response-startIndex |
Note
|
A server is assumed to apply a consistent ordering to the result set. |
Requirement 75 |
/req/eowcs/describeEOCoverageSet-response-numberMatched |
Requirement 76 |
/req/eowcs/describeEOCoverageSet-response-numberReturned |
Requirement 77 |
/req/eowcs/describeEOCoverageSet-response-startIndex-attr |
Requirement 78 |
/req/eowcs/describeEOCoverageSet-response-next |
Requirement 79 |
/req/eowcs/describeEOCoverageSet-response-previous |
Note
|
The specific format of the next and previous URIs is implementation dependent as are the details of how or if the server caches the results of an operation in order to be able to present them to the client one subset at a time. |
Note
|
The count , startIndex , next , and previous parameters used for
paging are defined in the same way as in the OpenGIS Web Feature Service 2.0
Interface Standard [8].
|
Example: The following XML fragment shows parts of a possible
DescribeEOCoverageSet
operation response:
<wcseo:EOCoverageSetDescription numberMatched="2" numberReturned="2" startIndex="0">
<wcs:CoverageDescriptions>
<wcs:CoverageDescription gml:id="c1">
<gml:boundedBy>
...
</gml:boundedBy>
<wcs:CoverageId>c1</wcs:CoverageId>
<gmlcov:metadata>
<gmlcov:Extension>
<wcseo:EOMetadata>
<eop:EarthObservation gml:id="c1_metadata">
...
</eop:EarthObservation>
</wcseo:EOMetadata>
</gmlcov:Extension>
</gmlcov:metadata>
<gml:domainSet>
...
</gml:domainSet>
<gmlcov:rangeType>
...
</gmlcov:rangeType>
<wcs:ServiceParameters>
<wcs:CoverageSubtype>RectifiedStitchedMosaic</wcs:CoverageSubtype>
<wcseo:dataset>
<wcs:CoverageId>c3</wcs:CoverageId>
</wcseo:dataset>
</wcs:ServiceParameters>
</wcs:CoverageDescription>
</wcs:CoverageDescriptions>
<wcseo:DatasetSeriesDescriptions>
<wcseo:DatasetSeriesDescription gml:id="ds2">
<gml:boundedBy>
<gml:Envelope axisLabels="lat long" srsDimension="2" srsName="http://www.opengis.net/def/crs/EPSG/0/4326" uomLabels="deg deg">
<gml:lowerCorner>46 16</gml:lowerCorner>
<gml:upperCorner>48 18</gml:upperCorner>
</gml:Envelope>
</gml:boundedBy>
<wcseo:DatasetSeriesId>ds2</wcseo:DatasetSeriesId>
<gml:TimePeriod gml:id="ds2_timeperiod">
<gml:beginPosition>2010-01-01T00:00:00.000</gml:beginPosition>
<gml:endPosition>2010-12-31T23:59:59.999</gml:endPosition>
</gml:TimePeriod>
</wcseo:DatasetSeriesDescription>
</wcseo:DatasetSeriesDescriptions>
</wcseo:EOCoverageSetDescription>
7.5.4. DescribeEOCoverageSet exceptions
exceptionCode value |
HTTP code | Meaning of exception code | locator value |
---|---|---|---|
|
404 |
The identifier passed does not match with any of the DatasetSeries or EO Coverages offered by this server |
List of violating Dataset Series and/or EO Coverage identifiers |
7.6. GetEOCoverageSet operation
7.6.1. Overview
Just like the DescribeEOCoverageSet request a GetEOCoverageSet request submits one or more Dataset Series, Stitched Mosaic, or Dataset identifiers together with a spatio-temporal subsetting criterion ("bounding box"). By default, the spatial constraint is expressed in WGS84 [4], the temporal constraint in ISO 8601 [2].
Additionally, the GetEOCoverageSet request allows to submit simple processing like scaling, interpolation, output CRS, format, and actually applying the subsetting.
The response to a successful request on a Dataset Series consists of a (possibly
empty) set of coverages of Datasets and Stitched Mosaics. The response to a
successful request on a Stitched Mosaic consists of a (possibly empty) set of
coverages of Datasets. In any case, the result items are those ones which are
(i) referred to directly or via Dataset Series by the object submitted and (ii)
matched by the bounding box. The type of matching - contains
or overlaps
-
is specified in the request.
Note
|
Using the GetEOCoverageSet operation allows to retrieve entire or subsetted coverages in their native or any given format with limited processing like subsetting or scaling applied. To request advanced processing the GetCoverage operation may be used. |
7.6.2. GetEOCoverageSet request
Requirement 80 |
/req/eowcs_geteocoverageset/getEOCoverageSet-request-structure |
Name | Definition | Data type | Multiplicity |
---|---|---|---|
|
Request name |
|
one (mandatory) |
|
Identifier of Dataset Series, Stitched Mosaic, or Dataset to be evaluated |
|
one or more (mandatory) |
|
Intersection mode for evaluation of object bounding box against request parameters |
|
zero or one (optional) |
|
Maximum number of |
|
zero or one (optional) |
|
Index number within the result set from which the server shall begin presenting results in the response (the index number of the first search result is 0) |
|
zero or one (optional) |
|
trim specification, as per WCS Core [OGC 09-110r4] Subclause 8.4.1 |
|
zero or more (optional) |
|
MIME type identifier of the format in which the coverages
returned are to be packaged e.g., |
|
zero or one (optional) |
|
If present, enforces a multipart encoding |
|
zero or one (optional) |
|
MIME type identifier of the format in which the coverages returned are to be encoded |
|
zero or one (optional) |
|
Determining if the given subset should be applied to the coverages returned |
|
zero or one (optional) |
|
Scaling to be applied to coverages returned |
|
zero or one (optional) |
|
Interpolation method to be applied on all axes during GetEOCoverageSet result preparation |
|
zero or one (optional) |
|
CRS Identifier indicating the CRS in which the request subsetting coordinates are expressed |
|
zero or one (optional) |
|
CRS Identifier indicating the CRS of the result coverages |
|
zero or one (optional) |
Requirement 81 |
/req/eowcs_geteocoverageset/getEOCoverageSet-request-eoId |
Note
|
A GetEOCoverageSet request is possible on the identifiers of objects offered by the server even if these are not listed in a GetCapabilities response. |
Requirement 82 |
/req/eowcs_geteocoverageset/getEOCoverageSet-request-containment |
The subsetting is interpreted similar to the DescribeEOCoverageSet operation.
In addition alternative subsetting is allowed using the subsettingCrs
parameter as defined by the WCS CRS Extension [OGC 11-053r1].
Requirement 83 |
/req/eowcs_geteocoverageset/getEOCoverageSet-request-dimensions |
Requirement 84 |
/req/eowcs_geteocoverageset/getEOCoverageSet-request-crs |
Note
|
Trim coordinates are not required to lie within the boundaries of the EO Coverage inquired. |
The package encoding format in which the coverages are returned is specified
by the combination of the packageFormat
and mediaType
parameters. Admissible
values (i.e, package formats supported) are those listed in the server’s
Capabilities document. The default is the also reported in the server’s
Capabilities document.
Requirement 85 |
/req/eowcs_geteocoverageset/getEOCoverageSet-acceptable-packageFormat |
Requirement 86 |
/req/eowcs_geteocoverageset/getEOCoverageSet-acceptable-mediaType |
The encoding format in which the coverages themselves are returned is specified
by the format
parameter. Admissible values (i.e, formats supported) are those
listed in the server’s Capabilities document. Note that only one format
applicable for all coverages to be returned can be specified. Default is the
coverage’s Native Format of each coverage to be returned.
Requirement 87 |
/req/eowcs_geteocoverageset/getEOCoverageSet-acceptable-format |
A general scaling and interpolation can be requested that is equally applied to all coverages returned.
Requirement 88 |
/req/eowcs_geteocoverageset/getEOCoverageSet-acceptable-scaling |
Requirement 89 |
/req/eowcs_geteocoverageset/getEOCoverageSet-acceptable-interpolation |
A general output CRS as well as CRS for subsetting can be requested that is equally applied to all coverages returned.
Requirement 90 |
/req/eowcs_geteocoverageset/getEOCoverageSet-acceptable-crss |
Example: The following XML instance shows a possible GetEOCoverageSet operation request:
<?xml version="1.0" encoding="UTF-8"?>
<wcseo:GetEOCoverageSet xmlns:wcseo="http://www.opengis.net/wcs/wcseo/1.1" xmlns:wcs="http://www.opengis.net/wcs/2.0" xmlns:int="http://www.opengis.net/wcs/interpolation/1.0" xmlns:scal="http://www.opengis.net/wcs/scaling/1.0" xmlns:crs="http://www.opengis.net/wcs/crs/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/wcs/wcseo/1.1 http://schemas.opengis.net/wcs/wcseo/1.1/wcsEOAll.xsd" service="WCS" version="2.0.1" count="100" startIndex="0">
<wcseo:eoId>someDatasetSeries1</wcseo:eoId>
<wcseo:containment>OVERLAPS</wcseo:containment>
<wcs:DimensionTrim>
<wcs:Dimension>long</wcs:Dimension>
<wcs:TrimLow>16</wcs:TrimLow>
<wcs:TrimHigh>18</wcs:TrimHigh>
</wcs:DimensionTrim>
<wcs:DimensionTrim>
<wcs:Dimension>lat</wcs:Dimension>
<wcs:TrimLow>40</wcs:TrimLow>
<wcs:TrimHigh>42</wcs:TrimHigh>
</wcs:DimensionTrim>
<wcs:DimensionTrim>
<wcs:Dimension>phenomenonTime</wcs:Dimension>
<wcs:TrimLow>2008-03-13T10:10:00Z</wcs:TrimLow>
<wcs:TrimHigh>2008-03-13T10:11:00Z</wcs:TrimHigh>
</wcs:DimensionTrim>
<wcseo:packageFormat>application/x-gzip</wcseo:packageFormat>
<wcseo:mediaType>multipart/related</wcseo:mediaType>
<wcseo:format>image/tiff</wcseo:format>
<wcseo:applySubset>true</wcseo:applySubset>
<int:Interpolation>
<int:globalInterpolation>http://www.opengis.net/def/interpolation/OGC/1/nearest-neighbor</int:globalInterpolation>
</int:Interpolation>
<scal:Scaling>
<scal:ScaleByFactor>
<scal:scaleFactor>2.0</scal:scaleFactor>
</scal:ScaleByFactor>
</scal:Scaling>
<wcscrs:subsettingCrs>http://www.opengis.net/def/crs/EPSG/0/4326</wcscrs:subsettingCrs>
<wcscrs:outputCrs>http://www.opengis.net/def/crs/EPSG/0/4326</wcscrs:outputCrs>
</wcseo:GetEOCoverageSet>
7.6.3. GetEOCoverageSet response
The response to a successful GetEOCoverageSet request consists of a (possibly empty) packaged set of EO Coverages. Each individual coverage itself is structured the same way as resulting from a GetCoverage request.
Requirement 91 |
/req/eowcs_geteocoverageset/getEOCoverageSet-packageFormat |
Requirement 92 |
/req/eowcs_geteocoverageset/getEOCoverageSet-multipart |
Requirement 93 |
/req/eowcs_geteocoverageset/getEOCoverageSet-mediaType |
Requirement 94 |
/req/eowcs_geteocoverageset/getEOCoverageSet-cid |
Note
|
The usage of cid is defined in [OGC 09-146r2].
|
Requirement 95 |
/req/eowcs_geteocoverageset/getEOCoverageSet-format |
The requirements defined for the GetCoverage response like containing EO Metadata or adding a lineage component apply to each EO Coverage included in a GetEOCoverageSet response package.
Requirement 96 |
/req/eowcs_geteocoverageset/getEOCoverageSet-getCoverage |
A GetEOCoverageSet response contains only EO Coverages directly referred to by the object(s) addressed in the request or via referred Dataset Series.
Requirement 97 |
/req/eowcs/getEOCoverageSet-response-eoId |
Requirement 98 |
/req/eowcs/getEOCoverageSet-response-referred |
Note
|
A Dataset referred to by a Dataset Series referred to by another Dataset Series is implicitly referred to by the later Dataset Series and thus always reported by a GetEOCoverageSet request against the later Dataset Series. However, it is allowed that such a Dataset is also referred to by the first Dataset Series but it is only reported once. |
Note
|
A Dataset referred to by a Stitched Mosaic referred to by a Dataset Series is not per se referred to by that Dataset Series and thus not reported by a GetEOCoverageSet request against the Dataset Series. However, it is allowed that such a Dataset is also referred to by the enclosing Dataset Series. |
Spatial subsetting is evaluated against the eop:Footprint
element contained in
the EOMetadata
element of an EO Coverage.
Requirement 99 |
/req/eowcs/getEOCoverageSet-response-containment |
Temporal subsetting is evaluated against the temporal validity of an EO Coverage.
Requirement 100 |
/req/eowcs/getEOCoverageSet-response-phenomenonTime |
Boundary values omitted are substituted by the actual boundary value of the object inquired.
Requirement 101 |
/req/eowcs/getEOCoverageSet-response-trim-omitted |
Requirement 102 |
/req/eowcs/getEOCoverageSet-response-bound-omitted |
Note
|
This trim semantics is analogous to trimming in GetCoverage. |
Requirement 103 |
/req/eowcs/getEOCoverageSet-response-count |
Note
|
The count parameter is used in the same ways as the itemsPerPage
element in the OpenSearch Specification [7].
|
Requirement 104 |
/req/eowcs/getEOCoverageSet-response-startIndex |
Note
|
A server is assumed to apply a consistent ordering to the result set. |
Requirement 105 |
/req/eowcs/getEOCoverageSet-response-numberMatched |
Requirement 106 |
/req/eowcs/getEOCoverageSet-response-numberReturned |
Requirement 107 |
/req/eowcs/getEOCoverageSet-response-startIndex-attr |
Requirement 108 |
/req/eowcs/getEOCoverageSet-response-next |
Requirement 109 |
/req/eowcs/getEOCoverageSet-response-previous |
Note
|
The specific format of the next and previous URIs is implementation dependent as are the details of how or if the server caches the results of an operation in order to be able to present them to the client one subset at a time. |
Note
|
The count , startIndex , next , and previous parameters used for
paging are defined in the same way as in the OpenGIS Web Feature Service 2.0
Interface Standard [8].
|
The spatial subsetting requested may be applied to the EO Coverages to be returned. Default is to respond with entire coverages.
Requirement 110 |
/req/eowcs/getEOCoverageSet-response-applySubset |
A requested general scaling and interpolation is equally applied to all coverages returned.
Requirement 111 |
/req/eowcs_geteocoverageset/getEOCoverageSet-scaling |
Requirement 112 |
/req/eowcs_geteocoverageset/getEOCoverageSet-interpolation |
A requested general output CRS as well as CRS for subsetting is equally applied to all coverages returned.
Requirement 113 |
/req/eowcs_geteocoverageset/getEOCoverageSet-crss |
Example: The following XML fragment shows parts of the first part of a possible
GetEOCoverageSet
operation multipart response:
<?xml version="1.0" encoding="UTF-8"?>
<wcseo:EOCoverageSet numberMatched="3" numberReturned="3" startIndex="0" xmlns:ows="http://www.opengis.net/ows/2.0" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:gmlcov="http://www.opengis.net/gmlcov/1.0" xmlns:swe="http://www.opengis.net/swe/2.0" xmlns:wcs="http://www.opengis.net/wcs/2.0" xmlns:wcseo="http://www.opengis.net/wcs/wcseo/1.1" xmlns:eop="http://www.opengis.net/eop/2.1" xmlns:om="http://www.opengis.net/om/2.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/wcs/wcseo/1.1 http://schemas.opengis.net/wcs/wcseo/1.1/wcsEOAll.xsd">
<wcseo:RectifiedDataset gml:id="someEOCoverage1">
<gml:boundedBy>
...
</gml:boundedBy>
<gml:domainSet>
...
</gml:domainSet>
<gml:rangeSet>
<gml:File>
<gml:rangeParameters xlink:arcrole="fileReference" xlink:href="cid:coverages.meta4;someEOCoverage1.tif" xlink:role="http://www.opengis.net/spec/GMLCOV_geotiff-coverages/1.0/conf/geotiff-coverage" />
<gml:fileReference>cid:coverages.meta4;someEOCoverage1.tif</gml:fileReference>
<gml:fileStructure />
<gml:mimeType>image/tiff</gml:mimeType>
</gml:File>
</gml:rangeSet>
<gmlcov:rangeType>
...
</gmlcov:rangeType>
<gmlcov:metadata>
<gmlcov:Extension>
<wcseo:EOMetadata>
<eop:EarthObservation gml:id="eop_someEOCoverage1">
...
</eop:EarthObservation>
<wcseo:lineage>
<wcseo:referenceGetEOCoverageSet>
<ows:Reference xlink:href="http://www.someWCS.org?SERVICE=WCS&VERSION=2.0.1&REQUEST=GetEOCoverageSet&EOID=someDatasetSeries1&PACKAGEFORMAT=application/metalink4+xml&MEDIATYPE=multipart/related" />
</wcseo:referenceGetEOCoverageSet>
<gml:timePosition>2016-05-17T12:25:40Z</gml:timePosition>
</wcseo:lineage>
</wcseo:EOMetadata>
</gmlcov:Extension>
</gmlcov:metadata>
</wcseo:RectifiedDataset>
<wcseo:RectifiedDataset gml:id="someEOCoverage2">
<gml:boundedBy>
...
</gml:boundedBy>
<gml:domainSet>
...
</gml:domainSet>
<gml:rangeSet>
<gml:File>
<gml:rangeParameters xlink:arcrole="fileReference" xlink:href="cid:coverages.meta4;someEOCoverage2.tif" xlink:role="http://www.opengis.net/spec/GMLCOV_geotiff-coverages/1.0/conf/geotiff-coverage" />
<gml:fileReference>cid:coverages.meta4;someEOCoverage2.tif</gml:fileReference>
<gml:fileStructure />
<gml:mimeType>image/tiff</gml:mimeType>
</gml:File>
</gml:rangeSet>
<gmlcov:rangeType>
...
</gmlcov:rangeType>
<gmlcov:metadata>
<gmlcov:Extension>
<wcseo:EOMetadata>
<eop:EarthObservation gml:id="eop_someEOCoverage2">
...
</eop:EarthObservation>
<wcseo:lineage>
<wcseo:referenceGetEOCoverageSet>
<ows:Reference xlink:href="http://www.someWCS.org?SERVICE=WCS&VERSION=2.0.1&REQUEST=GetEOCoverageSet&EOID=someDatasetSeries1&PACKAGEFORMAT=application/metalink4+xml&MEDIATYPE=multipart/related" />
</wcseo:referenceGetEOCoverageSet>
<gml:timePosition>2016-05-17T12:25:40Z</gml:timePosition>
</wcseo:lineage>
</wcseo:EOMetadata>
</gmlcov:Extension>
</gmlcov:metadata>
</wcseo:RectifiedDataset>
<wcseo:DatasetSeries>
<wcseo:DatasetSeriesId>someDatasetSeries1</wcseo:DatasetSeriesId>
<eop:Footprint gml:id="footprint_someDatasetSeries1">
...
</eop:Footprint>
<gml:TimePeriod gml:id="someDatasetSeries1_timeperiod">
...
</gml:TimePeriod>
<ows:Metadata>
<wcseo:EOMetadata>
<ows:Reference xlink:href="http://www.someCatalogue.org/eop-metadata-from-someDatasetSeries1" xlink:role="http://standards.iso.org/iso/19115/-3/mdb/1.0" xlink:title="ISO 19115-3 Metadata" />
<wcseo:lineage>
<wcseo:referenceGetEOCoverageSet>
<ows:Reference xlink:href="http://www.someWCS.org?SERVICE=WCS&VERSION=2.0.1&REQUEST=GetEOCoverageSet&EOID=someDatasetSeries1&PACKAGEFORMAT=application/metalink4+xml&MEDIATYPE=multipart/related" />
</wcseo:referenceGetEOCoverageSet>
<gml:timePosition>2016-05-17T12:25:40Z</gml:timePosition>
</wcseo:lineage>
</wcseo:EOMetadata>
</ows:Metadata>
<wcseo:rectifiedDataset>
<wcs:CoverageId>someEOCoverage1</wcs:CoverageId>
</wcseo:rectifiedDataset>
<wcseo:rectifiedDataset>
<wcs:CoverageId>someEOCoverage2</wcs:CoverageId>
</wcseo:rectifiedDataset>
</wcseo:DatasetSeries>
</wcseo:EOCoverageSet>
7.6.4. GetEOCoverageSet exceptions
exceptionCode value |
HTTP code | Meaning of exception code | locator value |
---|---|---|---|
|
404 |
The identifier passed does not match with any of the DatasetSeries or EO Coverages offered by this server |
List of violating Dataset Series and/or EO Coverage identifiers |
8. WCS extensions
8.1. Overview
Requirements class eowcs normatively depends on the WCS Extension specifications listed in this Clause. In other words, any implementation claiming to conform to this requirements class must also implement the specifications required in this Clause.
8.2. Band subsetting
Requirement 114 |
/req/eowcs/band-subsetting |
8.3. Scaling
Requirement 115 |
/req/eowcs/scaling |
8.4. Interpolation
Requirement 116 |
/req/eowcs/interpolation |
8.5. CRSs
Requirement 117 |
/req/eowcs/crs |
8.6. Coverage format encodings
Requirement 118 |
/req/eowcs/encodings |
9. Protocol Bindings
9.1. Protocol choices
At least one of the protocols, GET/KVP and SOAP shall be supported by an implementation. This choice is represented in this specification by two separate conformance classes, eowcs_get-kvp and eowcs_soap defined in the Subclauses below.
Requirement 119 |
/req/eowcs/protocol-bindings |
9.2. GET-KVP protocol conformance class
9.2.1. WCS GET/KVP encoding
Requirement 120 |
/req/eowcs_get-kvp/mandatory |
Requirement 121 |
/req/eowcs_get-kvp/conformance-class-in-profile |
9.2.2. DescribeEOCoverageSet GET/KVP encoding
Requirement 122 |
/req/eowcs_get-kvp/describeEOCoverageSet-request |
Requirement 123 |
/req/eowcs_get-kvp/describeEOCoverageSet-eoid |
Requirement 124 |
/req/eowcs_get-kvp/describeEOCoverageSet-containment |
Requirement 125 |
/req/eowcs_get-kvp/describeEOCoverageSet-count |
Requirement 126 |
/req/eowcs_get-kvp/describeEOCoverageSet-startIndex |
Requirement 127 |
/req/eowcs_get-kvp/describeEOCoverageSet-subset |
Syntax follows the HTTP standard [3]: underlined tokens represent
literals which appear "as is" ("terminal symbols"), other tokens represent sub-
expressions to be substituted ("non-terminals"). A vertical bar ("|"") denotes
alternatives, items in brackets ("[ ]") are optional. Non-terminals NCName
,
number
, token
, and anyURI
follow the resp. XML definitions
[6].
Note
|
Allowed values for points are determined by the CRS used. This ranges from "2009-11-06" for time to "-41.5" and "41°5'" for lat/long whereby non-numeric values have to be enclosed in double quotes. |
Note
|
As per HTTP [3], keys are case insensitive whereas values are case sensitive. |
Example: The following KVP-encoded DescribeEOCoverageSet request addresses
service path
on server www.myservice.org
at port port
requests coverage
C0002
in the domain specified by the bounding box with longitude (-71,47) and
latitude (-66,51), expressed in spatial CRS WGS84-2D and temporal CRS ISO:8601
(which are assumed to be supported for the coverage):
http://www.myserver.org:port/path?
service=WCS
&version=2.0.1
&request=DescribeEOCoverageSet
&eoid=C0002
&containment=overlaps
&subset=long(-71,47)
&subset=lat(-66,51)
&subset=phenomenonTime("2009-11-06T23:20:52Z","2009-11-13T23:20:52Z")
9.2.3. GetEOCoverageSet GET/KVP encoding
Requirement 128 |
/req/eowcs_get-kvp/getEOCoverageSet-request |
Requirement 129 |
/req/eowcs_get-kvp/getEOCoverageSet-eoid |
Requirement 130 |
/req/eowcs_get-kvp/getEOCoverageSet-containment |
Requirement 131 |
/req/eowcs_get-kvp/getEOCoverageSet-count |
Requirement 132 |
/req/eowcs_get-kvp/getEOCoverageSet-startIndex |
Requirement 133 |
/req/eowcs_get-kvp/getEOCoverageSet-packageFormat |
Requirement 134 |
/req/eowcs_get-kvp/getEOCoverageSet-mediaType |
Requirement 135 |
/req/eowcs_get-kvp/getEOCoverageSet-format |
Requirement 136 |
/req/eowcs_get-kvp/getEOCoverageSet-applySubset |
Requirement 137 |
/req/eowcs_get-kvp/getEOCoverageSet-parameters |
Requirement 138 |
/req/eowcs_get-kvp/getEOCoverageSet-subset |
Syntax follows the HTTP standard [3]: underlined tokens represent
literals which appear "as is" ("terminal symbols"), other tokens represent sub-
expressions to be substituted ("non-terminals"). A vertical bar ("|"") denotes
alternatives, items in brackets ("[ ]") are optional. Non-terminals NCName
,
number
, token
, and anyURI
follow the resp. XML definitions
[6].
Note
|
Allowed values for points are determined by the CRS used. This ranges from "2009-11-06" for time to "-41.5" and "41°5'" for lat/long whereby non-numeric values have to be enclosed in double quotes. |
Note
|
As per HTTP [3], keys are case insensitive whereas values are case sensitive. |
9.3. SOAP protocol conformance class
9.3.1. WCS SOAP encoding
Requirement 139 |
/req/eowcs_soap/mandatory |
Requirement 140 |
/req/eowcs_soap/conformance-class-in-profile |
9.3.2. DescribeEOCoverageSet SOAP encoding
Requirement 141 |
/req/eowcs_soap/describeEOCoverageSet-request-structure |
Requirement 142 |
/req/eowcs_soap/describeEOCoverageSet-response-structure |
Example: See files wcseo_requestDescribeEOCoverageSet.xml
and
wcseo_responseDescribeEOCoverageSet.xml
being part of this standard.
9.3.3. DescribeEOCoverageSet WSDL
Requirement 143 |
/req/eowcs_soap/describeEOCoverageSet-wsdl |
Note
|
A sample service description relying on this binding is provided in file
example-soap-endpoint.wsdl .
|
9.3.4. GetEOCoverageSet SOAP encoding
Requirement 144 |
/req/eowcs_soap/getEOCoverageSet-request-structure |
Requirement 145 |
/req/eowcs_soap/getEOCoverageSet-response-structure |
Example: See files wcseo_requestGetEOCoverageSet.xml
and
wcseo_responseGetEOCoverageSet.xml
being part of this standard.
9.3.5. GetEOCoverageSet WSDL
Requirement 146 |
/req/eowcs_soap/getEOCoverageSet-wsdl |
Note
|
A sample service description relying on this binding is provided in file
example-soap-endpoint.wsdl .
|
Annex A: Conformance Class Abstract Test Suite (Normative)
A WCS implementation must satisfy the following system characteristics to be conformant with this specification.
Tests identifiers below are relative to: http://www.opengis.net/spec/WCS_application-profile_earth-observation/1.1/
A.1. Conformance Test Classes: eowcs & eowcs_geteocoverageset
The OGC URI identifier of this conformance classes are: http://www.opengis.net/spec/WCS_application-profile_earth-observation/1.1/conf/eowcs http://www.opengis.net/spec/WCS_application-profile_earth-observation/1.1/conf/eowcs_geteocoverageset
A.1.1. EO Metadata
Test id: |
/conf/eowcs/eo-metadata-structure |
---|---|
Test purpose: |
|
Test method: |
For each EO Coverage offered by the server under test:
Test passes if all individual tests pass. |
A.1.2. Footprint in EO Metadata
Test id: |
/conf/eowcs/footprint-in-eo-metadata |
---|---|
Test purpose: |
|
Test method: |
For each EO Coverage offered by the server under test:
Test passes if all individual tests pass. |
A.1.3. EO Coverage
Test id: |
/conf/eowcs/eo-coverage-structure |
---|---|
Test purpose: |
|
Test method: |
For each EO Coverage offered by the server under test:
Test passes if all individual tests pass. |
A.1.4. EO Metadata in EO Coverage
Test id: |
/conf/eowcs/eo-metadata-in-eo-coverage |
---|---|
Test purpose: |
|
Test method: |
For each EO Coverage offered by the server under test:
Test passes if all individual tests pass. |
A.1.5. EOP Identifier in EO Metadata
Test id: |
/conf/eowcs/eop-identifier-in-eo-metadata |
---|---|
Test purpose: |
|
Test method: |
For each EO Coverage offered by the server under test:
Test passes if all individual tests pass. |
A.1.6. Footprint inside BoundedBy
Test id: |
/conf/eowcs/footprint-inside-boundedBy |
---|---|
Test purpose: |
|
Test method: |
For each EO Coverage offered by the server under test:
Test passes if all individual tests pass. |
A.1.7. PhenomenonTime in EO Metadata
Test id: |
/conf/eowcs/phenomenonTime-in-eo-metadata |
---|---|
Test purpose: |
|
Test method: |
For each EO Coverage offered by the server under test:
Test passes if all individual tests pass. |
A.1.8. PhenomenonTime ISO9891
Test id: |
/conf/eowcs/phenomenonTime-iso8601 |
---|---|
Test purpose: |
|
Test method: |
For each EO Coverage offered by the server under test:
Test passes if all individual tests pass. |
A.1.12. Rangeset of Coverage
Test id: |
/conf/eowcs/range-set-of-eo-coverage |
---|---|
Test purpose: |
|
Test method: |
For each EO Coverage offered by the server under test:
Test passes if all individual tests pass. |
A.1.13. Dataset Structure
Test id: |
/conf/eowcs/dataset-structure |
---|---|
Test purpose: |
|
Test method: |
For each EO Dataset offered by the server under test:
Test passes if all individual tests pass. |
A.1.14. Referenceable Stitched Mosaic-structure
Test id: |
/conf/eowcs/referenceableStitchedMosaic-structure |
---|---|
Test purpose: |
Requirement 14 /req/eowcs/referenceableStitchedMosaic-structure |
Test method: |
For each
Test passes if all individual tests pass. |
A.1.15. Rectified Stitched Mosaic-structure
Test id: |
/conf/eowcs/rectifiedStitchedMosaic-structure |
---|---|
Test purpose: |
|
Test method: |
For each
Test passes if all individual tests pass. |
A.1.16. Composed-of in Stitched mosaic
Test id: |
/conf/eowcs/composedOf-in-stitched-mosaic |
---|---|
Test purpose: |
|
Test method: |
For each
Test passes if all individual tests pass. |
A.1.17. Contributing Footprint inside Footprint
Test id: |
/conf/eowcs/contributingFootprint-inside-footprint |
---|---|
Test purpose: |
Requirement 17 /req/eowcs/contributingFootprint-inside-footprint |
Test method: |
For each Stitched Mosaic offered by the server under test:
Test passes if all individual tests pass. |
A.1.18. Contributing Footprint-pairwise-disjoint
Test id: |
/conf/eowcs/contributingFootprint-pairwise-disjoint |
---|---|
Test purpose: |
Requirement 18 /req/eowcs/contributingFootprint-pairwise-disjoint |
Test method: |
For each Stitched Mosaic offered by the server under test:
Test passes if all individual tests pass. |
A.1.19. Contributing Footprint-union-of-footprints
Test id: |
/conf/eowcs/contributingFootprint-union-of-footprints |
---|---|
Test purpose: |
Requirement 19 /req/eowcs/contributingFootprint-union-of-footprints |
Test method: |
For each Stitched Mosaic offered by the server under test:
Test passes if all individual tests pass. |
A.1.20. Dataset Domain Set in Set in Stitched Mosaic Domain Set
Test id: |
/conf/eowcs/dataset-domain-set-in-stitched-mosaic-domain-set |
---|---|
Test purpose: |
Requirement 20 /req/eowcs/dataset-domain-set-in-stitched-mosaic-domain-set |
Test method: |
For each Stitched Mosaic offered by the server under test:
Test passes if all individual tests pass. |
A.1.21. Datasets in Rectified Stitched Mosaic Same Offset Vector
Test id: |
/conf/eowcs/datasets-in-rectifiedStitcheMosaic-same-offsetVector |
---|---|
Test purpose: |
Requirement 21 /req/eowcs/datasets-in-rectifiedStitcheMosaic-same-offsetVector |
Test method: |
For each Rectified Stitched Mosaic offered by the server under test:
Test passes if all individual tests pass. |
A.1.22. Rectified Stitched Mosaic OffsetVector
Test id: |
/conf/eowcs/rectifiedStitchedMosaic-offsetVector |
---|---|
Test purpose: |
Requirement 22 /req/eowcs/rectifiedStitchedMosaic-offsetVector |
Test method: |
For each Rectified Stitched Mosaic offered by the server under test:
Test passes if all individual tests pass. |
A.1.23. Referenceable Stitched Mosaic Domainset
Test id: |
/conf/eowcs/referenceableStitchedMosaic-domain-set |
---|---|
Test purpose: |
Requirement 23 /req/eowcs/referenceableStitchedMosaic-domain-set |
Test method: |
For each Referenceable Stitched Mosaic offered by the server under test:
Test passes if all individual tests pass. |
A.1.24. Temporal Validity Stitched Mosaic
Test id: |
/conf/eowcs/temporal-validity-stitched-mosaic |
---|---|
Test purpose: |
|
Test method: |
For each Stitched Mosaic offered by the server under test:
Test passes if all individual tests pass. |
A.1.25. Datasets in Stitched Mosaic Same Rangetype
Test id: |
/conf/eowcs/datasets-in-stitched-mosaic-same-range-type |
---|---|
Test purpose: |
Requirement 25 /req/eowcs/datasets-in-stitched-mosaic-same-range-type |
Test method: |
For each Stitched Mosaic offered by the server under test:
Test passes if all individual tests pass. |
A.1.26. Nil Values in Stitched Mosaic
Test id: |
/conf/eowcs/nil-values-in-stitched-mosaic |
---|---|
Test purpose: |
|
Test method: |
For each Stitched Mosaic offered by the server under test:
Test passes if all individual tests pass. |
A.1.27. Range Values of Stitched Mosaic
Test id: |
/conf/eowcs/range-values-of-stitched-mosaic |
---|---|
Test purpose: |
|
Test method: |
For each Stitched Mosaic offered by the server under test:
Test passes if all individual tests pass. |
A.1.28. Dataset Series Structure
Test id: |
/conf/eowcs/datasetSeries-structure |
---|---|
Test purpose: |
|
Test method: |
For each
Test passes if all individual tests pass. |
A.1.29. Footprint in Dataset Series
Test id: |
/conf/eowcs/footprint-in-datasetSeries |
---|---|
Test purpose: |
|
Test method: |
For each
Test passes if all individual tests pass. |
A.1.30. TimePeriod in DatasetSeries
Test id: |
/conf/eowcs/timePeriod-in-datasetSeries |
---|---|
Test purpose: |
|
Test method: |
For each
Test passes if all individual tests pass. |
A.1.31. Metadata in DatasetSeries
Test id: |
/conf/eowcs/metadata-in-datasetSeries |
---|---|
Test purpose: |
|
Test method: |
TODO |
A.1.32. No circular references of Dataset Series
Test id: |
/conf/eowcs/nocircularreference-of-datasetSeries |
---|---|
Test purpose: |
Requirement 32 /req/eowcs/nocircularreference-of-datasetSeries |
Test method: |
For each
Test passes if all individual tests pass. |
A.1.33. GetCapabilities Request Sections
Test id: |
/conf/eowcs/getCapabilities-request-sections |
---|---|
Test purpose: |
|
Test method: |
Send a valid GetCapabilities request contains a |
A.1.34. GetCapabilities Response eowcs Conformance Class in Profile
Test id: |
/conf/eowcs/getCapabilities-response-conformance-class-in-profile |
---|---|
Test purpose: |
Requirement 34 /req/eowcs/getCapabilities-response-conformance-class-in-profile |
Test method: |
Determine the list of supported extensions via a valid GetCapabilities request; check that the extension required is listed. |
A.1.35. GetCapabilities Response eowcs_geteocoverageset Conformance Class in Profile
Test id: |
/conf/eowcs_geteocoverageset/getCapabilities-response-conformance-class-in-profile |
---|---|
Test purpose: |
Requirement 35 /req/eowcs_geteocoverageset/getCapabilities-response-conformance-class-in-profile |
Test method: |
Determine the list of supported extensions via a valid GetCapabilities request; check that the extension required is listed. |
A.1.36. GetCapabilities Response Structure
Test id: |
/conf/eowcs/getCapabilities-response-structure |
---|---|
Test purpose: |
Requirement 36 /req/eowcs/getCapabilities-response-structure |
Test method: |
Send a valid GetCapabilities request to the server under test, check the
result consists of an XML document of type |
A.1.37. GetCapabilities Response DatasetSeriesSummary
Test id: |
/conf/eowcs/getCapabilities-response-datasetSeriesSummary |
---|---|
Test purpose: |
Requirement 37 /req/eowcs/getCapabilities-response-datasetSeriesSummary |
Test method: |
Send a valid GetCapabilities request to the service under test. If a
|
A.1.38. GetCapabilities Response DatasetSeriesSummary no-duplicates
Test id: |
/conf/eowcs/getCapabilities-response-datasetSeriesSummary-no-duplicates |
---|---|
Test purpose: |
Requirement 38 /req/eowcs/getCapabilities-response-datasetSeriesSummary-no-duplicates |
Test method: |
Send a valid GetCapabilities request to the service under test. If a
|
A.1.39. GetCapabilities Response Coverage Summary
Test id: |
/conf/eowcs/getCapabilities-response-coverageSummary |
---|---|
Test purpose: |
Requirement 39 /req/eowcs/getCapabilities-response-coverageSummary |
Test method: |
Send a valid GetCapabilities request to the service under test. If a
|
A.1.40. GetCapabilities Response Coverage Summary Section
Test id: |
/conf/eowcs/getCapabilities-response-coverageSummary-section |
---|---|
Test purpose: |
Requirement 40 /req/eowcs/getCapabilities-response-coverageSummary-section |
Test method: |
Send valid GetCapabilities requests contains a |
A.1.41. GetCapabilities Response DatasetSeries Summary Section
Test id: |
/conf/eowcs/getCapabilities-response-datasetSeriesSummary-section |
---|---|
Test purpose: |
Requirement 41 /req/eowcs/getCapabilities-response-datasetSeriesSummary-section |
Test method: |
Send valid GetCapabilities requests contains a |
A.1.42. GetCapabilities Response Coverage Subtype
Test id: |
/conf/eowcs/getCapabilities-response-coverageSubtype |
---|---|
Test purpose: |
Requirement 42 /req/eowcs/getCapabilities-response-coverageSubtype |
Test method: |
Send a valid GetCapabilities request to the server under test, check that each
EO Coverage listed contains the corresponding value in its
|
A.1.43. GetCapabilities Response countDefault
Test id: |
/conf/eowcs/getCapabilities-response-countDefault |
---|---|
Test purpose: |
Requirement 43 /req/eowcs/getCapabilities-response-countDefault |
Test method: |
Send a valid GetCapabilities request to the server under test, check that its
|
A.1.44. GetCapabilities Response pagingSupported
Test id: |
/conf/eowcs/getCapabilities-response-paging-supported |
---|---|
Test purpose: |
Requirement 44 /req/eowcs/getCapabilities-response-paging-supported |
Test method: |
TODO |
A.1.45. GetCapabilities Response wcseoMetadata
Test id: |
/conf/eowcs_geteocoverageset/getCapabilities-response-wcseoMetadata |
---|---|
Test purpose: |
Requirement 45 /req/eowcs_geteocoverageset/getCapabilities-response-wcseoMetadata |
Test method: |
TODO |
A.1.46. DescribeEOCoverageSet Response defaultPackageFormat
Test id: |
/conf/eowcs_geteocoverageset/getCapabilities-response-defaultPackageFormat |
---|---|
Test purpose: |
Requirement 46 /req/eowcs_geteocoverageset/getCapabilities-response-defaultPackageFormat |
Test method: |
TODO |
A.1.47. GetCapabilities Response packageFormatSupported
Test id: |
/conf/eowcs_geteocoverageset/getCapabilities-response-packageFormatSupported |
---|---|
Test purpose: |
Requirement 47 /req/eowcs_geteocoverageset/getCapabilities-response-packageFormatSupported |
Test method: |
TODO |
A.1.48. Describe Coverage Response EO Metadata
Test id: |
/conf/eowcs/describeCoverage-response-eo-metadata |
---|---|
Test purpose: |
Requirement 48 /req/eowcs/describeCoverage-response-eo-metadata |
Test method: |
For each EO Coverage offered by the server, send a valid DescribeCoverage
request to server under test. Check that the result contains an |
A.1.49. Describe Coverage Response Coverage Subtype
Test id: |
/conf/eowcs/describeCoverage-response-coverageSubtype |
---|---|
Test purpose: |
Requirement 49 /req/eowcs/describeCoverage-response-coverageSubtype |
Test method: |
Send a valid DescribeCoverage request to the server under test, check that
each EO Coverage listed contains the corresponding value in its
|
A.1.50. GetCoverage Request no Slicing
Test id: |
/conf/eowcs/getCoverage-request-no-slicing |
---|---|
Test purpose: |
|
Test method: |
For each EO Coverage offered by the server:
Test passes if all individual tests pass. |
A.1.51. GetCoverage Response Coverage Type
Test id: |
/conf/eowcs/getCoverage-response-coverage-type |
---|---|
Test purpose: |
Requirement 51 /req/eowcs/getCoverage-response-coverage-type |
Test method: |
For each Rectified EO Coverage offered by the server:
Test passes if all individual tests pass. |
A.1.52. GetCoverage Response EO Metadata
Test id: |
/conf/eowcs/getCoverage-response-eo-metadata |
---|---|
Test purpose: |
|
Test method: |
For each EO Coverage offered by the server:
Test passes if all individual tests pass. |
A.1.53. GetCoverage Response EO Metadata in Stitched Mosaic
Test id: |
/conf/eowcs/getCoverage-response-eo-metadata-in-stitched-mosaic |
---|---|
Test purpose: |
Requirement 53 /req/eowcs/getCoverage-response-eo-metadata-in-stitched-mosaic |
Test method: |
For each Stitched Mosaic offered by the server:
Test passes if all individual tests pass. |
A.1.54. GetCoverage Response Footprint in EO Metadata
Test id: |
/conf/eowcs/getCoverage-response-footprint-in-eo-metadata |
---|---|
Test purpose: |
Requirement 54 /req/eowcs/getCoverage-response-footprint-in-eo-metadata |
Test method: |
For each EO Coverage offered by the server:
Test passes if all individual tests pass. |
A.1.55. GetCoverage Response Lineage in EO Metadata
Test id: |
/conf/eowcs/getCoverage-response-lineage-in-eo-metadata |
---|---|
Test purpose: |
Requirement 55 /req/eowcs/getCoverage-response-lineage-in-eo-metadata |
Test method: |
For each EO Coverage offered by the server under test:
Test passes if all individual tests pass. |
A.1.56. DescribeEOCoverageSet Request Structure
Test id: |
/conf/eowcs/describeEOCoverageSet-request-structure |
---|---|
Test purpose: |
Requirement 56 /req/eowcs/describeEOCoverageSet-request-structure |
Test method: |
Send DescribeEOCoverageSet requests with valid and invalid request structure. Pass test if appropriate valid results or exceptions, resp., are delivered. |
A.1.57. DescribeEOCoverageSet Request Sections
Test id: |
/conf/eowcs/describeEOCoverageSet-request-sections |
---|---|
Test purpose: |
Requirement 57 /req/eowcs/describeEOCoverageSet-request-sections |
Test method: |
Send otherwise valid DescribeEOCoverageSet requests containing a
Pass test if appropriate valid results or exceptions, resp., are delivered. |
A.1.58. DescribeEOCoverageSet Request eoId
Test id: |
/conf/eowcs/describeEOCoverageSet-request-eoId |
---|---|
Test purpose: |
Requirement 58 /req/eowcs/describeEOCoverageSet-request-eoId |
Test method: |
For each Dataset, Stitched Mosaic, and Dataset Series offered by the server under test, sends a valid DescribeEOCoverageSet request to server under test. Check that the identifier of a Dataset, a Stitched Mosaic, or a Dataset Series is equal to the eoId parameter value in the request. Test passes if all individual tests pass. |
A.1.59. DescribeEOCoverageSet Request Containment
Test id: |
/conf/eowcs/describeEOCoverageSet-request-containment |
---|---|
Test purpose: |
Requirement 59 /req/eowcs/describeEOCoverageSet-request-containment |
Test method: |
Send otherwise valid DescribeEOCoverageSet requests contain a
Pass test if appropriate valid results or exceptions, resp., are delivered. |
A.1.60. DescribeEOCoverageSet Request Dimension
Test id: |
/conf/eowcs/describeEOCoverageSet-request-dimensions |
---|---|
Test purpose: |
Requirement 60 /req/eowcs/describeEOCoverageSet-request-dimensions |
Test method: |
Send otherwise valid DescribeEOCoverageSet requests to server under test which
contain duplicate, and send requests which contain no duplicate dimension
parameters. Do so for requests with single, and multiple |
A.1.61. DescribeEOCoverageSet Request CRS
Test id: |
/conf/eowcs/describeEOCoverageSet-request-crs |
---|---|
Test purpose: |
|
Test method: |
A.1.62. DescribeEOCoverageSet Response Structure
Test id: |
/conf/eowcs/describeEOCoverageSet-response-structure |
---|---|
Test purpose: |
Requirement 62 /req/eowcs/describeEOCoverageSet-response-structure |
Test method: |
Send a valid DescribeEOCoverageSet request to the server under test, check
that the result consist of a |
A.1.63. DescribeEOCoverageSet Response EO Metadata
Test id: |
/conf/eowcs/describeEOCoverageSet-response-eo-metadata |
---|---|
Test purpose: |
Requirement 63 /req/eowcs/describeEOCoverageSet-response-eo-metadata |
Test method: |
Send a valid DescribeEOCoverageSet requests to server under test, check that
each |
A.1.64. DescribeEOCoverageSet Response EO Section CoverageDescriptions
Test id: |
/conf/eowcs/describeEOCoverageSet-response-section-coverageDescriptions |
---|---|
Test purpose: |
Requirement 64 /req/eowcs/describeEOCoverageSet-response-section-coverageDescriptions |
Test method: |
Send otherwise valid DescribeEOCoverageSet requests contain a
Pass test if appropriate valid results or exceptions, resp., are delivered. |
A.1.65. DescribeEOCoverageSet Response EO Section DatasetSeriesDescriptions
Test id: |
/conf/eowcs/describeEOCoverageSet-response-section-datasetSeriesDescriptions |
---|---|
Test purpose: |
Requirement 65 /req/eowcs/describeEOCoverageSet-response-section-datasetSeriesDescriptions |
Test method: |
Send otherwise valid DescribeEOCoverageSet requests contain a
Pass test if appropriate valid results or exceptions, resp., are delivered. |
A.1.66. DescribeEOCoverageSet Response eoId
Test id: |
/conf/eowcs/describeEOCoverageSet-response-eoId |
---|---|
Test purpose: |
Requirement 66 /req/eowcs/describeEOCoverageSet-response-eoId |
Test method: |
Send a valid DescribeEOCoverageSet request containing a
|
A.1.67. DescribeEOCoverageSet Response Referred
Test id: |
/conf/eowcs/describeEOCoverageSet-response-referred |
---|---|
Test purpose: |
Requirement 67 /req/eowcs/describeEOCoverageSet-response-referred |
Test method: |
For each send a valid DescribeEOCoverageSet requests to server under test,
check that each For each
Test passes if all individual tests pass. |
A.1.68. DescribeEOCoverageSet Response Containment
Test id: |
/conf/eowcs/describeEOCoverageSet-response-containment |
---|---|
Test purpose: |
Requirement 68 /req/eowcs/describeEOCoverageSet-response-containment |
Test method: |
Send otherwise valid DescribeEOCoverageSet requests containing a
Pass test if both checks succeed. |
A.1.69. DescribeEOCoverageSet Response PhenomenonTime
Test id: |
/conf/eowcs/describeEOCoverageSet-response-phenomenonTime |
---|---|
Test purpose: |
Requirement 69 /req/eowcs/describeEOCoverageSet-response-phenomenonTime |
Test method: |
Send otherwise valid DescribeEOCoverageSet requests containing a
Pass test if both checks succeed. |
A.1.70. DescribeEOCoverageSet Response Trim Omitted
Test id: |
/conf/eowcs/describeEOCoverageSet-response-trim-omitted |
---|---|
Test purpose: |
Requirement 70 /req/eowcs/describeEOCoverageSet-response-trim-omitted |
Test method: |
Send otherwise valid DescribeEOCoverageSet requests with a trimming in actual boundary of the object and without a trimming to server under test. Check that both responses are not exceptions and equal. |
A.1.71. DescribeEOCoverageSet Response Bound Omitted
Test id: |
/conf/eowcs/describeEOCoverageSet-response-bound-omitted |
---|---|
Test purpose: |
Requirement 71 /req/eowcs/describeEOCoverageSet-response-bound-omitted |
Test method: |
Send otherwise valid DescribeEOCoverageSet requests with a lower or upper bound omitted to server under test. Check that the responses are the same when they are indicated in actual lower or upper bound of the objects. |
A.1.72. DescribeEOCoverageSet Response CoverageSubtype
Test id: |
/conf/eowcs/describeEOCoverageSet-response-coverageSubtype |
---|---|
Test purpose: |
Requirement 72 /req/eowcs/describeEOCoverageSet-response-coverageSubtype |
Test method: |
Send a valid DescribeEOCoverageSet request to server under test. Check that
each Coverage listed contains the corresponding value in its
|
A.1.73. DescribeEOCoverageSet Response Count
Test id: |
/conf/eowcs/describeEOCoverageSet-response-count |
---|---|
Test purpose: |
Requirement 73 /req/eowcs/describeEOCoverageSet-response-count |
Test method: |
Send a valid DescribeEOCoverageSet request containing a |
A.1.74. DescribeEOCoverageSet Response startIndex
Test id: |
/conf/eowcs/describeEOCoverageSet-response-startIndex |
---|---|
Test purpose: |
Requirement 74 /req/eowcs/describeEOCoverageSet-response-startIndex |
Test method: |
TODO |
A.1.75. DescribeEOCoverageSet Response numberMatched attribute
Test id: |
/conf/eowcs/describeEOCoverageSet-response-numberMatched |
---|---|
Test purpose: |
Requirement 75 /req/eowcs/describeEOCoverageSet-response-numberMatched |
Test method: |
Send a valid DescribeEOCoverageSet request containing a |
A.1.76. DescribeEOCoverageSet Response numberReturned attribute
Test id: |
/conf/eowcs/describeEOCoverageSet-response-numberReturned |
---|---|
Test purpose: |
Requirement 76 /req/eowcs/describeEOCoverageSet-response-numberReturned |
Test method: |
Send a valid DescribeEOCoverageSet request containing a |
A.1.77. DescribeEOCoverageSet Response startIndex attribute
Test id: |
/conf/eowcs/describeEOCoverageSet-response-startIndex-attr |
---|---|
Test purpose: |
Requirement 77 /req/eowcs/describeEOCoverageSet-response-startIndex-attr |
Test method: |
TODO |
A.1.78. DescribeEOCoverageSet Response next attribute
Test id: |
/conf/eowcs/describeEOCoverageSet-response-next |
---|---|
Test purpose: |
Requirement 78 /req/eowcs/describeEOCoverageSet-response-next |
Test method: |
TODO |
A.1.79. DescribeEOCoverageSet Response previous attribute
Test id: |
/conf/eowcs/describeEOCoverageSet-response-previous |
---|---|
Test purpose: |
Requirement 79 /req/eowcs/describeEOCoverageSet-response-previous |
Test method: |
TODO |
A.1.80. GetEOCoverageSet Request Structure
Test id: |
/conf/eowcs_geteocoverageset/getEOCoverageSet-request-structure |
---|---|
Test purpose: |
Requirement 80 /req/eowcs_geteocoverageset/getEOCoverageSet-request-structure |
Test method: |
TODO |
A.1.81. GetEOCoverageSet Request eoId
Test id: |
/conf/eowcs_geteocoverageset/getEOCoverageSet-request-eoId |
---|---|
Test purpose: |
Requirement 81 /req/eowcs_geteocoverageset/getEOCoverageSet-request-eoId |
Test method: |
TODO |
A.1.82. GetEOCoverageSet Request Containment
Test id: |
/conf/eowcs_geteocoverageset/getEOCoverageSet-request-containment |
---|---|
Test purpose: |
Requirement 82 /req/eowcs_geteocoverageset/getEOCoverageSet-request-containment |
Test method: |
TODO |
A.1.83. GetEOCoverageSet Request Dimensions
Test id: |
/conf/eowcs_geteocoverageset/getEOCoverageSet-request-dimensions |
---|---|
Test purpose: |
Requirement 83 /req/eowcs_geteocoverageset/getEOCoverageSet-request-dimensions |
Test method: |
TODO |
A.1.84. GetEOCoverageSet Request CRS
Test id: |
/conf/eowcs_geteocoverageset/getEOCoverageSet-request-crs |
---|---|
Test purpose: |
Requirement 84 /req/eowcs_geteocoverageset/getEOCoverageSet-request-crs |
Test method: |
TODO |
A.1.85. GetEOCoverageSet Request packageFormat
Test id: |
/conf/eowcs_geteocoverageset/getEOCoverageSet-acceptable-packageFormat |
---|---|
Test purpose: |
Requirement 85 /req/eowcs_geteocoverageset/getEOCoverageSet-acceptable-packageFormat |
Test method: |
TODO |
A.1.86. GetEOCoverageSet Request mediaType
Test id: |
/conf/eowcs_geteocoverageset/getEOCoverageSet-acceptable-mediaType |
---|---|
Test purpose: |
Requirement 86 /req/eowcs_geteocoverageset/getEOCoverageSet-acceptable-mediaType |
Test method: |
TODO |
A.1.87. GetEOCoverageSet Request Format
Test id: |
/conf/eowcs_geteocoverageset/getEOCoverageSet-acceptable-format |
---|---|
Test purpose: |
Requirement 87 /req/eowcs_geteocoverageset/getEOCoverageSet-acceptable-format |
Test method: |
TODO |
A.1.88. GetEOCoverageSet Request Scaling
Test id: |
/conf/eowcs_geteocoverageset/getEOCoverageSet-acceptable-scaling |
---|---|
Test purpose: |
Requirement 88 /req/eowcs_geteocoverageset/getEOCoverageSet-acceptable-scaling |
Test method: |
TODO |
A.1.89. GetEOCoverageSet Request Interpolation
Test id: |
/conf/eowcs_geteocoverageset/getEOCoverageSet-acceptable-interpolation |
---|---|
Test purpose: |
Requirement 89 /req/eowcs_geteocoverageset/getEOCoverageSet-acceptable-interpolation |
Test method: |
TODO |
A.1.90. GetEOCoverageSet Request CRSs
Test id: |
/conf/eowcs_geteocoverageset/getEOCoverageSet-acceptable-crss |
---|---|
Test purpose: |
Requirement 90 /req/eowcs_geteocoverageset/getEOCoverageSet-acceptable-crss |
Test method: |
TODO |
A.1.91. GetEOCoverageSet Response packageFormat
Test id: |
/conf/eowcs_geteocoverageset/getEOCoverageSet-packageFormat |
---|---|
Test purpose: |
Requirement 91 /req/eowcs_geteocoverageset/getEOCoverageSet-packageFormat |
Test method: |
TODO |
A.1.92. GetEOCoverageSet Response multipart
Test id: |
/conf/eowcs_geteocoverageset/getEOCoverageSet-multipart |
---|---|
Test purpose: |
Requirement 92 /req/eowcs_geteocoverageset/getEOCoverageSet-multipart |
Test method: |
TODO |
A.1.93. GetEOCoverageSet Response mediaType
Test id: |
/conf/eowcs_geteocoverageset/getEOCoverageSet-mediaType |
---|---|
Test purpose: |
Requirement 93 /req/eowcs_geteocoverageset/getEOCoverageSet-mediaType |
Test method: |
TODO |
A.1.94. GetEOCoverageSet Response cid
Test id: |
/conf/eowcs_geteocoverageset/getEOCoverageSet-cid |
---|---|
Test purpose: |
Requirement 94 /req/eowcs_geteocoverageset/getEOCoverageSet-cid |
Test method: |
TODO |
A.1.95. GetEOCoverageSet Response Format
Test id: |
/conf/eowcs_geteocoverageset/getEOCoverageSet-format |
---|---|
Test purpose: |
Requirement 95 /req/eowcs_geteocoverageset/getEOCoverageSet-format |
Test method: |
TODO |
A.1.96. GetEOCoverageSet Response GetCoverage Applicable
Test id: |
/conf/eowcs_geteocoverageset/getEOCoverageSet-getCoverage |
---|---|
Test purpose: |
Requirement 96 /req/eowcs_geteocoverageset/getEOCoverageSet-getCoverage |
Test method: |
TODO |
A.1.97. GetEOCoverageSet Response eoId
Test id: |
/conf/eowcs/getEOCoverageSet-response-eoId |
---|---|
Test purpose: |
|
Test method: |
TODO |
A.1.98. GetEOCoverageSet Response Referred
Test id: |
/conf/eowcs/getEOCoverageSet-response-referred |
---|---|
Test purpose: |
Requirement 98 /req/eowcs/getEOCoverageSet-response-referred |
Test method: |
TODO |
A.1.99. GetEOCoverageSet Response Containment
Test id: |
/conf/eowcs/getEOCoverageSet-response-containment |
---|---|
Test purpose: |
Requirement 99 /req/eowcs/getEOCoverageSet-response-containment |
Test method: |
TODO |
A.1.100. GetEOCoverageSet Response phenomenonTime
Test id: |
/conf/eowcs/getEOCoverageSet-response-phenomenonTime |
---|---|
Test purpose: |
Requirement 100 /req/eowcs/getEOCoverageSet-response-phenomenonTime |
Test method: |
TODO |
A.1.101. GetEOCoverageSet Response Trim Omitted
Test id: |
/conf/eowcs/getEOCoverageSet-response-trim-omitted |
---|---|
Test purpose: |
Requirement 101 /req/eowcs/getEOCoverageSet-response-trim-omitted |
Test method: |
TODO |
A.1.102. GetEOCoverageSet Response Bound Omitted
Test id: |
/conf/eowcs/getEOCoverageSet-response-bound-omitted |
---|---|
Test purpose: |
Requirement 102 /req/eowcs/getEOCoverageSet-response-bound-omitted |
Test method: |
TODO |
A.1.103. GetEOCoverageSet Response Count
Test id: |
/conf/eowcs/getEOCoverageSet-response-count |
---|---|
Test purpose: |
|
Test method: |
TODO |
A.1.104. GetEOCoverageSet Response startIndex
Test id: |
/conf/eowcs/getEOCoverageSet-response-startIndex |
---|---|
Test purpose: |
Requirement 104 /req/eowcs/getEOCoverageSet-response-startIndex |
Test method: |
TODO |
A.1.105. GetEOCoverageSet Response numberMatched attribute
Test id: |
/conf/eowcs/getEOCoverageSet-response-numberMatched |
---|---|
Test purpose: |
Requirement 105 /req/eowcs/getEOCoverageSet-response-numberMatched |
Test method: |
TODO |
A.1.106. GetEOCoverageSet Response numberReturned attribute
Test id: |
/conf/eowcs/getEOCoverageSet-response-numberReturned |
---|---|
Test purpose: |
Requirement 106 /req/eowcs/getEOCoverageSet-response-numberReturned |
Test method: |
TODO |
A.1.107. GetEOCoverageSet Response startIndex attribute
Test id: |
/conf/eowcs/getEOCoverageSet-response-startIndex-attr |
---|---|
Test purpose: |
Requirement 107 /req/eowcs/getEOCoverageSet-response-startIndex-attr |
Test method: |
TODO |
A.1.108. GetEOCoverageSet Response next attribute
Test id: |
/conf/eowcs/getEOCoverageSet-response-next |
---|---|
Test purpose: |
|
Test method: |
TODO |
A.1.109. GetEOCoverageSet Response previous attribute
Test id: |
/conf/eowcs/getEOCoverageSet-response-previous |
---|---|
Test purpose: |
Requirement 109 /req/eowcs/getEOCoverageSet-response-previous |
Test method: |
TODO |
A.1.110. GetEOCoverageSet Response applySubset
Test id: |
/conf/eowcs/getEOCoverageSet-response-applySubset |
---|---|
Test purpose: |
Requirement 110 /req/eowcs/getEOCoverageSet-response-applySubset |
Test method: |
TODO |
A.1.111. GetEOCoverageSet Response Scaling
Test id: |
/conf/eowcs_geteocoverageset/getEOCoverageSet-scaling |
---|---|
Test purpose: |
Requirement 111 /req/eowcs_geteocoverageset/getEOCoverageSet-scaling |
Test method: |
TODO |
A.1.112. GetEOCoverageSet Response Interpolation
Test id: |
/conf/eowcs_geteocoverageset/getEOCoverageSet-interpolation |
---|---|
Test purpose: |
Requirement 112 /req/eowcs_geteocoverageset/getEOCoverageSet-interpolation |
Test method: |
TODO |
A.1.113. GetEOCoverageSet Response CRSs
Test id: |
/conf/eowcs_geteocoverageset/getEOCoverageSet-crss |
---|---|
Test purpose: |
Requirement 113 /req/eowcs_geteocoverageset/getEOCoverageSet-crss |
Test method: |
TODO |
A.1.114. Band Subsetting
Test id: |
/conf/eowcs/band-subsetting |
---|---|
Test purpose: |
|
Test method: |
Determine the list of supported extensions via a valid GetCapabilities request; check that the extension required is listed. |
A.1.115. Scaling
Test id: |
/conf/eowcs/scaling |
---|---|
Test purpose: |
|
Test method: |
Determine the list of supported extensions via a valid GetCapabilities request; check that the extension required is listed. |
A.1.116. Interpolation
Test id: |
/conf/eowcs/interpolation |
---|---|
Test purpose: |
|
Test method: |
Determine the list of supported extensions via a valid GetCapabilities request; check that the extension required is listed. |
A.1.117. CRS
Test id: |
/conf/eowcs/crs |
---|---|
Test purpose: |
|
Test method: |
Determine the list of supported extensions via a valid GetCapabilities request; check that the extension required is listed. |
A.1.118. Encodings
Test id: |
/conf/eowcs/encodings |
---|---|
Test purpose: |
|
Test method: |
Determine the list of supported extensions via a valid GetCapabilities request; check that the extension required is listed. |
A.2. Conformance Test Class: eowcs_get-kvp
The OGC URI identifier of this conformance class is: http://www.opengis.net/spec/WCS_application-profile_earth-observation/1.1/conf/eowcs_get-kvp
A.2.1. eowcs_get-kvp/Mandatory
Test id: |
/conf/eowcs_get-kvp/mandatory |
---|---|
Test purpose: |
|
Test method: |
Determine the list of supported extensions via a valid GetCapabilities request; check that the extension required is listed. |
A.2.2. eowcs_get-kvp/Conformance Class in Profile
Test id: |
/conf/eowcs_get-kvp/conformance-class-in-profile |
---|---|
Test purpose: |
Requirement 121 /req/eowcs_get-kvp/conformance-class-in-profile |
Test method: |
Determine the list of supported extensions via a valid GetCapabilities request; check that the extension required is listed. |
A.2.3. eowcs_get-kvp/describeEOCoverageSet request
Test id: |
/conf/eowcs_get-kvp/describeEOCoverageSet-request |
---|---|
Test purpose: |
Requirement 122 /req/eowcs_get-kvp/describeEOCoverageSet-request |
Test method: |
Send a valid get-kvp DescribeEOCoverageSet request as defined. Check that the response is not an exception. |
A.2.4. eowcs_get-kvp/describeEOCoverageSet eoid
Test id: |
/conf/eowcs_get-kvp/describeEOCoverageSet-eoid |
---|---|
Test purpose: |
Requirement 123 /req/eowcs_get-kvp/describeEOCoverageSet-eoid |
Test method: |
Send a valid get-kvp DescribeEOCoverageSet request as defined. Check that the response is not an exception. |
A.2.5. eowcs_get-kvp/describeEOCoverageSet containment
Test id: |
/conf/eowcs_get-kvp/describeEOCoverageSet-containment |
---|---|
Test purpose: |
Requirement 124 /req/eowcs_get-kvp/describeEOCoverageSet-containment |
Test method: |
Send a valid get-kvp DescribeEOCoverageSet request as defined. Check that the response is not an exception. |
A.2.6. eowcs_get-kvp/describeEOCoverageSet count
Test id: |
/conf/eowcs_get-kvp/describeEOCoverageSet-count |
---|---|
Test purpose: |
Requirement 125 /req/eowcs_get-kvp/describeEOCoverageSet-count |
Test method: |
TODO |
A.2.7. eowcs_get-kvp/describeEOCoverageSet startIndex
Test id: |
/conf/eowcs_get-kvp/describeEOCoverageSet-startIndex |
---|---|
Test purpose: |
Requirement 126 /req/eowcs_get-kvp/describeEOCoverageSet-startIndex |
Test method: |
TODO |
A.2.8. eowcs_get-kvp/describeEOCoverageSet Subset
Test id: |
/conf/eowcs_get-kvp/describeEOCoverageSet-subset |
---|---|
Test purpose: |
Requirement 127 /req/eowcs_get-kvp/describeEOCoverageSet-subset |
Test method: |
Send a valid get-kvp DescribeEOCoverageSet request as defined. Check that the response is not an exception. |
A.2.9. eowcs_get-kvp/getEOCoverageSet request
Test id: |
/conf/eowcs_get-kvp/getEOCoverageSet-request |
---|---|
Test purpose: |
|
Test method: |
Send a valid get-kvp GetEOCoverageSet request as defined. Check that the response is not an exception. |
A.2.10. eowcs_get-kvp/getEOCoverageSet eoid
Test id: |
/conf/eowcs_get-kvp/getEOCoverageSet-eoid |
---|---|
Test purpose: |
|
Test method: |
Send a valid get-kvp GetEOCoverageSet request as defined. Check that the response is not an exception. |
A.2.11. eowcs_get-kvp/getEOCoverageSet containment
Test id: |
/conf/eowcs_get-kvp/getEOCoverageSet-containment |
---|---|
Test purpose: |
Requirement 130 /req/eowcs_get-kvp/getEOCoverageSet-containment |
Test method: |
Send a valid get-kvp GetEOCoverageSet request as defined. Check that the response is not an exception. |
A.2.12. eowcs_get-kvp/getEOCoverageSet count
Test id: |
/conf/eowcs_get-kvp/getEOCoverageSet-count |
---|---|
Test purpose: |
|
Test method: |
TODO |
A.2.13. eowcs_get-kvp/getEOCoverageSet startIndex
Test id: |
/conf/eowcs_get-kvp/getEOCoverageSet-startIndex |
---|---|
Test purpose: |
Requirement 132 /req/eowcs_get-kvp/getEOCoverageSet-startIndex |
Test method: |
TODO |
A.2.14. eowcs_get-kvp/getEOCoverageSet packageFormat
Test id: |
/conf/eowcs_get-kvp/getEOCoverageSet-packageFormat |
---|---|
Test purpose: |
Requirement 133 /req/eowcs_get-kvp/getEOCoverageSet-packageFormat |
Test method: |
TODO |
A.2.15. eowcs_get-kvp/getEOCoverageSet mediaType
Test id: |
/conf/eowcs_get-kvp/getEOCoverageSet-mediaType |
---|---|
Test purpose: |
Requirement 134 /req/eowcs_get-kvp/getEOCoverageSet-mediaType |
Test method: |
TODO |
A.2.16. eowcs_get-kvp/getEOCoverageSet format
Test id: |
/conf/eowcs_get-kvp/getEOCoverageSet-format |
---|---|
Test purpose: |
|
Test method: |
TODO |
A.2.17. eowcs_get-kvp/getEOCoverageSet applySubset
Test id: |
/conf/eowcs_get-kvp/getEOCoverageSet-applySubset |
---|---|
Test purpose: |
Requirement 136 /req/eowcs_get-kvp/getEOCoverageSet-applySubset |
Test method: |
TODO |
A.2.18. eowcs_get-kvp/getEOCoverageSet parameters
Test id: |
/conf/eowcs_get-kvp/getEOCoverageSet-parameters |
---|---|
Test purpose: |
Requirement 137 /req/eowcs_get-kvp/getEOCoverageSet-parameters |
Test method: |
TODO |
A.3. Conformance Test Class: eowcs_soap
The OGC URI identifier of this conformance class is: http://www.opengis.net/spec/WCS_application-profile_earth-observation/1.1/conf/eowcs_soap
A.3.1. eowcs_soap/Mandatory
Test id: |
/conf/eowcs_soap/mandatory |
---|---|
Test purpose: |
|
Test method: |
Determine the list of supported extensions via a valid GetCapabilities request; check that the extension required is listed. |
A.3.2. eowcs_soap/Conformance Class in Profile
Test id: |
/conf/eowcs_soap/conformance-class-in-profile |
---|---|
Test purpose: |
Requirement 140 /req/eowcs_soap/conformance-class-in-profile |
Test method: |
Determine the list of supported extensions via a valid GetCapabilities request; check that the extension required is listed. |
A.3.3. eowcs_soap/describeEOCoverageSet Request Structure
Test id: |
/conf/eowcs_soap/describeEOCoverageSet-request-structure |
---|---|
Test purpose: |
Requirement 141 /req/eowcs_soap/describeEOCoverageSet-request-structure |
Test method: |
Send otherwise valid soap DescribeEOCoverageSet requests containing:
Pass test if appropriate valid results or exceptions, resp., are delivered. |
A.3.4. eowcs_soap/describeEOCoverageSet Response Structure
Test id: |
/conf/eowcs_soap/describeEOCoverageSet-response-structure |
---|---|
Test purpose: |
Requirement 142 /req/eowcs_soap/describeEOCoverageSet-response-structure |
Test method: |
Send a valid soap DescribeEOCoverageSet request to sever under test. Check response whether the condition is fulfilled. |
A.3.5. eowcs_soap/describeEOCoverageSet-wsdl
Test id: |
/conf/eowcs_soap/describeEOCoverageSet-wsdl |
---|---|
Test purpose: |
|
Test method: |
For the service under test, retrieve the WSDL description and issue requests which make use of this service definition. Check that the service can be addressed and that queries can be retrieved properly. |
A.3.6. eowcs_soap/getEOCoverageSet Request Structure
Test id: |
/conf/eowcs_soap/getEOCoverageSet-request-structure |
---|---|
Test purpose: |
Requirement 144 /req/eowcs_soap/getEOCoverageSet-request-structure |
Test method: |
Send otherwise valid soap GetEOCoverageSet requests containing:
Pass test if appropriate valid results or exceptions, resp., are delivered. |
A.3.7. eowcs_soap/getEOCoverageSet Response Structure
Test id: |
/conf/eowcs_soap/getEOCoverageSet-response-structure |
---|---|
Test purpose: |
Requirement 145 /req/eowcs_soap/getEOCoverageSet-response-structure |
Test method: |
Send a valid soap GetEOCoverageSet request to sever under test. Check response whether the condition is fulfilled. |
A.3.8. eowcs_soap/getEOCoverageSet-wsdl
Test id: |
/conf/eowcs_soap/getEOCoverageSet-wsdl |
---|---|
Test purpose: |
|
Test method: |
For the service under test, retrieve the WSDL description and issue requests which make use of this service definition. Check that the service can be addressed and that queries can be retrieved properly. |
— end of ATS —
Annex B: Use Case Examples (Informative)
In the following two Use Cases are presented to illustrate possible application scenarios of EO-WCS in the domain of earth observation and remote sensing.
B.1. Use Case 1
Provider offers, through an EO-WCS service, one Dataset Series containing Sea Surface Temperature (SST) and another Dataset Series containing Ocean Color (OC).
User wants to compare the timely development and distribution of some algal bloom in relationship to ocean currents indicated by the changes in SST. User, therefore, plans to analyze a timeseries of OC and SST imageries over a certain period of time (TOI) in the Area of Interest (AOI).
User first addresses the EO-WCS service by issuing a GetCapabilities
request.The resulting response contains information about available
DatasetSeriesId
s, their spatial extent (as WGS84BoundingBox
), as well as
their temporal validity (as beginPosition
and endPosition
).
Based on this information, User can issue a DescribeEOCoverageSet request,
using the received DatasetSerieId
(as eoId
) to obtain detail information
on the content of the two offered DatasetSeries of interest. Since User is only
interested in a limited period of time and a certain area, the
DescribeEOCoverageSet request contains parameters for spatial and temporal
subsetting, for example:
subset=lat(32,47)& subset=long(11,33)& subset=phenomenonTime("2006-08-01","2006-08-22T19:22:00Z")
User will receive a response containing the CoverageId
s of the datasets
available within this spatio-temporal bounding box provided; notably, this set
will be empty if no item is contained within the area and time queried.
User subsequently decides about which of the coverages identified are of
interest and issues a GetCoverage request for each CoverageId
received in
the DescribeEOCoverageSet response. Again, User can select an AOI (via the
subset parameter); additionally, specific bands (via range subsetting), output
coverage format, output CRS, interpolation method, etc. can be selected
depending on the WCS extensions implemented by the server; the Capabilities
document contains pertinent information. Following download via GetCoverage, the
SST and OC coverages can be analyzed and processed on User’s local workstation.
B.2. Use Case 2
Provider offers, during harvesting seasons (e.g., March through August), three 2-monthly Stitched Mosaics for a certain area. Whenever new images are available in this area they are included in the respective (time-slot) Stitched Mosaic, possibly replacing older datasets or parts thereof. The providers applies a "least cloud cover/newest on top" approach to feed into the respective mosaics. At the end of each 2-month period the next mosaic is initiated. Stitched Mosaics enable Provider to offer the full metadata set for each dataset participating in a mosaic for any time instance, down to pixel-level accuracy.
User wants to assess crop yield for an AOI contained within the providers Stitched Mosaics. For doing so, User needs data about the same AOI for at least 2 points in time. Further, User requires the full metadata recorded (including possible lineage data) together with the actual imagery.
User addresses the EO-WCS by issuing a GetCapabilities request.The response
contains the coverageId
s for all Stitched Mosaics available.
Further information - i.e., metadata - can be obtained through a
DescribeCoverage request on the coverageId
s received. This yields bounding
box, footprint, bands, as well as timestamp information (e.g., oldest and
youngest image) of the datasets participating in the Stitched Mosaic.
Alternatively, if User needs details about those datasets comprising a
particular Stitched Mosaic, a DescribeEOCoverageSet request using the
CoverageId
as eoId
can be issued. This results in detailed information
(time, footprint, bands, etc.) about each dataset participating in the object
queried.
For accessing the image data, User issues a GetCoverage request providing the identifier of the object to be retrieved. In addition to the mandatory request parameters, further optional parameters allow specifying output format, geographic subset, and further details; availability of this functionality depends on the extensions the EO-WCS implements, as indicated in its Capabilities document. The coverages retrieved finally can be analyzed and processed further in User’s local workstation environment.
Annex C: Revision History
Date | Release | Editor | Primary clauses modified | Description |
---|---|---|---|---|
2010-10-27 |
0.1.0 |
Peter Baumann, Stephan Meissl |
All |
Created |
2011-01-19 |
0.2.0 |
Peter Baumann, Stephan Meissl |
All |
Various updates |
2011-01-19 |
0.3.0 |
Jinsongdi Yu |
Annex A |
Added ATS |
2011-06-10 |
0.4.0 |
Peter Baumann, Stephan Meissl |
All |
Incorporated OAB comments |
2013-06-19 |
0.5.2 |
Peter Baumann, Stephan Meissl |
All |
Thorough review and adjustments to WCS and GMLCOV corrigenda |
2014-03-05 |
1.0 |
Peter Baumann, Stephan Meissl, Jinsongdi Yu |
Clause 9.2.2, Footer |
Corrected example and copyright year in |
2016-05-10 |
1.0 |
Stephan Meissl |
None |
Made an Asciidoc copy and published it on GitHub (https://github.com/EOX-A/eo-wcs, https://eox-a.github.io/eo-wcs) |
2016-08-31 |
1.1draft |
Stephan Meissl |
7.6 |
Proposal from ESA project EVO-ODAS |
2017-11-22 |
1.1draft2 |
Stephan Meissl |
None |
Adjusted document to new standards template |
Annex D: Bibliography
[1] OGC 09-153, WCS 2.0 Overview: Core and Extensions, version 1.0.0
[2] ISO 8601:2004(E) Data elements and interchange formats - Information interchange - Representation of dates and time
[3] IETF RFC 2616, Hypertext Transfer Protocol — HTTP/1.1. IETF, 1999
[4] www.epsg.org
[5] W3C Note 11, SOAP Messages with Attachments. W3C Note 11, 2000
[6] XML Schema Part 2: Datatypes Second Edition, W3C Recommendation, 2004
[7] OpenSearch Specification, 1.1, Draft 5
[8] OGC 09-025r2, OpenGIS Web Feature Service 2.0 Interface Standard - With Corrigendum, version 2.0.2