[Requests] Comments on 15-044r3, OGC(R) Web Coverage Service Interface Standard -Coverage Collection Extension

Meißl, Stephan stephan.meissl at eox.at
Thu Mar 31 10:35:17 EDT 2016


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Please find below my comments on the WCS Coverage Collection Extension.

Best regards,
Stephan



PART A

1. Evaluator: Stephan Meißl , EOX

2. Submission: 15-044r3, OGC® Web Coverage Service Interface Standard
-
Coverage Collection Extension



PART B

1. Requirement: General

2. Implementation Specification Section number: General

3. Criticality: Major

4. Comments/justifications for changes: Document properties,
particularly the title, are wrong. The cover page erroneously shows
"OGC® Web Coverage Service Interface Standard - Interpolation
Extension" as title.



1. Requirement: General

2. Implementation Specification Section number: General

3. Criticality: Editorial

4. Comments/justifications for changes: The footers for left and right
pages are formatted differently and show different content.



1. Requirement: General

2. Implementation Specification Section number: i. Preface

3. Criticality: Editorial

4. Comments/justifications for changes: Adjust "and" to "an" in first sentence.



1. Requirement: General

2. Implementation Specification Section number: Foreword

3. Criticality: Minor

4. Comments/justifications for changes: The OGC document number of the
"GML Application Schema for Coverages" is 09-146r2 instead of
09-110r2. In addition this document has been renamed to "OGC®
Implementation Schema for Coverages".



1. Requirement: General

2. Implementation Specification Section number: General

3. Criticality: Editorial

4. Comments/justifications for changes: Suggest to harmonize the usage
of "Coverage Collection", "CoverageCollection", and
"Coveragecollection" to "Coverage Collection" (including a space).



1. Requirement: General,
http://www.opengis.net/spec/WCS_service-extension_coveragecollection/1.0/req/covcoll_describe-coveragecollection/request,
etc.

2. Implementation Specification Section number: General

3. Criticality: Major

4. Comments/justifications for changes: There is an ambiguity for the
name of the new request between "DescribeCoveragecollection" and
"DescribeCoverageCollection". Suggest to harmonize the usage of these
two and maybe also "describe-coveragecollection" to
"DescribeCoverageCollection".



1. Requirement: General

2. Implementation Specification Section number: 2 Conformance

3. Criticality: Major

4. Comments/justifications for changes: Why are the standardization
targets protocol bindings and not WCS implementations (currently:
servers) like all the other WCS extensions?



1. Requirement: General

2. Implementation Specification Section number: General

3. Criticality: Editorial

4. Comments/justifications for changes: Suggest to harmonize usage of
camel case notation and fix issues like "covcoll_getCapabilities" vs.
"covcoll_GetCapabilities" in "2 Conformance" (Btw., note that most of
the classes defined here have an unnecessary space character.).



1. Requirement: General

2. Implementation Specification Section number: 3 Normative references

3. Criticality: Editorial

4. Comments/justifications for changes: First paragraph is duplicated.
Title of OGC 06-121r9 is "OGC Web Services Common Standard" and of OGC
09-146r2 "OGC® Implementation Schema for Coverages". Version of OGC
09-110r4 is "2.0.1" and of OGC 09-147r3 "1.0.1".



1. Requirement: General

2. Implementation Specification Section number: 4 Terms and definitions

3. Criticality: Editorial

4. Comments/justifications for changes: The reference should be [OGC
06-121r9] instead of [OGC 06-121r8]. In any case, the first paragraph
is a duplication of "ii. Terms and definitions".



1. Requirement: General

2. Implementation Specification Section number: 5 Conventions and 5.1
Data dictionary tables

3. Criticality: Editorial

4. Comments/justifications for changes: The reference to OWS Common
2.0 should be [OGC 06-121r9].



1. Requirement: General

2. Implementation Specification Section number: 7.1 Requirements
Class: Coverage collection offerings

3. Criticality: Editorial

4. Comments/justifications for changes: The dependencies are missing
in the table. Btw. the table as well as the other Requirements Class
tables are missing a caption.



1. Requirement:
http://www.opengis.net/spec/WCS_service-extension_coveragecollection/1.0/req/covcoll_offering/type

2. Implementation Specification Section number: 7.1 Requirements
Class: Coverage collection offerings

3. Criticality: Major

4. Comments/justifications for changes: I'd assume the requirement to
make a reference to the bundled XML schemas. Figure 1 specifies an
"covcoll:CoverageOfferings" element but not
"covcoll:CoverageOffering". I assume this element should be referenced
in the requirement.



1. Requirement:
http://www.opengis.net/spec/WCS_service-extension_coveragecollection/1.0/req/covcoll_offering/type

2. Implementation Specification Section number: 7.1 Requirements
Class: Coverage collection offerings

3. Criticality: Major

4. Comments/justifications for changes: The semantics of "timePeriod",
"ows:WSG84BoundingBox", and "ows:WSG84BoundingBoxType" introduced in
Figure 1 and Table 5 seems not to be defined. It is not clear which
value those elements should have for collections holding other
coverages than 2D lat, long or x, y or 3D lat, long, t or x, y, t
bound to Earth. What about a coverage of measurements of Mars? What
when coverages with different dimensions are grouped? What when higher
dimensional coverages are present?



1. Requirement: General

2. Implementation Specification Section number: 7.1.1 Requirements
class overview

3. Criticality: Major

4. Comments/justifications for changes: In Figure 1 it seems every
"wcs:OfferedCoverage" has to be associated with exactly one
"covcoll:CoverageCollection". Why not allow none or multiple
associations? Further, what is the motivation for the note at
"covcoll:CoverageCollection"? I propose to remove it and allow empty
Coverage Collections. The "covcoll:ServiceParameters" element misses
the "extension" element described in Table 6.



1. Requirement: General

2. Implementation Specification Section number: 7.1.2 CoverageOfferings

3. Criticality: Minor

4. Comments/justifications for changes: Table 2 should include
"wcs:CoverageOfferings" instead of "wcs::offeredCoverage" and
"wcs::serviceMetadata". Assuming that Figure 1 is correct
"offeredCollection" should be changed to "OfferedCollection".



1. Requirement: General

2. Implementation Specification Section number: 7.1.2 CoverageOfferings

3. Criticality: Major

4. Comments/justifications for changes: "offeredCollection" doesn't
seem to be an attribute as the first sentence suggests. Further I
propose to reassess the feasibility of substituting wcs:Extension with
covcoll:ServiceMetadataExtension with validating XML schemas and
examples.



1. Requirement: General

2. Implementation Specification Section number: 8 Amendments to WCS
service model to support Coveragecollection offerings

3. Criticality: Major

4. Comments/justifications for changes: The given example of
"wcs:ServiceMetadata" has several issues. The covcoll elements need to
be wrapped in an "wcs:Extension" element. The
"covcoll:coveragecollectionProfileSupported" includes several newlines
and blanks which I guess are unintentional. Btw. where are the allowed
values of this element specified?



1. Requirement:
http://www.opengis.net/spec/WCS_service-extension_coveragecollection/1.0/req/covcoll_offering/coveragecollection-unique-identifier

2. Implementation Specification Section number: 7.1 Requirements
Class: Coverage collection offerings

3. Criticality: Major

4. Comments/justifications for changes: What does the last sentence of
this requirement mean? The "gml:identifier" attribute isn't used in
any of the examples.



1. Requirement:
http://www.opengis.net/spec/WCS_service-extension_coveragecollection/1.0/req/covcoll_getCapabilities/request-sections

2. Implementation Specification Section number: 8.1 Requirements
Class: Get capabilities

3. Criticality: Major

4. Comments/justifications for changes: What does "token" mean in this
context? Suggest to reword to: "A WCS server implementing this
extension shall accept the value "OfferedCollections" within an
ows:Section element of the GetCapabilities request in addition to
those specified in OWS Common [OGC 06-121r9] subclause 7.3.3".



1. Requirement:
http://www.opengis.net/spec/WCS_service-extension_coveragecollection/1.0/req/covcoll_getCapabilities/response-coveragecollection-summary

2. Implementation Specification Section number: 8.1 Requirements
Class: Get capabilities

3. Criticality: Major

4. Comments/justifications for changes: Assuming the first requirement
above is correct "offeredCollections" needs to be adjusted to
"OfferedCollections".



1. Requirement: General

2. Implementation Specification Section number: 8.1.1 Requirements
class overview

3. Criticality: Minor

4. Comments/justifications for changes: Assuming the first requirement
above is correct "offeredCollections" needs to be adjusted to
"OfferedCollections".



1. Requirement:
http://www.opengis.net/spec/WCS_service-extension_coveragecollection/1.0/req/covcoll_collection-summary/structure

2. Implementation Specification Section number: 8.2 Requirements
Class: Coverage collection summary

3. Criticality: Major

4. Comments/justifications for changes: I'd assume the requirement to
make a reference to the bundled XML schemas. The requirement and
Figure 2 contradict about the name of the element
"covcoll:CoveragecollectionSummary" vs.
"covcoll:CoverageCollectionSummary". Suggest to use the version from
Figure 2.



1. Requirement: General

2. Implementation Specification Section number: 8.2.1 Requirements
class overview

3. Criticality: Editorial

4. Comments/justifications for changes: For consistency either the
"cocoll:CoverageCollectionSummary" element should list the bounding
box and metadata elements explicitly like "wcs:CoverageSummary" or the
latter should not list them.



1. Requirement:
http://www.opengis.net/spec/WCS_service-extension_coveragecollection/1.0/req/covcoll_describe-coveragecollection/request

2. Implementation Specification Section number: 8.3 Requirements
Class: DescribeCoverageCollection

3. Criticality: Major

4. Comments/justifications for changes: I'd assume the requirement to
make a reference to the bundled XML schemas. The requirement and
Figure 3 contradict about the name of the request
"DescribeCoveragecollection" vs. "DescribeCoverageCollection". Suggest
to use the version from Figure 3.



1. Requirement: General

2. Implementation Specification Section number: 8.3.2
DescribeCoverageCollection request

3. Criticality: Major

4. Comments/justifications for changes: In Figure 3 "wcs:trimHigh" and
"wcs:trimLow" are of type "real". Suggest to use "String" instead to
allow also to trim for example the time axis.



1. Requirement: General

2. Implementation Specification Section number: 8.3.2
DescribeCoverageCollection request

3. Criticality: Minor

4. Comments/justifications for changes: Table 8 is unnecessarily
repeating "Service", "Version", and "extension" components but leaves
out the new and mandatory "request" one.



1. Requirement: General

2. Implementation Specification Section number: 8.3 Requirements
Class: DescribeCoverageCollection

3. Criticality: Major / Critical

4. Comments/justifications for changes: The limitation of the
"wcs:DimensionTrim" component which is defined for the new request in
Figure 3 and Table 8 to 5 occurrences seems quite arbitrary and is not
explained. Further it seems there are the requirements missing to
thoroughly specify the semantics of this request component. In my
opinion the specification of this semantics is crucial to make this
extension really useful particularly for collections of huge numbers
of coverages.



1. Requirement: General

2. Implementation Specification Section number: 8.3 Requirements
Class: DescribeCoverageCollection

3. Criticality: Major

4. Comments/justifications for changes: I suggest to add "containment"
and "count" parameters to the new request in the same way and with the
same semantics as in EO-WCS. Once the semantics of the
"wcs:DimensionTrim" component are specified the "containment"
parameter could be used to allow clients to retrieve the summaries of
all overlapping or only contained coverages. The "count" parameter
could be used to allow clients to provide a maximum number of coverage
summaries to be returned.



1. Requirement: General

2. Implementation Specification Section number: 8.1 Requirements
Class: Get capabilities

3. Criticality: Major

4. Comments/justifications for changes: I suggest to add an
"ows:Constraint" element to the capabilities to allow servers to limit
the number of coverage summaries included in
DescribeCoverageCollection responses.



1. Requirement:
http://www.opengis.net/spec/WCS_service-extension_coveragecollection/1.0/req/covcoll_describe-coveragecollection/response
and http://www.opengis.net/spec/WCS_service-extension_coveragecollection/1.0/req/covcoll_collection-description/structure
and http://www.opengis.net/spec/WCS_service-extension_coveragecollection/1.0/req/covcoll_collection-description/response

2. Implementation Specification Section number: 8 Amendments to WCS
service model to support Coveragecollection offerings

3. Criticality: Major

4. Comments/justifications for changes: These three requirements are
the same and two should be removed. Besides I'd assume the
requirements to make a reference to the bundled XML schemas.



1. Requirement: General

2. Implementation Specification Section number: 8.4.1 Requirements
class overview

3. Criticality: Major

4. Comments/justifications for changes: The attribute
"aggregationType" is present in Figure 4 and the example but it is
nowhere defined.



1. Requirement: General

2. Implementation Specification Section number: 8.4.1 Requirements
class overview

3. Criticality: Major

4. Comments/justifications for changes: The mechanics of
"covcoll:subCollectionDescription" as used in the provided example
seems to need further specification to avoid ambiguous situations
particularly for clients needing to parse the response. For example it
should be specified how to deal with circular references.



1. Requirement: General

2. Implementation Specification Section number: 9.1 Requirements
Class: Protocol binding

3. Criticality: Minor

4. Comments/justifications for changes: Is this class really needed?
There doesn't seem to be a choice for implementations about
implementing this class, is there?



1. Requirement:
http://www.opengis.net/spec/WCS_service-extension_coveragecollection/1.0/req/covcoll_getCapabilities/response-supported-profiles

2. Implementation Specification Section number: 8.1 Requirements
Class: Get capabilities

3. Criticality: Major

4. Comments/justifications for changes: What is a "registered
Coveragecollection profile"? Where are those defined? And how are they
used in this extension? This concept should be thoroughly specified in
this extension.



1. Requirement: General

2. Implementation Specification Section number: 9.2 Requirements
Class: HTTP/GET using KVP protocol binding

3. Criticality: Editorial

4. Comments/justifications for changes: The Requirements Class table
includes an unexpected or at least unexplained reference to
"http://www.opengis.net/spec/WCS_application-profile_earth-observation/1.0/req/eowcs_get-kvp".



1. Requirement:
http://www.opengis.net/spec/WCS_service-extension_coveragecollection/1.0/req/covcoll_protocol-binding/covcoll_get-kvp/url-encoding

2. Implementation Specification Section number: 9.2 Requirements
Class: HTTP/GET using KVP protocol binding

3. Criticality: Minor

4. Comments/justifications for changes: I'd expect the requirement to
make a reference to the requirements class like: "Implementations of
this extension which support the covcoll_get-kvp requirements class
shall support ...".



1. Requirement: General

2. Implementation Specification Section number: 9.2.1
DescribeCoveragecollection HTTP/GET using KVP request structure

3. Criticality: Major

4. Comments/justifications for changes: In the example the "version"
parameter should probably be "2.0.1", "coverageId" should be
"coverageCollectionId", and the "subset" for time should have two
values separated by ",". Btw. the time value as provided is not
allowed by the extension which defines the trim values as "real" (see
above).



1. Requirement: General

2. Implementation Specification Section number: 9.3 Requirements
Class: HTTP/POST using XML request body protocol binding

3. Criticality: Editorial

4. Comments/justifications for changes: First sentence erroneously
uses "HTTP/GET" instead of "HTTP/POST".



1. Requirement: General

2. Implementation Specification Section number: General

3. Criticality: Editorial

4. Comments/justifications for changes: As this extension reuses quite
some concepts of OGC 10-140r1, OGC® Web Coverage Service 2.0 Interface
Standard - Earth Observation Application Profile
https://portal.opengeospatial.org/files/42722 it should be at least
referenced for example in the introduction.



1. Requirement: General

2. Implementation Specification Section number: General

3. Criticality: Major

4. Comments/justifications for changes: In the ESA initiative EVO-ODAS
we're currently experimenting with adding a GetEOCoverageSet request
to EO-WCS allowing to retrieve multiple coverages that have been found
via a DescribeEOCoverageSet request at once. I propose to add a
GetCoverageCollection request reusing this functionality similar as
the DescribeCoverageCollection request reuses the concepts of the
DescribeEOCoverageSet request.



1. Requirement: General

2. Implementation Specification Section number: 8.3 Requirements
Class: DescribeCoverageCollection

3. Criticality: Minor

4. Comments/justifications for changes: In case of collections of
numerous coverages a paging mechanism might be desirable.



1. Requirement: General

2. Implementation Specification Section number: General

3. Criticality: Editorial

4. Comments/justifications for changes: It seems strange that there
are 8 requirements and conformance classes defined but clients have
only an implementation choice on 2 namely "covcoll_get-kvp" and
"covcoll_post-xml".



- --
DI Stephan Meißl

EOX IT Services GmbH - https://eox.at
1090 Wien, Thurngasse 8/4, Austria
Mobile: +43 664 968 8701
mailto: stephan.meissl at eox.at
HG Wien - FN 312068z - UID ATU64265057
-----BEGIN PGP SIGNATURE-----
Version: Mailvelope v1.3.6
Comment: https://www.mailvelope.com

wsFcBAEBCAAQBQJW/TVnCRCjUF3jVovqrQAA04YQAL0jHsPwwxo+5DhW0lHd
Sj8BOmnmrqM5zJXcSRJvh5Uo7JTFcenBHkxlVLl5JwgNdqaACUzt2/K+SM32
FpHCJlWRC+b3VhBCeBt2meNgz84GselhSA4hbw+RyMWyFOJVJjceQGg4Ua1O
q9pvdV9MU+uRjLupx1bd6+2QSRs9aSZrT8p6KWbJ8Z1Lf5Rt5YSAWiHGjTAX
FipshcBHDAT4FonCfKauVSbZFbAQXq/gVOCckFXPE9hYZGuYZr2xbj+cO80F
WdDueB6KYahzZlyxiBTdM0GML+jPlM68peyOX+LKOMzMKoVpYA3iYqwsH5qi
d4WJyNzgg7oiwlMnZQ8gIet+i1Dj5dYfrQHwGBuxd3O2TOiZvdwKAk27GMVG
0bzXRxv6+N72ToWTw126KnebwWOl6nKu31NjVuraQhqPQUuscEYzHOhIDTrf
MAs1jevsif8NAVVoKwWLaLlDvLNbW2Q2vtnCMwpKz5urEIHSC///CgoBK7cL
NDhS1y2n0yrLYeWGtl7renAvecLbVFjKp33Ym7u7enN1+P7uM4TQWYwlDLfk
HvUprUDEBJ1MIjKH+aOKIYxjWKdi+rQKae17VGK1tFBFJB/BYBpQAPusWQQP
G3fG+Vaehng1XSHkDYQtn1IgioEsZTLEkZH8GQxh/wupxpdpYcwUYeJCV87I
17tY
=iTZP
-----END PGP SIGNATURE-----


More information about the Requests mailing list