Skip to content

Commit

Permalink
Fix for #154, #155, #157
Browse files Browse the repository at this point in the history
- Range Subsetting: range-subset -> properties
  • Loading branch information
jerstlouis committed Mar 10, 2022
1 parent e047cfb commit 633b213
Show file tree
Hide file tree
Showing 5 changed files with 13 additions and 20 deletions.
17 changes: 5 additions & 12 deletions standard/clause_8_3_range-subset.adoc
Original file line number Diff line number Diff line change
@@ -1,25 +1,18 @@
[[rc-range-subset-section]]
== Requirements Class Range Subset

The Range Subset Requirements Class defines parameters for selecting a subset of the bands (defined in the Range Type) to retrieve from Range Sets.
The Range Subset Requirements Class defines the `properties` parameter for selecting a subset of the DataRecord fields (defined in the Range Type, e.g. individual imagery bands) to retrieve from Range Sets.

NOTE: The following is an alternative definition for this requiremenents class.
The `Range Subset` Requirements Class defines the application of the `properties` parameter against the RangeSet component of a Coverage resource using the HTTP GET operation.
The effect is to generate a subset of the range set of the coverage. That subset is then returned to the client in the HTTP response.

The subset parameter is defined in the following Requirement Module:

include::../api_modules/subset/requirements_module_subset.adoc[]

The `Range Subset` Requirements Class defines the application of the `subset` parameter against the RangeSet component of a Coverage resource using the HTTP GET operation. The effect is to generate a subset of the range set of the coverage. That subset is then returned to the client in the HTTP response.

NOTE: Path = /collections/{collection_id}/coverage/rangeset

NOTE: End insert
This query parameter affects both the `/collections/{collection_id}/coverage` and `/collections/{collection_id}/coverage/rangeset` resource paths.

Range subsetting parameters may be mixed with other parameters, in no particular order, in the query part of a URL.

include::requirements/requirements_class_coverage_rangesubset.adoc[]

The range-subset parameter is defined in the following Requirement:
The `properties` parameter is defined in the following Requirement:

include::requirements/coverage-rangesubset/REQ_cov-rangesubset-definition.adoc[]

Expand Down
12 changes: 6 additions & 6 deletions standard/examples/examples_rangesubsetting.adoc
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
These examples return a range subset of a coverage in the negotiated format, including domain set, range type (and metadata if applicable) to the extent than they can be described in that format:

* {datasetAPI}/collections/{collectionId}/coverage?range-subset=B02,B03,B04 -- returns only the bands with IDs B02, B03 and B04 from the coverage
* {datasetAPI}/collections/{collectionId}/coverage?range-subset=3,4,5 -- returns the 4th, 5th and 6th band (0-based indexing, as listed in the Range Type) from the coverage
* {datasetAPI}/collections/{collectionId}/coverage?range-subset=B07,* -- returns the band B07 and all subsequent bands from the coverage
* {datasetAPI}/collections/{collectionId}/coverage?properties=B02,B03,B04 -- returns only the bands with IDs B02, B03 and B04 from the coverage
* {datasetAPI}/collections/{collectionId}/coverage?properties=3,4,5 -- returns the 4th, 5th and 6th band (0-based indexing, as listed in the Range Type) from the coverage
* {datasetAPI}/collections/{collectionId}/coverage?properties=B07,* -- returns the band B07 and all subsequent bands from the coverage
A `rangeset` resource, also supporting subsetting, may be available in some implementations, for some formats/media types.
The following examples using this resource return only the sample values for a subset of a coverage in the negotiated format, without domain set, range type or metadata:

* {datasetAPI}/collections/{collectionId}/rangeset?range-subset=B02,B03,B04 -- returns only the bands with IDs B02, B03 and B04 from the coverage
* {datasetAPI}/collections/{collectionId}/rangeset?range-subset=3,4,5 -- returns the 4th, 5th and 6th band (0-based indexing, as listed in the Range Type) from the coverage
* {datasetAPI}/collections/{collectionId}/rangeset?range-subset=B07,* -- returns the band B07 and all subsequent bands from the coverage
* {datasetAPI}/collections/{collectionId}/coverage/rangeset?properties=B02,B03,B04 -- returns only the bands with IDs B02, B03 and B04 from the coverage
* {datasetAPI}/collections/{collectionId}/coverage/rangeset?properties=3,4,5 -- returns the 4th, 5th and 6th band (0-based indexing, as listed in the Range Type) from the coverage
* {datasetAPI}/collections/{collectionId}/coverage/rangeset?properties=B07,* -- returns the band B07 and all subsequent bands from the coverage
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@
[width="90%",cols="2,6a"]
|===
^|*Requirement {counter:req-id}* |*/req/coverage-rangesubset/definition*
^|A |The operation SHALL support a parameter `range-subset` with the following characteristics (using an Extended Backus Naur Form (EBNF) fragment):
^|A |The operation SHALL support a parameter `properties` with the following characteristics (using an Extended Backus Naur Form (EBNF) fragment):

[source,EBNF]
----
RangeSubsetSpec: "range-subset"=band[,bandName]*
RangeSubsetSpec: "properties"=band[,bandName]*
band: {bandName}\|{bandIndex}\|"*"
bandName: {text}
bandIndex: {number}
Expand Down

0 comments on commit 633b213

Please sign in to comment.