Skip to content

Commit

Permalink
Merge pull request #69 from TaehoonK/first-draft
Browse files Browse the repository at this point in the history
Final revision for publication
  • Loading branch information
TaehoonK authored Sep 24, 2024
2 parents e48d4c2 + eb6af27 commit d22d499
Show file tree
Hide file tree
Showing 47 changed files with 241 additions and 94 deletions.
6 changes: 3 additions & 3 deletions standard/clause_10_common_requirements.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,10 @@
== Common Requirements

include::requirements/common/requirements_class_common.adoc[]
The following common requirements apply to all OGC APIs.

=== Parameters
The query parameters link:http://docs.opengeospatial.org/DRAFTS/20-024.html#bbox-parameter-requirements[`bbox`], link:http://docs.opengeospatial.org/DRAFTS/20-024.html#datetime-parameter-requirements[`datetime`], and link:http://docs.opengeospatial.org/DRAFTS/20-024.html#limit-parameter-requirements[`limit`] are inherited from OGC API — Common.
All requirements and recommendations in OGC API — Common regarding these parameters also apply to OGC API — Moving Features.
No modifications are required.

[[limit-section]]
==== Parameter limit
Expand Down Expand Up @@ -51,7 +49,7 @@ In addition, other error situations may occur in the transport layer outside of
|Status code |Description
|`200` |A successful request.
|`201` |The server has been fulfilled the operation and a new resource has been created.
|`202` |A successful request, but the response is still being generated. The response will include a `Retry-After` header field giving a recommendation in seconds for the client to retry.
|`202` |A successful request, but the response is still being generated. The response will include a `Retry-After` header field giving a recommendation in seconds for the client to retry.
|`204` |A successful request, but the resource has no data resulting from the request. No additional content or message body is provided.
|`304` |An entity tag was provided in the request and the resource has not been changed since the previous request.
|`308` |The server cannot process the data through a synchronous request. The response includes a `Location` header field which contains the URI of the location the result will be available at once the query is complete Asynchronous queries.
Expand All @@ -61,7 +59,9 @@ In addition, other error situations may occur in the transport layer outside of
|`404` |The requested resource does not exist on the server. For example, a path parameter had an incorrect value.
|`405` |The request method is not supported. For example, a POST request was submitted, but the resource only supports GET requests.
|`406` |Content negotiation failed. For example, the `Accept` header submitted in the request did not support any of the media types supported by the server for the requested resource.
|`412` |The status code indicates that one or more conditions given in the request header fields evaluated to false when tested by the server.
|`413` |Request entity too large. For example, the query would involve returning more data than the server is capable of processing, the implementation should return a message explaining the query limits imposed by the server implementation.
|`415` |The server is refusing to service the request because the content is in a format not supported by this method on the target resource.
|`500` |An internal error occurred in the server.
!===

Expand Down
2 changes: 1 addition & 1 deletion standard/clause_8_requirements_resource_collections.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ include::examples/collection-post.adoc[]
===== Retrieve
A successful response to the *Collections* GET operation is a document that contains summary metadata for each collection accessible through an instance of an API implementation.
In a typical deployment of the OGC API - Moving Features Standard, the *Collections* GET response will list collections of all offered resource types.
The collections where the value of the `itemType` property is *MovingFeature* are collections of moving features.
The collections where the value of the `itemType` property is *movingfeature* are collections of moving features.

include::requirements/collection_catalog/collections/REQ_response-collections-get.adoc[]

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ A successful response to the *MovingFeatures* POST operation is an HTTP status c
A link:https://docs.ogc.org/is/19-045r3/19-045r3.html#mfeaturecollection[*_MovingFeatureCollection_*] object of <<OGC_19-045r3,MF-JSON>> is a collection of <<resource-movingfeature-section,MovingFeature>> objects.
Posting a collection of resources is the same as posting a single resource consecutively.
However, because the result must be returned in a single response, the `Locations` header includes a list of the URIs of the newly added resources.
In this case, requirement *B* of link:https://docs.ogc.org/DRAFTS/20-002.html#_response[/req/create-replace-delete/post-response] in OGC API — Features is not applicable.
// In this case, requirement *B* of link:https://docs.ogc.org/DRAFTS/20-002.html#_response[/req/create-replace-delete/post-response] in OGC API — Features is not applicable.

include::requirements/movingfeature/features/REQ_response-features-post.adoc[]

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ A successful response to the *TemporalProperties* POST operation is an HTTP stat
A link:https://docs.opengeospatial.org/is/19-045r3/19-045r3.html#pvalues[*_ParametricValues_* Object] in <<OGC_19-045r3,MF-JSON>> can be a collection of <<resource-temporalProperty-section,TemporalProperty>> objects.
Posting a collection of resources is the same as posting a single resource consecutively.
However, because the result must be returned in a single response, the `Locations` header includes a list of the URIs of the newly added resources.
In this case, requirement *B* of link:https://docs.ogc.org/DRAFTS/20-002.html#_response[/req/create-replace-delete/post-response] in OGC API — Features is not applicable.
// In this case, requirement *B* of link:https://docs.ogc.org/DRAFTS/20-002.html#_response[/req/create-replace-delete/post-response] in OGC API — Features is not applicable.

include::requirements/movingfeature/tproperties/REQ_response-tproperties-post.adoc[]

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,7 @@
====
[%metadata]
identifier:: /req/mf-collection/collection-delete
part:: An implementation of the OGC API - Moving Features Standard SHALL comply with the OGC API — Features `DELETE` operation requirement link:http://docs.ogc.org/DRAFTS/20-002.html#_operation_3[`/req/create-replace-delete/delete/delete-op`].
// part:: An implementation of the OGC API - Moving Features Standard SHALL comply with the OGC API — Features `DELETE` operation requirement link:http://docs.ogc.org/DRAFTS/20-002.html#_operation_3[`/req/create-replace-delete/delete/delete-op`].
part:: For every resource in the collection (path `{root}/collections`), the server SHALL support the HTTP DELETE operation at the path `{root}/collections/{collectionId}`.
part:: The parameter `collectionId` is each id property in the `collections` response (JSONPath: `$.collections[*].id`).
====
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,7 @@
====
[%metadata]
identifier:: /req/mf-collection/collection-get
part:: An implementation of the OGC API - Moving Features Standard SHALL comply with the OGC API — Common *Collection* operation requirement link:https://docs.ogc.org/DRAFTS/20-024.html#_operation_2[`http://www.opengis.net/spec/ogcapi-common-2/1.0/req/collections/src-md-op`].
// part:: An implementation of the OGC API - Moving Features Standard SHALL comply with the OGC API — Common *Collection* operation requirement link:https://docs.ogc.org/DRAFTS/20-024.html#_operation_2[`http://www.opengis.net/spec/ogcapi-common-2/1.0/req/collections/src-md-op`].
part:: The API SHALL support the HTTP GET operation at the path `{root}/collections/{collectionId}`.
part:: The parameter `collectionId` is each id property in the `collections` response (JSONPath: `$.collections[*].id`).
====
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,13 @@ If the `updateFrequency` is included in the request body, the server SHALL ignor
====
[%metadata]
identifier:: /req/mf-collection/collection-put
part:: An implementation of the OGC API - Moving Features Standard SHALL comply with the OGC API — Features `PUT` operation requirement http://docs.ogc.org/DRAFTS/20-002.html#_operation_2[`/req/create-replace-delete/put-op`].
part:: An implementation of the OGC API - Moving Features Standard SHALL comply with the OGC API — Features `PUT` request body requirements http://docs.ogc.org/DRAFTS/20-002.html#_request_body_2[`/req/create-replace-delete/put-body` and `/req/create-replace-delete/put-content-type`].
// part:: An implementation of the OGC API - Moving Features Standard SHALL comply with the OGC API — Features `PUT` operation requirement http://docs.ogc.org/DRAFTS/20-002.html#_operation_2[`/req/create-replace-delete/put-op`].
// part:: An implementation of the OGC API - Moving Features Standard SHALL comply with the OGC API — Features `PUT` request body requirements http://docs.ogc.org/DRAFTS/20-002.html#_request_body_2[`/req/create-replace-delete/put-body` and `/req/create-replace-delete/put-content-type`].
part:: For every resource in the collection, the server SHALL support the HTTP PUT operation.
part:: The `Content-Type` header SHALL be used to indicate the media type of the request body containing the representation of the new resource content.
part:: The content of the request body SHALL be based upon the <<collection-requestbody-schema, *Collection* request body schema>>, except `updateFrequency`. +
If the `updateFrequency` is included in the request body, the server SHALL ignore it.
====

[NOTE]
See link:https://www.rfc-editor.org/rfc/rfc9110#field.content-type[section 8.3 of RFC 9110] for details of `Content-Type`.
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@
====
[%metadata]
identifier:: /req/mf-collection/collection-delete-success
part:: An implementation of the OGC API - Moving Features Standard SHALL comply with the OGC API — Features `DELETE` response requirement link:http://docs.ogc.org/DRAFTS/20-002.html#_response_3[`/req/create-replace-delete/delete-response`].
// part:: An implementation of the OGC API - Moving Features Standard SHALL comply with the OGC API — Features `DELETE` response requirement link:http://docs.ogc.org/DRAFTS/20-002.html#_response_3[`/req/create-replace-delete/delete-response`].
part:: A successful execution of the operation SHALL be reported as a response with an HTTP status code `200` or `204`.
part:: If the operation is not executed immediately, but is added to a processing queue, the response SHALL have an HTTP status code `202`.
part:: If no resource with the identifier exists in the collection, the server SHALL respond with a not-found exception (`404`).
====
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,9 @@
====
[%metadata]
identifier:: /req/mf-collection/collection-get-success
part:: An implementation of the OGC API - Moving Features Standard SHALL comply with the OGC API — Common *Collection* response requirement link:https://docs.ogc.org/DRAFTS/20-024.html#_response_2[`/req/collections`].
// part:: An implementation of the OGC API - Moving Features Standard SHALL comply with the OGC API — Common *Collection* response requirement link:https://docs.ogc.org/DRAFTS/20-024.html#_response_2[`/req/collections`].
part:: A successful execution of the operation SHALL be reported as a response with an HTTP status code `200`.
part:: The response SHALL only include collection metadata selected by the request.
part:: The content of that response SHALL be based upon the <<collection-schema, *Collection* response schema>>.
part:: The content of that response SHALL be based upon the <<collection-schema,*Collection* response schema>>.
part:: The `itemType` property of the response schema SHALL be 'movingfeature'.
====
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,11 @@
====
[%metadata]
identifier:: /req/mf-collection/collection-put-success
part:: An implementation of the OGC API - Moving Features Standard SHALL comply with the OGC API — Features `PUT` response requirement link:http://docs.ogc.org/DRAFTS/20-002.html#_response_2[`/req/create-replace-delete/put-response`].
part:: An implementation of the OGC API - Moving Features Standard SHALL comply with the OGC API — Features `PUT` exception requirement link:http://docs.ogc.org/DRAFTS/20-002.html#_exceptions_2[`/req/create-replace-delete/put-rid-exception`].
// part:: An implementation of the OGC API - Moving Features Standard SHALL comply with the OGC API — Features `PUT` response requirement link:http://docs.ogc.org/DRAFTS/20-002.html#_response_2[`/req/create-replace-delete/put-response`].
// part:: An implementation of the OGC API - Moving Features Standard SHALL comply with the OGC API — Features `PUT` exception requirement link:http://docs.ogc.org/DRAFTS/20-002.html#_exceptions_2[`/req/create-replace-delete/put-rid-exception`].
part:: A successful execution of the operation SHALL be reported as a response with an HTTP status code `200` or `204`.
part:: If the operation is not executed immediately, but is added to a processing queue, the response SHALL have an HTTP status code `202`.
part:: If the representation of the resource submitted in the request body contained a resource identifier, the server SHALL ignore this identifier.
part:: If the target resource does not exist and the server does not support creating new resources using PUT, the server SHALL indicate an unsuccessful execution of the operation with an HTTP status code `404`.
part:: If the request includes an `If-Match` header and the resource does not exist, the server SHALL not create a new resource and indicate an unsuccessful execution of the operation with an HTTP status code `412`.
====
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,8 @@
====
[%metadata]
identifier:: /req/mf-collection/collections-get
part:: An implementation of the OGC API - Moving Features Standard SHALL comply with the OGC API — Common *Collections* operation requirement https://docs.ogc.org/DRAFTS/20-024.html#_operation[`/req/collections/rc-md-op`].
// part:: An implementation of the OGC API - Moving Features Standard SHALL comply with the OGC API — Common *Collections* operation requirement https://docs.ogc.org/DRAFTS/20-024.html#_operation[`/req/collections/rc-md-op`].
part:: The API SHALL support the HTTP GET operation at the path `{root}/collections`
part:: The API SHALL support the HTTP GET operation on all links to a `Collections` Resource that have the relation type +
link:http://www.opengis.net/def/rel/ogc/1.0/data[http://www.opengis.net/def/rel/ogc/1.0/data].
====
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,12 @@
====
[%metadata]
identifier:: /req/mf-collection/collections-post
part:: An implementation of the OGC API - Moving Features Standard SHALL comply with the OGC API — Features `CREATE` operation requirement link:http://docs.ogc.org/DRAFTS/20-002.html#_operation[`/req/create-replace-delete/post-op`].
part:: An implementation of the OGC API - Moving Features Standard SHALL comply with the OGC API — Features `CREATE` request body requirements link:http://docs.ogc.org/DRAFTS/20-002.html#_request_body[`/req/create-replace-delete/post-body` and `/req/create-replace-delete/post-content-type`].
part:: The content of the request body SHALL be based upon the <<collection-requestbody-schema, *Collection* request body schema>>.
====
// part:: An implementation of the OGC API - Moving Features Standard SHALL comply with the OGC API — Features `CREATE` operation requirement link:http://docs.ogc.org/DRAFTS/20-002.html#_operation[`/req/create-replace-delete/post-op`].
// part:: An implementation of the OGC API - Moving Features Standard SHALL comply with the OGC API — Features `CREATE` request body requirements link:http://docs.ogc.org/DRAFTS/20-002.html#_request_body[`/req/create-replace-delete/post-body` and `/req/create-replace-delete/post-content-type`].
part:: The server SHALL support the HTTP POST operation at the resource endpoint(`{root}/collections`).
part:: A `Content-Type` header SHALL be used to declare the media type of the request body containing a representation of the resource to be added.
part:: The content of the request body SHALL be based upon the <<collection-requestbody-schema,*Collection* request body schema>>.
====

[NOTE]
See link:https://www.rfc-editor.org/rfc/rfc9110#field.content-type[section 8.3 of RFC 9110] for details of `Content-Type`.
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,10 @@
====
[%metadata]
identifier:: /req/mf-collection/collections-get-success
part:: An implementation of the OGC API - Moving Features Standard SHALL comply with the OGC API — Common *Collections* response requirement link:https://docs.ogc.org/DRAFTS/20-024.html#_response[`/req/collections/rc-md-success`].
part:: The content of that response SHALL be based upon the <<collections-schema, *Collections* response schema>>.
part:: The `itemType` property of the response schema SHALL be *MovingFeature*.
// part:: An implementation of the OGC API - Moving Features Standard SHALL comply with the OGC API — Common *Collections* response requirement link:https://docs.ogc.org/DRAFTS/20-024.html#_response[`/req/collections/rc-md-success`].
part:: A successful execution of the operation SHALL be reported as a response with an HTTP status code `200`.
part:: The content of that response SHALL be based upon the <<collections-schema,*Collections* response schema>>.
part:: The `itemType` property of the response schema SHALL be *movingfeature*.
====

[NOTE]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,9 @@
====
[%metadata]
identifier:: /req/mf-collection/collections-post-success
part:: An implementation of the OGC API - Moving Features Standard SHALL comply with the OGC API — Features `CREATE` response requirement link:http://docs.ogc.org/DRAFTS/20-002.html#_response[`/req/create-replace-delete/post-response` and `/req/create-replace-delete/post-response-rid`].
// part:: An implementation of the OGC API - Moving Features Standard SHALL comply with the OGC API — Features `CREATE` response requirement link:http://docs.ogc.org/DRAFTS/20-002.html#_response[`/req/create-replace-delete/post-response` and `/req/create-replace-delete/post-response-rid`].
part:: If the operation completes successfully, the server SHALL assign a new, unique identifier within the collection for the newly added resource.
part:: A successful execution of the operation SHALL be reported as a response with an HTTP status code `201`.
part:: A response with HTTP status code `201` SHALL include a `Location` header with the URI of the newly added resource (i.e., path of the resource endpoint).
part:: If the operation is not executed immediately, but is added to a processing queue, the response SHALL have an HTTP status code `202`.
====
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,9 @@
[%metadata]
identifier:: http://www.opengis.net/spec/ogcapi-movingfeatures-1/1.0/req/mf-collection
subject:: Web API
inherit:: http://www.opengis.net/spec/ogcapi-common-1/1.0/req/core
inherit:: http://www.opengis.net/spec/ogcapi-common-2/1.0/req/collections
inherit:: http://www.opengis.net/spec/ogcapi-features-1/1.0/req/core
inherit:: http://www.opengis.net/spec/ogcapi-features-4/1.0/req/create-replace-delete
requirement:: /req/mf-collection/collections-get
requirement:: /req/mf-collection/collections-post
Expand Down
18 changes: 0 additions & 18 deletions standard/requirements/common/REQ_operation-landingPage.adoc

This file was deleted.

Loading

0 comments on commit d22d499

Please sign in to comment.