Skip to content

Commit

Permalink
7-Data Retrieval: Initial take at Data Retrieval Conformance Class
Browse files Browse the repository at this point in the history
- Live session at Singapore DGGS SWG meeting
  • Loading branch information
jerstlouis committed Oct 3, 2022
1 parent 35d9eeb commit b67f290
Show file tree
Hide file tree
Showing 8 changed files with 80 additions and 59 deletions.
10 changes: 0 additions & 10 deletions core/requirements/REQ_data-retrieval-req-name-1.adoc

This file was deleted.

10 changes: 0 additions & 10 deletions core/requirements/REQ_zone-query-req-name-1.adoc

This file was deleted.

@@ -0,0 +1,13 @@
[requirement]
====
[%metadata]
label:: /req/data-retrieval/multi-zone-data-op
description:: For retrieving data for multiple DGGS zones:
part:: The Implementation SHALL support an HTTP GET operation at a resource path
ending with `.../dggs/{dggsId}/zones/data`.
part:: The Implementation SHALL support a `zones` query parameter, consisting of a list
of zone IDs in a format consistent with the indexing scheme for the selected DGGS ID.
part:: The Implementation SHALL provide a link to this resource path using
the link relation type http://www.opengis.net/def/rel/ogc/1.0/dggs-zone-data
and the variable `{zoneID}` in the template URL.
====
@@ -0,0 +1,12 @@
[requirement]
====
[%metadata]
label:: /req/data-retrieval/multi-zone-data-response
description:: For the response to a query retrieving data for multiple DGGS zones:
part:: The response of the HTTP GET operation SHALL have a status code of 200.
part:: The content of the response SHALL package data packets corresponding
precisely to the area covered by each of the DGGS zones being requested, at the
resolution / scale corresponding to these zones.
part:: The selection of an encoding for the response SHALL be consistent with
HTTP content negotiation.
====
@@ -0,0 +1,10 @@
[requirement]
====
[%metadata]
label:: /req/data-retrieval/single-zone-data-op
description:: For retrieving data for a single DGGS zone:
part:: The Implementation SHALL support an HTTP GET operation at a resource path
ending with `.../dggs/{dggsId}/zones/{zoneId}/data`.
part:: The Implementation SHALL provide a templated link to this resource path using
the link relation type http://www.opengis.net/def/rel/ogc/1.0/dggs-zone-data.
====
@@ -0,0 +1,11 @@
[requirement]
====
[%metadata]
label:: /req/data-retrieval/single-zone-data-response
description:: For the response to a query retrieving data for a single DGGS zone:
part:: The response of the HTTP GET operation SHALL have a status code of 200.
part:: The content of the response SHALL be a data packet corresponding precisely to the area
covered by the DGGS zone, at the resolution / scale corresponding to that zone.
part:: The selection of an encoding for the response SHALL be consistent with
HTTP content negotiation.
====
25 changes: 3 additions & 22 deletions core/requirements/requirements_class_data_retrieval.adoc
@@ -1,27 +1,8 @@
////
[cols="1,4",width="90%"]
|===
2+|*Requirements Class* {set:cellbgcolor:#CACCCE}
2+|http://www.opengis.net/spec/ABCD/m.n/req/data-retrieval {set:cellbgcolor:#FFFFFF}
|Target type |Token
|Dependency |http://www.example.org/req/blah
|Dependency |urn:iso:ts:iso:19139:clause:6
|*Requirement 1* {set:cellbgcolor:#CACCCE} |http://www.opengis.net/spec/ABCD/m.n/req/data-retrieval/req-name-1 +
requirement description {set:cellbgcolor:#FFFFFF}
|*Requirement 2* {set:cellbgcolor:#CACCCE} |http://www.opengis.net/spec/ABCD/m.n/req/data-retrieval/req-name-2 +
requirement description {set:cellbgcolor:#FFFFFF}

|*Requirement 3* {set:cellbgcolor:#CACCCE} |http://www.opengis.net/spec/ABCD/m.n/req/data-retrieval/req-name-3 +
requirement description
{set:cellbgcolor:#FFFFFF}
|===
////

[[rc_data-retrieval]]
[requirements_class]
====
[%metadata]
label:: http://www.opengis.net/spec/ABCD/m.n/req/data-retrieval
subject:: Implementation Specification
inherit:: link:http://www.example.org/req/blah[http://www.example.org/req/blah]
label:: http://www.opengis.net/spec/ogcapi-dggs/0.0/req/data-retrieval
subject:: DGGS Data Retrieval
inherit:: link:http://www.opengis.net/spec/ogcapi-common-1/1.0/req/core[http://www.opengis.net/spec/ogcapi-common-1/1.0/req/core]
====
48 changes: 31 additions & 17 deletions core/sections/clause_7_dggs_data_retrieval.adoc
@@ -1,29 +1,43 @@
== DGGS - Data Retrieval Conformance Class

Paragraph
=== Requirement Class DGGS - Data Retrieval

The Data Retrieval conformance class allows to retrieve data from a specific
Discrete Global Grid System (DGGS) in a particular indexing scheme from either an individual
zone, or a list of zones referenced by ID.
It describes an HTTP GET operation, as well as its response.
The selected DGGS is listed as available and described in the Core conformance class,
and conforms to OGC Topic 21.
The conformance makes use of URI templates for a variable representing the Zone ID.
The data retrieved from a Web API using this conformance class can either be
for a particular collection of geospatial data, for a dataset as a whole, or
in connection with _OGC API - Processes - Part 3: Workflows & Chaining_, the output of
a processing workflow.

=== Requirement Class A or Requirement A Example
include::../requirements/requirements_class_data_retrieval.adoc[]

Paragraph – intro text for the requirement class.
==== Retrieve data from single zone

Use the following table for Requirements Classes.
The following requirements describe how a client can retrieve data from a single DGGS zone
at the resource path `.../dggs/{dggsId}/zones/{zoneId}/data`.

include::../requirements/requirements_class_data_retrieval.adoc[]
===== Operation

include::../requirements/data-retrieval/REQ_data-retrieval_single-zone-data-op.adoc[]

===== Response

include::../requirements/data-retrieval/REQ_data-retrieval_single-zone-data-response.adoc[]

==== Requirement 1
==== Retrieve data from multiple zones

Paragraph - intro text for the requirement.
The following requirements describe how a client can retrieve data from a single DGGS zone
at the resource path `.../dggs/{dggsId}/data?zones={zoneId},...`.

Use the following table for Requirements, number sequentially.
===== Operation

include::../requirements/REQ_data-retrieval-req-name-1.adoc[]
include::../requirements/data-retrieval/REQ_data-retrieval_multi-zone-data-op.adoc[]

Dictionary tables for requirements can be added as necessary. Modify the following example as needed.
===== Response

[width="90%",options="header"]
|===
|Names |Definition |Data types and values |Multiplicity and use
|name 1 |definition of name 1 |float |One or more (mandatory)
|name 2 |definition of name 2 |character string type, not empty |Zero or one (optional)
|name 3 |definition of name 3 |GML:: Point PropertyType |One (mandatory)
|===
include::../requirements/data-retrieval/REQ_data-retrieval_multi-zone-data-response.adoc[]

0 comments on commit b67f290

Please sign in to comment.