Skip to content

Commit

Permalink
Finished re-organization of requirement modules (issue #337)
Browse files Browse the repository at this point in the history
- Also added files for new requirement classes
  • Loading branch information
jerstlouis committed May 2, 2024
1 parent c23e02c commit 0f8619a
Show file tree
Hide file tree
Showing 65 changed files with 131 additions and 118 deletions.
File renamed without changes.
18 changes: 13 additions & 5 deletions collections/20-024.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -91,15 +91,23 @@ include::clause_7_overview.adoc[]

include::clause_8_collections.adoc[]

include::clause_X_umd-collection.adoc[]
include::clause_9_umd-collection.adoc[]

include::clause_9_simple_query.adoc[]
include::clause_10_searchable_collections.adoc[]

include::clause_10_encodings.adoc[]
include::clause_11_sortable_collections.adoc[]

include::clause_11_media_types.adoc[]
include::clause_12_filterable_collections.adoc[]

include::clause_12_security_considerations.adoc[]
include::clause_13_hierarchical_collections.adoc[]

include::clause_14_schemas.adoc[]

include::clause_15_encodings.adoc[]

include::clause_16_media_types.adoc[]

include::clause_17_security_considerations.adoc[]

include::annex_ats.adoc[]

Expand Down
2 changes: 1 addition & 1 deletion collections/abstract_tests/ATS_class_collections.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -39,4 +39,4 @@ include::collections/ATS_rc-md-collection-content.adoc[]

include::collections/ATS_rc-md-items-links.adoc[]

include::extent/ATS_rc-md-extent.adoc[]
include::collections/ATS_rc-md-extent.adoc[]
45 changes: 45 additions & 0 deletions collections/abstract_tests/ATS_class_searchable-collections.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
[[ats_searchable-collections]]
[cols="1,4",width="90%"]
|===
2+|*Conformance Class*
2+|http://www.opengis.net/spec/ogcapi-common-2/1.0/conf/searchable-collections
|Target type |Web API
|Requirements Class |<<rc_searchable-collections,http://www.opengis.net/spec/ogcapi-common-2/1.0/req/searchable-collections>>
|Dependency |<<ats_collections,http://www.opengis.net/spec/ogcapi-common-2/1.0/conf/collections>>
|===

The Simple Query Conformance Class has a dependency on the Collections Conformance Class.

include::./searchable-collections/ATS_dependency-collections.adoc[]

Conformance with the <<rc-searchable-collections,Searchable Collections>> Conformance Class is demonstrated by execution of the following tests:

. <<ats_collections_rc-op-bbox,/conf/collections/rc-op-bbox>>
. <<ats_collections_rc-op-datetime,/conf/collections/rc-op-datetime>>
. <<ats_collections_rc-op-limit,/conf/collections/rc-op-limit>>

==== Bounding Box Tests

include::searchable-collections/ATS_rc-op-bbox.adoc[]

include::searchable-collections/ATS_rc-bbox-definition.adoc[]

include::searchable-collections/ATS_rc-bbox-response.adoc[]

==== Date-Time Tests

include::searchable-collections/ATS_rc-op-datetime.adoc[]

include::searchable-collections/ATS_rc-datetime-definition.adoc[]

include::searchable-collections/ATS_rc-datetime-response.adoc[]

==== Limit Tests

include::searchable-collections/ATS_rc-op-limit.adoc[]

include::searchable-collections/ATS_rc-limit-definition.adoc[]

include::searchable-collections/ATS_rc-limit-response.adoc[]

include::searchable-collections/ATS_rc-paged-response.adoc[]
45 changes: 0 additions & 45 deletions collections/abstract_tests/ATS_class_simple-query.adoc

This file was deleted.

24 changes: 22 additions & 2 deletions collections/annex_ats.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,29 @@ The Conformance Classes addressed by this Abstract Test Suite are the:

include::abstract_tests/ATS_class_collections.adoc[]

=== Conformance Class Simple query
=== Conformance Class Uniform Multi-Dimension Collection

include::abstract_tests/ATS_class_simple-query.adoc[]
// TODO: include::abstract_tests/ATS_class_umd-collection.adoc[]

=== Conformance Class Searchable Collections

include::abstract_tests/ATS_class_searchable-collections.adoc[]

=== Conformance Class Sortable Collections

// TODO: include::abstract_tests/ATS_class_sortable-collections.adoc[]

=== Conformance Class Filtering Collections with CQL2

// TODO: include::abstract_tests/ATS_class_filterable-collections.adoc[]

=== Conformance Class Hierarchical Collections

// TODO: include::abstract_tests/ATS_class_hierarchical-collections.adoc[]

=== Conformance Class Schemas

// TODO: include::abstract_tests/ATS_class_schemas.adoc[]

=== Conformance Class JSON

Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
[[rc-simple-query-section]]
[[rc-searchable-collections]]
== Requirements Class "Searchable Collections"
:sectnums:

include::requirements/requirements_class_simple_query.adoc[]
include::requirements/requirements_class_searchable_collections.adoc[]

This Requirements Class describes query parameters that can be used to discover and select resource collections exposed through an OGC Web API.

Implementers of this Requirements Class must also implement the `/Collections` Requirements Class.

include::requirements/simple_query/REQ_dependency-collections.adoc[]
include::requirements/searchable-collections/REQ_dependency-collections.adoc[]

[[parameter-requirements]]
=== Parameter Requirements
Expand All @@ -30,11 +30,11 @@ The `bbox` parameter is used to select resources based on the geospatial footpri

The `bbox` parameter is defined as follows:

include::./requirements/bbox/REQ_rc-bbox-definition.adoc[]
include::./requirements/searchable-collections/REQ_rc-bbox-definition.adoc[]

While the processing of the `bbox` parameter is specific to the resource and operation for which it is applied, there is a general set of requirements which all implementations must address.

include::./requirements/bbox/REQ_rc-bbox-response.adoc[]
include::./requirements/searchable-collections/REQ_rc-bbox-response.adoc[]

"Intersects" means that a coordinate that is part of the spatial geometry of the resource falls within the area specified in the parameter `bbox`. This includes the boundaries of the geometries. For curves the boundary includes the start and end position. For surfaces the boundary includes the outer and inner rings.

Expand Down Expand Up @@ -62,11 +62,11 @@ The `datetime` parameter selects resources based on their temporal extent. The d

The `datetime` parameter is defined as follows:

include::./requirements/datetime/REQ_rc-datetime-definition.adoc[]
include::./requirements/searchable-collections/REQ_rc-datetime-definition.adoc[]

While the processing of the `datetime` parameter is specific to the resource and operation for which it is applied, there is a general set of requirements which all implementations must address.

include::./requirements/datetime/REQ_rc-datetime-response.adoc[]
include::./requirements/searchable-collections/REQ_rc-datetime-response.adoc[]

"Intersects" means that the time (instant or period) specified in the parameter `datetime` includes a timestamp that is part of the temporal geometry of the resource (again, a time instant or period). For time periods this includes the start and end time.

Expand Down Expand Up @@ -109,33 +109,33 @@ A template for the definition of the parameter in YAML according to OpenAPI 3.0

The `limit` parameter limits the number of resources that can be returned in a single response.

include::./requirements/limit/REQ_rc-limit-definition.adoc[]
include::./requirements/searchable-collections/REQ_rc-limit-definition.adoc[]

While the processing of the `limit` parameter is specific to the resource and operation for which it is applied, there is a general set of requirements which all implementations must address.

include::./requirements/limit/REQ_rc-limit-response.adoc[]
include::./requirements/searchable-collections/REQ_rc-limit-response.adoc[]

The number of resources returned depends on the server and the value of the `limit` parameter.

* The client can request a limit to the number of resources returned.
* The server may have a default value for the limit, and a maximum limit.
* If the server has any more results available than it returns (the number it returns is less than or equal to the requested/default/maximum limit) then the server will include a link to the next set of results.

include::./recommendations/limit/PER_rc-server-limit.adoc[]
include::./recommendations/searchable-collections/PER_rc-server-limit.adoc[]

Since many servers will place a limit on the size of their responses, clients should be prepared to handle a paged response even if they have not specified a `limit` parameter in their query.

The effect of the limit parameter is to divide the response into a number of pages. Each page (except for the last) contains the specified number of entities. The response contains the first page. Additional pages can be accessed through hyperlink navigation.

include::./recommendations/limit/REC_rc-next-1.adoc[]
include::./recommendations/searchable-collections/REC_rc-next-1.adoc[]

include::./recommendations/limit/REC_rc-next-2.adoc[]
include::./recommendations/searchable-collections/REC_rc-next-2.adoc[]

include::./recommendations/limit/REC_rc-next-3.adoc[]
include::./recommendations/searchable-collections/REC_rc-next-3.adoc[]

Providing `prev` links supports navigating back and forth between pages, but depending on the implementation approach it may be too complex to implement.

include::./recommendations/limit/PER_rc-prev.adoc[]
include::./recommendations/searchable-collections/PER_rc-prev.adoc[]

[[target-resource-requirements]]
=== Target Resource Requirements
Expand All @@ -152,33 +152,33 @@ A client may select a subset of the hosted collections using the <<bbox-paramete

The requirements governing the processing of these parameters are:

include::requirements/simple_query/REQ_rc-bbox-collection-response.adoc[]
include::requirements/searchable-collections/REQ_rc-bbox-collection-response.adoc[]

include::requirements/simple_query/REQ_rc-datetime-collection-response.adoc[]
include::requirements/searchable-collections/REQ_rc-datetime-collection-response.adoc[]

==== Volumetric Filtering

The client may limit the number of collections returned in a response by using the `limit` parameter. When applied against the `/collections` resource, the <<limit-parameter-requirements,`limit`>> parameter indicates the maximum number of collections which should be included in a single response.

include::requirements/simple_query/REQ_rc-limit-collection-response.adoc[]
include::requirements/searchable-collections/REQ_rc-limit-collection-response.adoc[]

The server also has the option of limiting the size of the Collections response.

include::recommendations/simple_query/PER_rc-md-items.adoc[]
include::recommendations/searchable-collections/PER_rc-md-items.adoc[]

==== Paged Response

If the collections response does not contain all of the collection resources available from this server, then the client should be informed of that fact.

include::recommendations/simple_query/REC_rc-paged-response.adoc[]
include::recommendations/searchable-collections/REC_rc-paged-response.adoc[]

The `numberMatched` property of the Collections response indicates the number of Collection items included in the Collections response. This may be a subset of the total set of collections hosted by the API. Selection of which collections to include in a subset is controlled through the <<bbox-parameter-requirements,`bbox`>>, <<datetime-parameter-requirements,`datetime`>> and other selection parameters provided by the client.

include::requirements/simple_query/REQ_rc-numberMatched.adoc[]
include::requirements/searchable-collections/REQ_rc-numberMatched.adoc[]

The number of collection items included in a Collections response may be a subset of the number matched. In that case, the `numberReturned` property of the Collections response indicates the number of collection items returned in this "page" of the Collections response.

include::requirements/simple_query/REQ_rc-numberReturned.adoc[]
include::requirements/searchable-collections/REQ_rc-numberReturned.adoc[]

If the Collections response contains a subset of the selected collection items (numberReturned is less than numberMatched) then the Collections response should contain links for navigating to the rest of the collection items as described in the <<limit-parameter-requirements,limit parameter>> section.

5 changes: 5 additions & 0 deletions collections/clause_11_sortable_collections.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
[[rc-sortable-collections]]
== Requirements Class "Sortable Collections"
:sectnums:

// TODO: include::requirements/requirements_class_sortable_collections.adoc[]
5 changes: 5 additions & 0 deletions collections/clause_12_filterable_collections.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
[[rc-filterable-collections]]
== Requirements Class "Filtering Collections with CQL2"
:sectnums:

// TODO: include::requirements/requirements_class_filterable_collections.adoc[]
6 changes: 6 additions & 0 deletions collections/clause_13_hierarchical_collections.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
[[rc-hierarchical-collections]]
== Requirements Class "Hierarchical Collections"
:sectnums:

// TODO: include::requirements/requirements_class_hierarchical_collections.adoc[]

6 changes: 6 additions & 0 deletions collections/clause_14_schemas.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
[[rc-schemas]]
== Requirements Class "Schemas"
:sectnums:

// TODO: include::requirements/requirements_class_schemas.adoc[]

File renamed without changes.
File renamed without changes.
8 changes: 4 additions & 4 deletions collections/clause_8_collections.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -132,10 +132,10 @@ The extent property defines a spatial-temporal envelope that encompasses the geo
* Spatial Bounding Box (Bbox) provides a set of rectangular bounding boxes which use geographic coordinates to envelope portions of the collection. Typically only the first element would be populated. Additional boxes may be useful, for example, when the collection is clustered in multiple, widely-separated locations.
* Temporal Interval provides a set of temporal periods. Typically only the first temporal period would be populated. However, like Bbox, additional periods can be added if the collection does not form a single temporal cluster.

include::requirements/extent/REQ_rc-md-extent.adoc[]
include::requirements/collections/REQ_rc-md-extent.adoc[]

include::recommendations/extent/REC_rc-md-extent.adoc[]
include::recommendations/collections/REC_rc-md-extent.adoc[]

include::recommendations/extent/REC_rc-md-extent-single.adoc[]
include::recommendations/collections/REC_rc-md-extent-single.adoc[]

include::recommendations/extent/PER_rc-md-extent-extensions.adoc[]
include::recommendations/collections/PER_rc-md-extent-extensions.adoc[]
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@

include::requirements/requirements_class_umd-collection.adoc[]

include::requirements/umd_collection/REQ_dependency-collections.adoc[]
include::requirements/umd-collection/REQ_dependency-collections.adoc[]

include::recommendations/umd_collection/REC_dependency-collections.adoc[]
include::recommendations/umd-collection/REC_dependency-collections.adoc[]

The <<rc-collections,Collections>> Requirements Class defines a <<collection-resource-definition-section,Collection>> resource which supports both <<spatial-geometry-section,geospatial>> and <<temporal-geometry-section,temporal>> geometries. However, some resources cannot be fully described with just these two geometries. The <<rc-umd-collection-section,Uniform Multi-Dimension Collection>> Requirements Class extends the <<collection-resource-definition-section,Collection>> resource to support geometries with an unlimited number of uniform, domain-specific axis.

Expand All @@ -22,7 +22,7 @@ The `Extent with Uniform Additional Dimensions` (Extent-uad) resource extends th

The `Extent-uad` resource is defined as follows:

include::requirements/extent-uad/REQ_extent-uad-definition.adoc[]
include::requirements/umd-collection/REQ_extent-uad-definition.adoc[]

`Extent-uad` allows definition of additional axis through the use of the Coordinate Reference System (`crs`, `trs` or `vrs`) property and one of more Intervals properties.

Expand Down

This file was deleted.

2 changes: 0 additions & 2 deletions collections/recommendations/corrrre/README.md

This file was deleted.

11 changes: 0 additions & 11 deletions collections/requirements/geojson/REQ_content.adoc

This file was deleted.

9 changes: 0 additions & 9 deletions collections/requirements/geojson/REQ_definition.adoc

This file was deleted.

9 changes: 0 additions & 9 deletions collections/requirements/requirements_class_geojson.adoc

This file was deleted.

0 comments on commit 0f8619a

Please sign in to comment.