Download OpenAPI specification:Download
This is the OpenAPI definition of Moving Features API specification that conforms to the OGC Moving Features Encoding Extension - JSON.
The landing page provides links to the API definition, the conformance statements and to the feature collections in this dataset.
{- "title": "Movingfeatures data server",
- "description": "Access to data about moving features",
- "links": [
- {
- "rel": "alternate",
- "type": "application/geo+json",
- "hreflang": "en",
- "title": "moving features",
- "length": 0
}
]
}
{- "openapi": "3.0.2",
- "info": {
- "title": "Building Blocks specified in OGC API - MovingFeatures - Part 1: Features Extension",
- "version": "0.0.1",
- "description": "This is the OpenAPI definition of Moving Features API specification that conforms to the OGC Moving Features Encoding Extension - JSON.",
- "contact": {
- "name": "Taehoon Kim",
- "email": "kim.taehoon@aist.go.jp"
},
}, - "tags": [
- {
- "name": "Capabilities",
- "description": "Essential characteristics of the information available from the API."
}, - {
- "name": "MovingFeatureCollection",
- "description": "Collections of moving features to be logically managed by a user."
}, - {
- "name": "MovingFeatures",
- "description": "Moving feature data, including the temporal geometry, temporal properties, etc."
}, - {
- "name": "TemporalGeometryCollection",
- "description": "The spatial change over time (temporal geometry), representing the movement of the rigid or nonrigid body of a feature."
}, - {
- "name": "TemporalPropertyCollection",
- "description": "The thematic change over time (temporal property), representing the variation of the value of any descriptive characteristic of a feature."
}
], - "paths": {
- "/": {
- "get": {
- "operationId": "getLandingpage",
- "summary": "Landing page",
- "description": "The landing page provides links to the API definition, the conformance statements and to the feature collections in this dataset.",
- "tags": [
- "Capabilities"
], - "responses": {
- "200": {
- "$ref": "#/components/responses/LandingPage"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}
}, - "/conformance": {
- "get": {
- "operationId": "getConformance",
- "summary": "Information about specifications that this API conforms to",
- "description": "A list of all conformance classes specified in a standard that the server conforms to.",
- "tags": [
- "Capabilities"
], - "responses": {
- "200": {
- "$ref": "#/components/responses/Conformance"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}
}, - "/api": {
- "get": {
- "operationId": "getAPIList",
- "summary": "API definition",
- "description": "A list of all API definition",
- "tags": [
- "Capabilities"
], - "responses": {
- "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}
}, - "/collections": {
- "get": {
- "operationId": "searchCatalog",
- "summary": "Retrieve catalogs of moving features collection",
- "description": "A user can retrieve catalogs to access collections by simple filtering and a limit.\n",
- "tags": [
- "Capabilities"
], - "parameters": [
- {
- "$ref": "#/components/parameters/bbox"
}, - {
- "$ref": "#/components/parameters/datetime"
}, - {
- "$ref": "#/components/parameters/limit"
}
], - "responses": {
- "200": {
- "$ref": "#/components/responses/Collections"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}, - "post": {
- "operationId": "registerMetadata",
- "summary": "Register metadata about a collection of moving features",
- "description": "A user SHOULD register metadata about a collection of moving features into the system.\n",
- "tags": [
- "MovingFeatureCollection"
], - "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/collection-2"
}, - "example": {
- "title": "moving_feature_collection_sample",
- "updateFrequency": 1000,
- "description": ""
}
}
}
}, - "responses": {
- "201": {
- "description": "Successful create a collection to manage moving features.",
- "headers": {
- "Location": {
- "description": "A URI of the newly added resource",
}
}
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}
}, - "/collections/{collectionId}": {
- "get": {
- "operationId": "accessMetadata",
- "summary": "Accesse metadata about the collection",
- "description": "A user can access metadata with id `collectionId`.\n",
- "tags": [
- "MovingFeatureCollection"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}
], - "responses": {
- "200": {
- "$ref": "#/components/responses/Collection"
}, - "404": {
- "description": "A collection with the specified id was not found."
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}, - "delete": {
- "operationId": "deleteCollection",
- "summary": "Delete the collection",
- "description": "The collection catalog with id `collectionId` and including metadata and moving features SHOULD be deleted.\n",
- "tags": [
- "MovingFeatureCollection"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}
], - "responses": {
- "204": {
- "description": "Successfully deleted."
}, - "404": {
- "description": "A collection with the specified name was not found."
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}, - "put": {
- "operationId": "replaceMetadata",
- "summary": "Replace metadata about the collection",
- "description": "A user SHOULD replace metadata with id `collectionId`.\n",
- "tags": [
- "MovingFeatureCollection"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}
], - "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/collection-2"
}, - "example": {
- "title": "moving_feature_collection_sample",
- "updateFrequency": 1000,
- "description": ""
}
}
}
}, - "responses": {
- "204": {
- "description": "Successfully replaced."
}, - "404": {
- "description": "A collection with the specified name was not found."
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}
}, - "/collections/{collectionId}/items": {
- "get": {
- "operationId": "retrieveMovingFeatures",
- "summary": "Retrieve moving feature collection",
- "description": "A user can retrieve moving feature collection to access the static information of the moving feature by simple filtering and a limit.\n",
- "tags": [
- "MovingFeatures"
], - "parameters": [
- {
- "$ref": "#/components/parameters/bbox"
}, - {
- "$ref": "#/components/parameters/datetime"
}, - {
- "$ref": "#/components/parameters/limit"
}
], - "responses": {
- "200": {
- "$ref": "#/components/responses/MovingFeatures"
}, - "404": {
- "description": "A collection with the specified id was not found."
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}, - "post": {
- "operationId": "insertMovingFeatures",
- "summary": "Inserts moving features",
- "description": "A user SHOULD insert a set of moving features or a moving feature into a collection with id `collectionId`.\n\nThe request body schema SHALL follows the [MovingFeature object](https://docs.opengeospatial.org/is/19-045r3/19-045r3.html#mfeature) \n(and [MovingFeatureCollection object](https://docs.opengeospatial.org/is/19-045r3/19-045r3.html#mfeaturecollection)) in the OGC MF-JSON.\n",
- "tags": [
- "MovingFeatures"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}
], - "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "oneOf": [
- {
- "$ref": "#/components/schemas/movingFeature"
}, - {
- "$ref": "#/components/schemas/movingFeatureCollection"
}
], - "example": [
- {
- "$ref": "examples/movingFeatures_MF_JSON.json"
}
]
}
}
}
}, - "responses": {
- "201": {
- "description": "Successful create a set of moving features or a moving feature into a specific collection.\n",
- "headers": {
- "Location": {
- "description": "A URI of the newly added resource",
}
}
}, - "404": {
- "description": "A collection with the specified id was not found."
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}
}, - "/collections/{collectionId}/items/{mFeatureId}": {
- "get": {
- "operationId": "accessMovingFeature",
- "summary": "Accesses the static data of the moving feature",
- "description": "A user accesses a static data of a moving feature with id `mFeatureId`.\n\nThe static data of a moving feature is not included temporal geometries and temporal properties.\n",
- "tags": [
- "MovingFeatures"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}, - {
- "$ref": "#/components/parameters/mFeatureId"
}
], - "responses": {
- "200": {
- "$ref": "#/components/responses/MovingFeature"
}, - "404": {
- "description": "- A collection with the specified id was not found.\n- Or a moving feature with the specified id was not found.\n"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}, - "delete": {
- "operationId": "deleteMovingFeature",
- "summary": "Delete a single moving feature",
- "description": "The moving feature with id `mFeatureId` and including temporal geometries and properties SHOULD be deleted.\n",
- "tags": [
- "MovingFeatures"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}, - {
- "$ref": "#/components/parameters/mFeatureId"
}
], - "responses": {
- "204": {
- "description": "Successfully deleted."
}, - "404": {
- "description": "- A collection with the specified id was not found.\n- Or a moving feature with the specified id was not found.\n"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}
}, - "/collections/{collectionId}/items/{mFeatureId}/tGeometries": {
- "get": {
- "operationId": "accessTemporalGeometries",
- "summary": "Accesse the movement data of the single moving feature",
- "description": "A user can access only the movement data of a moving feature with id `mFeatureId`.\n",
- "tags": [
- "TemporalGeometryCollection"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}, - {
- "$ref": "#/components/parameters/mFeatureId"
}, - {
- "$ref": "#/components/parameters/leaf"
}, - {
- "$ref": "#/components/parameters/bbox"
}, - {
- "$ref": "#/components/parameters/datetime"
}, - {
- "$ref": "#/components/parameters/limit"
}
], - "responses": {
- "200": {
- "$ref": "#/components/responses/TemporalGeometryCollection"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}, - "post": {
- "operationId": "insertTemporalGeometry",
- "summary": "Adds movement data into the moving feature",
- "description": "A user SHOULD add more movement data into a moving feature with id `mFeatureId`.\n\nThe request body schema SHALL follows the [TemporalGeometry object](https://docs.opengeospatial.org/is/19-045r3/19-045r3.html#tgeometry) in the OGC MF-JSON.\n",
- "tags": [
- "TemporalGeometryCollection"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}, - {
- "$ref": "#/components/parameters/mFeatureId"
}
], - "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/temporalGeometry"
}, - "example": {
- "type": "MovingPoint",
- "datetimes": [
- "2011-07-14T22:01:06Z",
- "2011-07-14T22:01:07Z",
- "2011-07-14T22:01:08Z",
- "2011-07-14T22:01:09Z",
- "2011-07-14T22:01:10Z"
], - "coordinates": [
- [
- 139.757083,
- 35.627701,
- 0.5
], - [
- 139.757399,
- 35.627701,
- 2
], - [
- 139.757555,
- 35.627688,
- 4
], - [
- 139.757651,
- 35.627596,
- 4
], - [
- 139.757716,
- 35.627483,
- 4
]
], - "interpolation": "Linear",
- "base": {
- "type": "glTF",
}, - "orientations": [
- {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 0,
- 0
]
}, - {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 355,
- 0
]
}, - {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 0,
- 330
]
}, - {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 0,
- 300
]
}, - {
- "scales": [
- 1,
- 1,
- 1
], - "angles": [
- 0,
- 0,
- 270
]
}
]
}
}
}
}, - "responses": {
- "201": {
- "description": "Successful add more movement data into a specified moving feature.\n",
- "headers": {
- "Location": {
- "description": "A URI of the newly added resource",
- "schema": {
- "type": "string",
}
}
}
}, - "404": {
- "description": "- A collection with the specified id was not found.\n- Or a moving feature with the specified id was not found.\n"
}, - "500": {
- "$ref": "schemas/DefaultError.yml"
}
}
}
}, - "/collections/{collectionId}/items/{mFeatureId}/tGeometries/{tGeometryId}": {
- "delete": {
- "operationId": "deleteTemporalGeometry",
- "summary": "Delete a singe temporal geometry",
- "description": "The temporal geometry with id `tGeometryId` SHOULD be deleted.\n",
- "tags": [
- "TemporalGeometryCollection"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}, - {
- "$ref": "#/components/parameters/mFeatureId"
}, - {
- "$ref": "#/components/parameters/tGeometryId"
}
], - "responses": {
- "204": {
- "description": "Successfully deleted."
}, - "404": {
- "description": "- A collection with the specified id was not found.\n- Or a moving feature with the specified id was not found.\n- Or a temporal geometry with the specified id was not found.\n"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}
}, - "/collections/{collectionId}/items/{mFeatureId}/tProperties": {
- "get": {
- "operationId": "accessTemporalPropertyCollection",
- "summary": "Accesse the static information of the temporal properties data",
- "description": "A user can access the static information of the temporal properties data that included a single moving feature with id `mFeatureId`.\n\nThe static data of a temporal property is not included temporal values (property `values`).\n",
- "tags": [
- "TemporalPropertyCollection"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}, - {
- "$ref": "#/components/parameters/mFeatureId"
}
], - "responses": {
- "200": {
- "$ref": "#/components/responses/TemporalPropertyCollection"
}, - "500": {
- "$ref": "#/components/responses/ServerError"
}
}
}, - "post": {
- "operationId": "insertTemporalProperty",
- "summary": "Add temporal property data",
- "description": "A user SHOULD add more temporal property data into a moving feature with id `mFeatureId`.\n\nThe request body schema SHALL follows the [TemporalProperties object](https://docs.opengeospatial.org/is/19-045r3/19-045r3.html#tproperties) in the OGC MF-JSON.\n",
- "tags": [
- "TemporalPropertyCollection"
], - "parameters": [
- {
- "$ref": "#/components/parameters/collectionId"
}, - {
- "$ref": "#/components/parameters/mFeatureId"
}
], - "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/temporalProperties"
}, - "example": {
- "temporalProperties": [
- {
- "datetimes": [
- "2011-07-14T22:01:01.450Z",
- "2011-07-14T23:01:01.450Z",
- "2011-07-15T00:01:01.450Z"
], - "length": {
- "type": "Measure",
- "form"