From 95c2004f225191cd1e96d3319f77b56bb8a4641e Mon Sep 17 00:00:00 2001 From: Michael Mattig Date: Tue, 5 Dec 2023 16:51:37 +0100 Subject: [PATCH 1/2] add raster band colorizer --- .generation/config.ini | 4 +- .generation/input/openapi.json | 9031 +---------------- .openapi-generator/FILES | 4 + README.md | 8 +- geoengine_openapi_client/__init__.py | 2 + geoengine_openapi_client/configuration.py | 4 +- geoengine_openapi_client/models/__init__.py | 2 + .../models/raster_colorizer.py | 146 + .../models/raster_symbology.py | 16 +- .../models/raster_symbology_with_type.py | 14 +- .../models/single_band_raster_colorizer.py | 87 + test/test_raster_colorizer.py | 58 + test/test_raster_symbology.py | 6 +- test/test_raster_symbology_with_type.py | 4 +- test/test_single_band_raster_colorizer.py | 58 + test/test_symbology.py | 4 +- 16 files changed, 389 insertions(+), 9059 deletions(-) create mode 100644 geoengine_openapi_client/models/raster_colorizer.py create mode 100644 geoengine_openapi_client/models/single_band_raster_colorizer.py create mode 100644 test/test_raster_colorizer.py create mode 100644 test/test_single_band_raster_colorizer.py diff --git a/.generation/config.ini b/.generation/config.ini index 3be52a1..4d6523b 100644 --- a/.generation/config.ini +++ b/.generation/config.ini @@ -1,8 +1,8 @@ [input] -backendtag = pro-nightly-2023-11-28 +backendtag = pro-nightly-2023-11-28 # TODO: update when backend was merged [package] name = geoengine_openapi_client -version = 0.0.2 +version = 0.0.3 url = https://github.com/geo-engine/geoengine-python-openapi-client diff --git a/.generation/input/openapi.json b/.generation/input/openapi.json index fdce857..bb4bd7f 100644 --- a/.generation/input/openapi.json +++ b/.generation/input/openapi.json @@ -1,9030 +1 @@ -{ - "openapi": "3.0.3", - "info": { - "title": "Geo Engine Pro API", - "description": "", - "contact": { - "name": "Geo Engine Developers", - "email": "dev@geoengine.de" - }, - "license": { - "name": "Apache 2.0 (pro features excluded)", - "url": "https://github.com/geo-engine/geoengine/blob/main/LICENSE" - }, - "version": "0.7.0" - }, - "servers": [ - { - "url": "http://0.0.0.0:8080/api" - } - ], - "paths": { - "/anonymous": { - "post": { - "tags": [ - "Session" - ], - "summary": "Creates session for anonymous user. The session's id serves as a Bearer token for requests.", - "description": "Creates session for anonymous user. The session's id serves as a Bearer token for requests.", - "operationId": "anonymous_handler", - "responses": { - "200": { - "description": "The created session", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UserSession" - }, - "example": { - "created": "2021-04-26T13:47:10.579724800Z", - "id": "208fa24e-7a92-4f57-a3fe-d1177d9f18ad", - "project": null, - "roles": [ - "8a27e61f-cc4d-4d0b-ae8c-4f1c91d07f5a", - "fd8e87bf-515c-4f36-8da6-1a53702ff102" - ], - "user": { - "email": null, - "id": "5b4466d2-8bab-4ed8-a182-722af3c80958", - "realName": null - }, - "validUntil": "2021-04-26T14:47:10.579775400Z", - "view": null - } - } - } - } - } - } - }, - "/available": { - "get": { - "tags": [ - "General" - ], - "summary": "Server availablity check.", - "description": "Server availablity check.", - "operationId": "available_handler", - "responses": { - "204": { - "description": "Server availablity check" - } - } - } - }, - "/dataset": { - "post": { - "tags": [ - "Datasets" - ], - "summary": "Creates a new dataset referencing files. Users can reference previously uploaded files. Admins can reference files from a volume.", - "description": "Creates a new dataset referencing files. Users can reference previously uploaded files. Admins can reference files from a volume.", - "operationId": "create_dataset_handler", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateDataset" - }, - "examples": { - "Germany Border": { - "value": { - "dataPath": { - "upload": "420b06de-0a7e-45cb-9c1c-ea901b46ab69" - }, - "definition": { - "metaData": { - "loadingInfo": { - "columns": { - "bool": [], - "datetime": [], - "float": [], - "int": [], - "text": [], - "x": "", - "y": null - }, - "dataType": "MultiPolygon", - "fileName": "germany_polygon.gpkg", - "forceOgrTimeFilter": false, - "layerName": "test_germany", - "onError": "ignore", - "time": { - "type": "none" - } - }, - "resultDescriptor": { - "columns": {}, - "dataType": "MultiPolygon", - "spatialReference": "EPSG:4326" - }, - "type": "OgrMetaData" - }, - "properties": { - "description": "The Outline of Germany", - "displayName": "Germany Border", - "name": "germany_border", - "sourceOperator": "OgrSource" - } - } - } - }, - "Plain Data": { - "value": { - "dataPath": { - "upload": "f3bd61ef-d9ce-471c-89a1-46b5f7295886" - }, - "definition": { - "metaData": { - "loadingInfo": { - "columns": { - "float": [], - "int": [ - "a" - ], - "text": [], - "x": "", - "y": null - }, - "dataType": "Data", - "fileName": "plain_data.csv", - "forceOgrTimeFilter": false, - "layerName": "plain_data", - "onError": "abort", - "time": { - "type": "none" - } - }, - "resultDescriptor": { - "columns": { - "a": { - "dataType": "int", - "measurement": { - "type": "unitless" - } - } - }, - "dataType": "Data", - "spatialReference": "EPSG:4326" - }, - "type": "OgrMetaData" - }, - "properties": { - "description": "Demo Dataset", - "displayName": "Plain Data", - "name": "plain_data", - "sourceOperator": "OgrSource" - } - } - } - } - } - } - }, - "required": true - }, - "responses": { - "200": { - "$ref": "#/components/responses/DatasetNameResponse" - }, - "400": { - "description": "Bad request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "examples": { - "Admin tried to create dataset from an upload": { - "value": { - "error": "AdminsCannotCreateDatasetFromUpload", - "message": "AdminsCannotCreateDatasetFromUpload" - } - }, - "Body is invalid json": { - "value": { - "error": "BodyDeserializeError", - "message": "expected `,` or `}` at line 13 column 7" - } - }, - "Failed to read body": { - "value": { - "error": "Payload", - "message": "Error that occur during reading payload: Can not decode content-encoding." - } - }, - "Filepath in metadata is invalid": { - "value": { - "error": "CannotResolveUploadFilePath", - "message": "CannotResolveUploadFilePath: PathIsNotAFile" - } - }, - "Normal user tried to create dataset from a volume": { - "value": { - "error": "OnlyAdminsCanCreateDatasetFromVolume", - "message": "OnlyAdminsCanCreateDatasetFromVolume" - } - }, - "Referenced an unknown upload": { - "value": { - "error": "UploadNotFound", - "message": "UploadNotFound: UnknownUploadId" - } - }, - "Referenced an unknown volume": { - "value": { - "error": "UnknownVolume", - "message": "UnknownVolume" - } - } - } - } - } - }, - "401": { - "$ref": "#/components/responses/UnauthorizedUserResponse" - }, - "413": { - "$ref": "#/components/responses/PayloadTooLargeResponse" - }, - "415": { - "$ref": "#/components/responses/UnsupportedMediaTypeForJsonResponse" - }, - "500": { - "description": "Internal server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "examples": { - "Cannot access config": { - "value": { - "error": "CannotAccessConfig", - "message": "CannotAccessConfig: ConfigLockFailed" - } - }, - "Failed to access database": { - "value": { - "error": "DatabaseAccessError", - "message": "DatabaseAccessError: connection closed" - } - } - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/dataset/auto": { - "post": { - "tags": [ - "Datasets" - ], - "summary": "Creates a new dataset using previously uploaded files.", - "description": "Creates a new dataset using previously uploaded files.\nThe format of the files will be automatically detected when possible.", - "operationId": "auto_create_dataset_handler", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AutoCreateDataset" - } - } - }, - "required": true - }, - "responses": { - "200": { - "$ref": "#/components/responses/DatasetNameResponse" - }, - "400": { - "description": "Bad request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "examples": { - "Body is invalid json": { - "value": { - "error": "BodyDeserializeError", - "message": "expected `,` or `}` at line 13 column 7" - } - }, - "Dataset has no auto-importable layer": { - "value": { - "error": "DatasetHasNoAutoImportableLayer", - "message": "DatasetHasNoAutoImportableLayer" - } - }, - "Dataset name is empty": { - "value": { - "error": "InvalidDatasetName", - "message": "InvalidDatasetName" - } - }, - "Failed to read body": { - "value": { - "error": "Payload", - "message": "Error that occur during reading payload: Can not decode content-encoding." - } - }, - "File does not exist": { - "value": { - "error": "Operator", - "message": "Operator: GdalError: GDAL method 'GDALOpenEx' returned a NULL pointer. Error msg: 'upload/0bdd1062-7796-4d44-a655-e548144281a6/asdf: No such file or directory'" - } - }, - "Referenced an unknown upload": { - "value": { - "error": "UnknownUploadId", - "message": "UnknownUploadId" - } - }, - "Upload filename is invalid": { - "value": { - "error": "InvalidUploadFileName", - "message": "InvalidUploadFileName" - } - } - } - } - } - }, - "401": { - "$ref": "#/components/responses/UnauthorizedUserResponse" - }, - "413": { - "$ref": "#/components/responses/PayloadTooLargeResponse" - }, - "415": { - "$ref": "#/components/responses/UnsupportedMediaTypeForJsonResponse" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/dataset/suggest": { - "get": { - "tags": [ - "Datasets" - ], - "summary": "Inspects an upload and suggests metadata that can be used when creating a new dataset based on it.", - "description": "Inspects an upload and suggests metadata that can be used when creating a new dataset based on it.\nTries to automatically detect the main file and layer name if not specified.", - "operationId": "suggest_meta_data_handler", - "parameters": [ - { - "name": "upload", - "in": "query", - "required": true, - "schema": { - "$ref": "#/components/schemas/UploadId" - }, - "example": "420b06de-0a7e-45cb-9c1c-ea901b46ab69" - }, - { - "name": "mainFile", - "in": "query", - "required": false, - "schema": { - "type": "string", - "nullable": true - }, - "example": "germany_polygon.gpkg" - }, - { - "name": "layerName", - "in": "query", - "required": false, - "schema": { - "type": "string", - "nullable": true - }, - "example": "test_polygon" - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/MetaDataSuggestion" - }, - "example": { - "mainFile": "germany_polygon.gpkg", - "metaData": { - "loadingInfo": { - "attributeQuery": null, - "columns": { - "bool": [], - "datetime": [], - "float": [], - "formatSpecifics": null, - "int": [], - "rename": null, - "text": [], - "x": "", - "y": null - }, - "dataType": "MultiPolygon", - "defaultGeometry": null, - "fileName": "upload/23c9ea9e-15d6-453b-a243-1390967a5669/germany_polygon.gpkg", - "forceOgrSpatialFilter": false, - "forceOgrTimeFilter": false, - "layerName": "test_germany", - "onError": "ignore", - "sqlQuery": null, - "time": { - "type": "none" - } - }, - "resultDescriptor": { - "bbox": null, - "columns": {}, - "dataType": "MultiPolygon", - "spatialReference": "EPSG:4326", - "time": null - }, - "type": "OgrMetaData" - } - } - } - } - }, - "400": { - "description": "Bad request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "examples": { - "Dataset has no auto-importable layer": { - "value": { - "error": "DatasetHasNoAutoImportableLayer", - "message": "DatasetHasNoAutoImportableLayer" - } - }, - "File does not exist": { - "value": { - "error": "Operator", - "message": "Operator: GdalError: GDAL method 'GDALOpenEx' returned a NULL pointer. Error msg: 'upload/0bdd1062-7796-4d44-a655-e548144281a6/asdf: No such file or directory'" - } - }, - "Missing field in query string": { - "value": { - "error": "UnableToParseQueryString", - "message": "Unable to parse query string: missing field `offset`" - } - }, - "No suitable mainfile found": { - "value": { - "error": "NoMainFileCandidateFound", - "message": "NoMainFileCandidateFound" - } - }, - "Number in query string contains letters": { - "value": { - "error": "UnableToParseQueryString", - "message": "Unable to parse query string: invalid digit found in string" - } - }, - "Referenced an unknown upload": { - "value": { - "error": "UnknownUploadId", - "message": "UnknownUploadId" - } - } - } - } - } - }, - "401": { - "$ref": "#/components/responses/UnauthorizedUserResponse" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/dataset/volumes": { - "get": { - "tags": [ - "Datasets" - ], - "summary": "Lists available volumes.", - "description": "Lists available volumes.", - "operationId": "list_volumes_handler", - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Volume" - } - }, - "example": [ - { - "id": "f6aa9f3d-a211-43e8-9b91-b23ab9632791", - "path": "./test_data/" - } - ] - } - } - }, - "401": { - "$ref": "#/components/responses/UnauthorizedAdminResponse" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/dataset/{dataset}": { - "get": { - "tags": [ - "Datasets" - ], - "summary": "Retrieves details about a dataset using the internal name.", - "description": "Retrieves details about a dataset using the internal name.", - "operationId": "get_dataset_handler", - "parameters": [ - { - "name": "dataset", - "in": "path", - "description": "Dataset Name", - "required": true, - "schema": { - "$ref": "#/components/schemas/DatasetName" - } - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Dataset" - }, - "example": { - "description": "Boundaries of Germany", - "id": { - "internal": "9c874b9e-cea0-4553-b727-a13cb26ae4bb" - }, - "name": "Germany", - "resultDescriptor": { - "vector": { - "columns": {}, - "dataType": "MultiPolygon", - "spatialReference": "EPSG:4326" - } - }, - "sourceOperator": "OgrSource" - } - } - } - }, - "400": { - "description": "Bad request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "examples": { - "Referenced an unknown dataset": { - "value": { - "error": "CannotLoadDataset", - "message": "CannotLoadDataset: UnknownDatasetName" - } - } - } - } - } - }, - "401": { - "$ref": "#/components/responses/UnauthorizedUserResponse" - } - }, - "security": [ - { - "session_token": [] - } - ] - }, - "delete": { - "tags": [ - "Datasets" - ], - "summary": "Delete a dataset", - "description": "Delete a dataset", - "operationId": "delete_dataset_handler", - "parameters": [ - { - "name": "dataset", - "in": "path", - "description": "Dataset id", - "required": true, - "schema": { - "$ref": "#/components/schemas/DatasetName" - } - } - ], - "responses": { - "200": { - "description": "OK" - }, - "400": { - "description": "Bad request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "examples": { - "Given dataset can only be deleted by owner": { - "value": { - "error": "OperationRequiresOwnerPermission", - "message": "OperationRequiresOwnerPermission" - } - }, - "Referenced an unknown dataset": { - "value": { - "error": "UnknownDatasetName", - "message": "UnknownDatasetName" - } - } - } - } - } - }, - "401": { - "$ref": "#/components/responses/UnauthorizedUserResponse" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/datasetFromWorkflow/{id}": { - "post": { - "tags": [ - "Workflows" - ], - "summary": "Create a task for creating a new dataset from the result of the workflow given by its `id` and the dataset parameters in the request body.", - "description": "Create a task for creating a new dataset from the result of the workflow given by its `id` and the dataset parameters in the request body.\nReturns the id of the created task", - "operationId": "dataset_from_workflow_handler", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Workflow id", - "required": true, - "schema": { - "$ref": "#/components/schemas/WorkflowId" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/RasterDatasetFromWorkflow" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "Id of created task", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/TaskResponse" - }, - "example": { - "taskId": "7f8a4cfe-76ab-4972-b347-b197e5ef0f3c" - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/datasets": { - "get": { - "tags": [ - "Datasets" - ], - "summary": "Lists available datasets.", - "description": "Lists available datasets.", - "operationId": "list_datasets_handler", - "parameters": [ - { - "name": "filter", - "in": "query", - "required": false, - "schema": { - "type": "string", - "nullable": true - }, - "example": "Germany" - }, - { - "name": "order", - "in": "query", - "required": true, - "schema": { - "$ref": "#/components/schemas/OrderBy" - }, - "example": "NameAsc" - }, - { - "name": "offset", - "in": "query", - "required": true, - "schema": { - "type": "integer", - "format": "int32", - "minimum": 0 - }, - "example": 0 - }, - { - "name": "limit", - "in": "query", - "required": true, - "schema": { - "type": "integer", - "format": "int32", - "minimum": 0 - }, - "example": 2 - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/DatasetListing" - } - }, - "example": [ - { - "description": "Boundaries of Germany", - "id": { - "internal": "9c874b9e-cea0-4553-b727-a13cb26ae4bb" - }, - "name": "Germany", - "resultDescriptor": { - "vector": { - "columns": {}, - "dataType": "MultiPolygon", - "spatialReference": "EPSG:4326" - } - }, - "sourceOperator": "OgrSource", - "tags": [] - } - ] - } - } - }, - "400": { - "$ref": "#/components/responses/BadRequestQueryResponse" - }, - "401": { - "$ref": "#/components/responses/UnauthorizedUserResponse" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/info": { - "get": { - "tags": [ - "General" - ], - "summary": "Shows information about the server software version.", - "description": "Shows information about the server software version.", - "operationId": "server_info_handler", - "responses": { - "200": { - "description": "Server software information", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ServerInfo" - }, - "example": { - "buildDate": "2022-09-29", - "commitHash": "555dc6d84d3682c37490a145d53c5097d0b81b27", - "features": "default", - "version": "0.7.0" - } - } - } - } - } - } - }, - "/layerDb/collections/{collection}": { - "delete": { - "tags": [ - "Layers" - ], - "summary": "Remove a collection", - "description": "Remove a collection", - "operationId": "remove_collection", - "parameters": [ - { - "name": "collection", - "in": "path", - "description": "Layer collection id", - "required": true, - "schema": { - "$ref": "#/components/schemas/LayerCollectionId" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/layerDb/collections/{collection}/collections": { - "post": { - "tags": [ - "Layers" - ], - "summary": "Add a new collection to an existing collection", - "description": "Add a new collection to an existing collection", - "operationId": "add_collection", - "parameters": [ - { - "name": "collection", - "in": "path", - "description": "Layer collection id", - "required": true, - "schema": { - "$ref": "#/components/schemas/LayerCollectionId" - }, - "example": "05102bb3-a855-4a37-8a8a-30026a91fef1" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AddLayerCollection" - } - } - }, - "required": true - }, - "responses": { - "200": { - "$ref": "#/components/responses/IdResponse" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/layerDb/collections/{collection}/layers": { - "post": { - "tags": [ - "Layers" - ], - "summary": "Add a new layer to a collection", - "description": "Add a new layer to a collection", - "operationId": "add_layer", - "parameters": [ - { - "name": "collection", - "in": "path", - "description": "Layer collection id", - "required": true, - "schema": { - "$ref": "#/components/schemas/LayerCollectionId" - }, - "example": "05102bb3-a855-4a37-8a8a-30026a91fef1" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AddLayer" - } - } - }, - "required": true - }, - "responses": { - "200": { - "$ref": "#/components/responses/IdResponse" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/layerDb/collections/{collection}/layers/{layer}": { - "post": { - "tags": [ - "Layers" - ], - "summary": "Add an existing layer to a collection", - "description": "Add an existing layer to a collection", - "operationId": "add_existing_layer_to_collection", - "parameters": [ - { - "name": "collection", - "in": "path", - "description": "Layer collection id", - "required": true, - "schema": { - "$ref": "#/components/schemas/LayerCollectionId" - } - }, - { - "name": "layer", - "in": "path", - "description": "Layer id", - "required": true, - "schema": { - "$ref": "#/components/schemas/LayerId" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "security": [ - { - "session_token": [] - } - ] - }, - "delete": { - "tags": [ - "Layers" - ], - "summary": "Remove a layer from a collection", - "description": "Remove a layer from a collection", - "operationId": "remove_layer_from_collection", - "parameters": [ - { - "name": "collection", - "in": "path", - "description": "Layer collection id", - "required": true, - "schema": { - "$ref": "#/components/schemas/LayerCollectionId" - } - }, - { - "name": "layer", - "in": "path", - "description": "Layer id", - "required": true, - "schema": { - "$ref": "#/components/schemas/LayerId" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/layerDb/collections/{parent}/collections/{collection}": { - "post": { - "tags": [ - "Layers" - ], - "summary": "Add an existing collection to a collection", - "description": "Add an existing collection to a collection", - "operationId": "add_existing_collection_to_collection", - "parameters": [ - { - "name": "parent", - "in": "path", - "description": "Parent layer collection id", - "required": true, - "schema": { - "$ref": "#/components/schemas/LayerCollectionId" - }, - "example": "05102bb3-a855-4a37-8a8a-30026a91fef1" - }, - { - "name": "collection", - "in": "path", - "description": "Layer collection id", - "required": true, - "schema": { - "$ref": "#/components/schemas/LayerId" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "security": [ - { - "session_token": [] - } - ] - }, - "delete": { - "tags": [ - "Layers" - ], - "summary": "Delete a collection from a collection", - "description": "Delete a collection from a collection", - "operationId": "remove_collection_from_collection", - "parameters": [ - { - "name": "parent", - "in": "path", - "description": "Parent layer collection id", - "required": true, - "schema": { - "$ref": "#/components/schemas/LayerCollectionId" - }, - "example": "05102bb3-a855-4a37-8a8a-30026a91fef1" - }, - { - "name": "collection", - "in": "path", - "description": "Layer collection id", - "required": true, - "schema": { - "$ref": "#/components/schemas/LayerId" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/layers/collections": { - "get": { - "tags": [ - "Layers" - ], - "summary": "List all layer collections", - "description": "List all layer collections", - "operationId": "list_root_collections_handler", - "parameters": [ - { - "name": "offset", - "in": "query", - "required": true, - "schema": { - "type": "integer", - "format": "int32", - "minimum": 0 - }, - "example": 0 - }, - { - "name": "limit", - "in": "query", - "required": true, - "schema": { - "type": "integer", - "format": "int32", - "minimum": 0 - }, - "example": 20 - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/LayerCollection" - }, - "example": { - "description": "All available Geo Engine layer providers", - "entryLabel": null, - "id": { - "collectionId": "f2424474-ef24-4c18-ab84-68592e12ce48", - "providerId": "1c3b8042-300b-485c-95b5-0147d9dc068d" - }, - "items": [ - { - "description": "Basic Layers for all Datasets", - "id": { - "collectionId": "546073b6-d535-4205-b601-99675c9f6dd7", - "providerId": "ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b" - }, - "name": "Datasets", - "type": "collection" - }, - { - "description": "All available Geo Engine layers", - "id": { - "collectionId": "05102bb3-a855-4a37-8a8a-30026a91fef1", - "providerId": "ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74" - }, - "name": "Layers", - "type": "collection" - } - ], - "name": "Layer Providers", - "properties": [] - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/layers/collections/{provider}/{collection}": { - "get": { - "tags": [ - "Layers" - ], - "summary": "List the contents of the collection of the given provider", - "description": "List the contents of the collection of the given provider", - "operationId": "list_collection_handler", - "parameters": [ - { - "name": "provider", - "in": "path", - "description": "Data provider id", - "required": true, - "schema": { - "$ref": "#/components/schemas/DataProviderId" - } - }, - { - "name": "collection", - "in": "path", - "description": "Layer collection id", - "required": true, - "schema": { - "$ref": "#/components/schemas/LayerCollectionId" - } - }, - { - "name": "offset", - "in": "query", - "required": true, - "schema": { - "type": "integer", - "format": "int32", - "minimum": 0 - }, - "example": 0 - }, - { - "name": "limit", - "in": "query", - "required": true, - "schema": { - "type": "integer", - "format": "int32", - "minimum": 0 - }, - "example": 20 - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/LayerCollection" - }, - "example": { - "description": "Basic Layers for all Datasets", - "entryLabel": null, - "id": { - "collectionId": "546073b6-d535-4205-b601-99675c9f6dd7", - "providerId": "ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b" - }, - "items": [ - { - "description": "Land Cover derived from MODIS/Terra+Aqua Land Cover", - "id": { - "layerId": "9ee3619e-d0f9-4ced-9c44-3d407c3aed69", - "providerId": "ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b" - }, - "name": "Land Cover", - "type": "layer" - }, - { - "description": "NDVI data from MODIS", - "id": { - "layerId": "36574dc3-560a-4b09-9d22-d5945f2b8093", - "providerId": "ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b" - }, - "name": "NDVI", - "type": "layer" - } - ], - "name": "Datasets", - "properties": [] - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/layers/{provider}/{layer}": { - "get": { - "tags": [ - "Layers" - ], - "summary": "Retrieves the layer of the given provider", - "description": "Retrieves the layer of the given provider", - "operationId": "layer_handler", - "parameters": [ - { - "name": "provider", - "in": "path", - "description": "Data provider id", - "required": true, - "schema": { - "$ref": "#/components/schemas/DataProviderId" - } - }, - { - "name": "layer", - "in": "path", - "description": "Layer id", - "required": true, - "schema": { - "$ref": "#/components/schemas/LayerId" - } - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Layer" - }, - "example": { - "description": "Land Cover derived from MODIS/Terra+Aqua Land Cover", - "id": { - "layerId": "9ee3619e-d0f9-4ced-9c44-3d407c3aed69", - "providerId": "ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b" - }, - "metadata": {}, - "name": "Land Cover", - "properties": [], - "symbology": { - "colorizer": { - "colors": { - "0": [ - 134, - 201, - 227, - 255 - ], - "1": [ - 30, - 129, - 62, - 255 - ], - "10": [ - 223, - 192, - 125, - 255 - ], - "11": [ - 66, - 128, - 189, - 255 - ], - "12": [ - 225, - 222, - 127, - 255 - ], - "13": [ - 253, - 2, - 0, - 255 - ], - "14": [ - 162, - 159, - 66, - 255 - ], - "15": [ - 255, - 255, - 255, - 255 - ], - "16": [ - 192, - 192, - 192, - 255 - ], - "2": [ - 59, - 194, - 212, - 255 - ], - "3": [ - 157, - 194, - 63, - 255 - ], - "4": [ - 159, - 225, - 127, - 255 - ], - "5": [ - 125, - 194, - 127, - 255 - ], - "6": [ - 195, - 127, - 126, - 255 - ], - "7": [ - 188, - 221, - 190, - 255 - ], - "8": [ - 224, - 223, - 133, - 255 - ], - "9": [ - 226, - 221, - 7, - 255 - ] - }, - "defaultColor": [ - 0, - 0, - 0, - 0 - ], - "noDataColor": [ - 0, - 0, - 0, - 0 - ], - "type": "palette" - }, - "opacity": 1, - "type": "raster" - }, - "workflow": { - "operator": { - "params": { - "data": { - "datasetId": "9ee3619e-d0f9-4ced-9c44-3d407c3aed69", - "type": "internal" - } - }, - "type": "GdalSource" - }, - "type": "Raster" - } - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/layers/{provider}/{layer}/dataset": { - "post": { - "tags": [ - "Layers" - ], - "summary": "Persist a raster layer from a provider as a dataset.", - "description": "Persist a raster layer from a provider as a dataset.", - "operationId": "layer_to_dataset", - "parameters": [ - { - "name": "provider", - "in": "path", - "description": "Data provider id", - "required": true, - "schema": { - "$ref": "#/components/schemas/DataProviderId" - } - }, - { - "name": "layer", - "in": "path", - "description": "Layer id", - "required": true, - "schema": { - "$ref": "#/components/schemas/LayerId" - } - } - ], - "responses": { - "200": { - "description": "Id of created task", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/TaskResponse" - }, - "example": { - "taskId": "7f8a4cfe-76ab-4972-b347-b197e5ef0f3c" - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/layers/{provider}/{layer}/workflowId": { - "post": { - "tags": [ - "Layers" - ], - "summary": "Registers a layer from a provider as a workflow and returns the workflow id", - "description": "Registers a layer from a provider as a workflow and returns the workflow id", - "operationId": "layer_to_workflow_id_handler", - "parameters": [ - { - "name": "provider", - "in": "path", - "description": "Data provider id", - "required": true, - "schema": { - "$ref": "#/components/schemas/DataProviderId" - } - }, - { - "name": "layer", - "in": "path", - "description": "Layer id", - "required": true, - "schema": { - "$ref": "#/components/schemas/LayerId" - } - } - ], - "responses": { - "200": { - "$ref": "#/components/responses/IdResponse" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/login": { - "post": { - "tags": [ - "Session" - ], - "summary": "Creates a session by providing user credentials. The session's id serves as a Bearer token for requests.", - "description": "Creates a session by providing user credentials. The session's id serves as a Bearer token for requests.", - "operationId": "login_handler", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UserCredentials" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "The created session", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UserSession" - }, - "example": { - "created": "2021-04-26T13:47:10.579724800Z", - "id": "208fa24e-7a92-4f57-a3fe-d1177d9f18ad", - "project": null, - "roles": [ - "fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783", - "4e8081b6-8aa6-4275-af0c-2fa2da557d28" - ], - "user": { - "email": "foo@example.com", - "id": "5b4466d2-8bab-4ed8-a182-722af3c80958", - "realName": "Foo Bar" - }, - "validUntil": "2021-04-26T14:47:10.579775400Z", - "view": null - } - } - } - } - } - } - }, - "/logout": { - "post": { - "tags": [ - "Session" - ], - "summary": "Ends a session.", - "description": "Ends a session.", - "operationId": "logout_handler", - "responses": { - "200": { - "description": "The Session was deleted." - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/permissions": { - "put": { - "tags": [ - "Permissions" - ], - "summary": "Adds a new permission.", - "description": "Adds a new permission.", - "operationId": "add_permission_handler", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PermissionRequest" - }, - "example": { - "permission": "Read", - "resource": { - "id": "00000000-0000-0000-0000-000000000000", - "type": "layer" - }, - "roleId": "00000000-0000-0000-0000-000000000000" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK" - } - }, - "security": [ - { - "session_token": [] - } - ] - }, - "delete": { - "tags": [ - "Permissions" - ], - "summary": "Removes an existing permission.", - "description": "Removes an existing permission.", - "operationId": "remove_permission_handler", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PermissionRequest" - }, - "example": { - "permission": "Read", - "resource": { - "id": "00000000-0000-0000-0000-000000000000", - "type": "layer" - }, - "roleId": "00000000-0000-0000-0000-000000000000" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/plot/{id}": { - "get": { - "tags": [ - "Plots" - ], - "summary": "Generates a plot.", - "description": "Generates a plot.\n\n# Example\n\n1. Upload the file `plain_data.csv` with the following content:\n\n```csv\na\n1\n2\n```\n2. Create a dataset from it using the \"Plain Data\" example at `/dataset`.\n3. Create a statistics workflow using the \"Statistics Plot\" example at `/workflow`.\n4. Generate the plot with this handler.", - "operationId": "get_plot_handler", - "parameters": [ - { - "name": "bbox", - "in": "query", - "required": true, - "schema": { - "type": "string" - }, - "example": "0,-0.3,0.2,0" - }, - { - "name": "crs", - "in": "query", - "required": false, - "schema": { - "type": "string", - "nullable": true - }, - "example": "EPSG:4326" - }, - { - "name": "time", - "in": "query", - "required": true, - "schema": { - "type": "string" - }, - "example": "2020-01-01T00:00:00.0Z" - }, - { - "name": "spatialResolution", - "in": "query", - "required": true, - "schema": { - "type": "string" - }, - "example": "0.1,0.1" - }, - { - "name": "id", - "in": "path", - "description": "Workflow id", - "required": true, - "schema": { - "type": "string", - "format": "uuid" - } - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/WrappedPlotOutput" - }, - "example": { - "data": { - "a": { - "max": 2.0, - "mean": 1.5, - "min": 1.0, - "stddev": 0.5, - "validCount": 2, - "valueCount": 2 - } - }, - "outputFormat": "JsonPlain", - "plotType": "Statistics" - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/project": { - "post": { - "tags": [ - "Projects" - ], - "summary": "Create a new project for the user.", - "description": "Create a new project for the user.", - "operationId": "create_project_handler", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateProject" - } - } - }, - "required": true - }, - "responses": { - "200": { - "$ref": "#/components/responses/IdResponse" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/project/{project}": { - "get": { - "tags": [ - "Projects" - ], - "summary": "Retrieves details about the latest version of a project.", - "description": "Retrieves details about the latest version of a project.", - "operationId": "load_project_latest_handler", - "parameters": [ - { - "name": "project", - "in": "path", - "description": "Project id", - "required": true, - "schema": { - "$ref": "#/components/schemas/ProjectId" - } - } - ], - "responses": { - "200": { - "description": "Project loaded from database", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Project" - }, - "example": { - "bounds": { - "boundingBox": { - "lowerLeftCoordinate": { - "x": 0.0, - "y": 0.0 - }, - "upperRightCoordinate": { - "x": 1.0, - "y": 1.0 - } - }, - "spatialReference": "EPSG:4326", - "timeInterval": { - "end": 1, - "start": 0 - } - }, - "description": "Foo", - "id": "df4ad02e-0d61-4e29-90eb-dc1259c1f5b9", - "layers": [], - "name": "Test", - "plots": [], - "timeStep": { - "granularity": "months", - "step": 1 - }, - "version": { - "author": "5b4466d2-8bab-4ed8-a182-722af3c80958", - "changed": "2021-04-26T14:05:39.677390600Z", - "id": "8f4b8683-f92c-4129-a16f-818aeeee484e" - } - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - }, - "delete": { - "tags": [ - "Projects" - ], - "summary": "Deletes a project.", - "description": "Deletes a project.", - "operationId": "delete_project_handler", - "parameters": [ - { - "name": "project", - "in": "path", - "description": "Project id", - "required": true, - "schema": { - "$ref": "#/components/schemas/ProjectId" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "security": [ - { - "session_token": [] - } - ] - }, - "patch": { - "tags": [ - "Projects" - ], - "summary": "Updates a project.", - "description": "Updates a project.\nThis will create a new version.", - "operationId": "update_project_handler", - "parameters": [ - { - "name": "project", - "in": "path", - "description": "Project id", - "required": true, - "schema": { - "$ref": "#/components/schemas/ProjectId" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateProject" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/project/{project}/versions": { - "get": { - "tags": [ - "Projects" - ], - "summary": "Lists all available versions of a project.", - "description": "Lists all available versions of a project.", - "operationId": "project_versions_handler", - "parameters": [ - { - "name": "project", - "in": "path", - "description": "Project id", - "required": true, - "schema": { - "$ref": "#/components/schemas/ProjectId" - } - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ProjectVersion" - } - }, - "example": [ - { - "author": "5b4466d2-8bab-4ed8-a182-722af3c80958", - "changed": "2021-04-26T14:05:39.677390600Z", - "id": "8f4b8683-f92c-4129-a16f-818aeeee484e" - }, - { - "author": "5b4466d2-8bab-4ed8-a182-722af3c80958", - "changed": "2021-04-26T14:13:10.901912700Z", - "id": "ced041c7-4b1d-4d13-b076-94596be6a36a" - } - ] - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/project/{project}/{version}": { - "get": { - "tags": [ - "Projects" - ], - "summary": "Retrieves details about the given version of a project.", - "description": "Retrieves details about the given version of a project.", - "operationId": "load_project_version_handler", - "parameters": [ - { - "name": "project", - "in": "path", - "description": "Project id", - "required": true, - "schema": { - "$ref": "#/components/schemas/ProjectId" - } - }, - { - "name": "version", - "in": "path", - "description": "Version id", - "required": true, - "schema": { - "$ref": "#/components/schemas/ProjectVersionId" - } - } - ], - "responses": { - "200": { - "description": "Project loaded from database", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Project" - }, - "example": { - "bounds": { - "boundingBox": { - "lowerLeftCoordinate": { - "x": 0.0, - "y": 0.0 - }, - "upperRightCoordinate": { - "x": 1.0, - "y": 1.0 - } - }, - "spatialReference": "EPSG:4326", - "timeInterval": { - "end": 1, - "start": 0 - } - }, - "description": "Foo", - "id": "df4ad02e-0d61-4e29-90eb-dc1259c1f5b9", - "layers": [], - "name": "Test", - "plots": [], - "timeStep": { - "granularity": "months", - "step": 1 - }, - "version": { - "author": "5b4466d2-8bab-4ed8-a182-722af3c80958", - "changed": "2021-04-26T14:05:39.677390600Z", - "id": "8f4b8683-f92c-4129-a16f-818aeeee484e" - } - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/projects": { - "get": { - "tags": [ - "Projects" - ], - "summary": "List all projects accessible to the user that match the selected criteria.", - "description": "List all projects accessible to the user that match the selected criteria.", - "operationId": "list_projects_handler", - "parameters": [ - { - "name": "order", - "in": "path", - "required": true, - "schema": { - "$ref": "#/components/schemas/OrderBy" - }, - "example": "NameAsc" - }, - { - "name": "offset", - "in": "path", - "required": true, - "schema": { - "type": "integer", - "format": "int32", - "minimum": 0 - }, - "example": 0 - }, - { - "name": "limit", - "in": "path", - "required": true, - "schema": { - "type": "integer", - "format": "int32", - "minimum": 0 - }, - "example": 2 - } - ], - "responses": { - "200": { - "description": "List of projects the user can access", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ProjectListing" - } - }, - "example": [ - { - "changed": "2021-04-26T14:03:51.984537900Z", - "description": "Foo", - "id": "df4ad02e-0d61-4e29-90eb-dc1259c1f5b9", - "layerNames": [], - "name": "Test", - "plotNames": [] - } - ] - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/quota": { - "get": { - "tags": [ - "User" - ], - "summary": "Retrieves the available and used quota of the current user.", - "description": "Retrieves the available and used quota of the current user.", - "operationId": "quota_handler", - "responses": { - "200": { - "description": "The available and used quota of the user", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Quota" - }, - "example": { - "available": 4321, - "used": 1234 - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/quotas/{user}": { - "get": { - "tags": [ - "User" - ], - "summary": "Retrieves the available and used quota of a specific user.", - "description": "Retrieves the available and used quota of a specific user.", - "operationId": "get_user_quota_handler", - "parameters": [ - { - "name": "user", - "in": "path", - "description": "User id", - "required": true, - "schema": { - "$ref": "#/components/schemas/UserId" - } - } - ], - "responses": { - "200": { - "description": "The available and used quota of the user", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Quota" - }, - "example": { - "available": 4321, - "used": 1234 - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - }, - "post": { - "tags": [ - "User" - ], - "summary": "Update the available quota of a specific user.", - "description": "Update the available quota of a specific user.", - "operationId": "update_user_quota_handler", - "parameters": [ - { - "name": "user", - "in": "path", - "description": "User id", - "required": true, - "schema": { - "$ref": "#/components/schemas/UserId" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateQuota" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "Quota was updated" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/roles": { - "put": { - "tags": [ - "User" - ], - "summary": "Add a new role. Requires admin privilige.", - "description": "Add a new role. Requires admin privilige.", - "operationId": "add_role_handler", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AddRole" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "Role was added", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/RoleId" - }, - "example": { - "id": "5b4466d2-8bab-4ed8-a182-722af3c80958" - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/roles/{role}": { - "delete": { - "tags": [ - "User" - ], - "summary": "Remove a role. Requires admin privilige.", - "description": "Remove a role. Requires admin privilige.", - "operationId": "remove_role_handler", - "parameters": [ - { - "name": "role", - "in": "path", - "description": "Role id", - "required": true, - "schema": { - "$ref": "#/components/schemas/RoleId" - } - } - ], - "responses": { - "200": { - "description": "Role was removed" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/session": { - "get": { - "tags": [ - "Session" - ], - "summary": "Retrieves details about the current session.", - "description": "Retrieves details about the current session.", - "operationId": "session_handler", - "responses": { - "200": { - "description": "The current session", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UserSession" - }, - "example": { - "created": "2021-04-26T13:47:10.579724800Z", - "id": "208fa24e-7a92-4f57-a3fe-d1177d9f18ad", - "project": null, - "roles": [ - "fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783", - "4e8081b6-8aa6-4275-af0c-2fa2da557d28" - ], - "user": { - "email": "foo@example.com", - "id": "5b4466d2-8bab-4ed8-a182-722af3c80958", - "realName": "Foo Bar" - }, - "validUntil": "2021-04-26T14:47:10.579775400Z", - "view": null - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/spatialReferenceSpecification/{srsString}": { - "get": { - "tags": [ - "Spatial References" - ], - "operationId": "get_spatial_reference_specification_handler", - "parameters": [ - { - "name": "srsString", - "in": "path", - "required": true, - "schema": { - "type": "string" - }, - "example": "EPSG:4326" - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SpatialReferenceSpecification" - }, - "example": { - "axisLabels": [ - "Geodetic longitude", - "Geodetic latitude" - ], - "axisOrder": "northEast", - "extent": { - "lowerLeftCoordinate": { - "x": -180.0, - "y": -90.0 - }, - "upperRightCoordinate": { - "x": 180.0, - "y": 90.0 - } - }, - "name": "WGS 84", - "projString": "+proj=longlat +datum=WGS84 +no_defs +type=crs", - "spatialReference": "EPSG:4326" - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/tasks/list": { - "get": { - "tags": [ - "Tasks" - ], - "summary": "Retrieve the status of all tasks.", - "description": "Retrieve the status of all tasks.", - "operationId": "list_handler", - "parameters": [ - { - "name": "filter", - "in": "path", - "required": true, - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/TaskFilter" - } - ], - "nullable": true - } - }, - { - "name": "offset", - "in": "path", - "required": true, - "schema": { - "type": "integer", - "format": "int32", - "minimum": 0 - }, - "example": 0 - }, - { - "name": "limit", - "in": "path", - "required": true, - "schema": { - "type": "integer", - "format": "int32", - "minimum": 0 - }, - "example": 20 - } - ], - "responses": { - "200": { - "description": "Status of all tasks", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/TaskStatusWithId" - } - }, - "example": [ - { - "description": "Demo", - "info": null, - "status": "completed", - "taskId": "420b06de-0a7e-45cb-9c1c-ea901b46ab69", - "taskType": "dummy-task", - "timeStarted": "2023-02-16T15:25:45.390Z", - "timeTotal": "00:00:30" - } - ] - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/tasks/{id}": { - "delete": { - "tags": [ - "Tasks" - ], - "summary": "Abort a running task.", - "description": "Abort a running task.\n\n# Parameters\n\n* `force` - If true, the task will be aborted without clean-up.\nYou can abort a task that is already in the process of aborting.", - "operationId": "abort_handler", - "parameters": [ - { - "name": "force", - "in": "query", - "required": false, - "schema": { - "type": "boolean" - } - }, - { - "name": "id", - "in": "path", - "description": "Task id", - "required": true, - "schema": { - "$ref": "#/components/schemas/TaskId" - } - } - ], - "responses": { - "202": { - "description": "Task will be aborted." - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/tasks/{id}/status": { - "get": { - "tags": [ - "Tasks" - ], - "summary": "Retrieve the status of a task.", - "description": "Retrieve the status of a task.", - "operationId": "status_handler", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Task id", - "required": true, - "schema": { - "$ref": "#/components/schemas/TaskId" - } - } - ], - "responses": { - "200": { - "description": "Status of the task (running)", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/TaskStatus" - }, - "example": { - "description": "Demo", - "estimatedTimeRemaining": "? (\u00b1 ?)", - "info": null, - "pctComplete": "0.00%", - "status": "running", - "taskType": "dummy-task", - "timeStarted": "2023-02-16T15:25:45.390Z" - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/upload": { - "post": { - "tags": [ - "Uploads" - ], - "summary": "Uploads files.", - "description": "Uploads files.", - "operationId": "upload_handler", - "requestBody": { - "content": { - "multipart/form-data": { - "schema": { - "type": "object", - "required": [ - "files[]" - ], - "properties": { - "files[]": { - "type": "array", - "items": { - "type": "string", - "format": "binary" - } - } - } - } - } - }, - "required": true - }, - "responses": { - "200": { - "$ref": "#/components/responses/IdResponse" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/uploads/{upload_id}/files": { - "get": { - "tags": [ - "Uploads" - ], - "summary": "List the files of on upload.", - "description": "List the files of on upload.", - "operationId": "list_upload_files_handler", - "parameters": [ - { - "name": "upload_id", - "in": "path", - "description": "Upload id", - "required": true, - "schema": { - "$ref": "#/components/schemas/UploadId" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UploadFilesResponse" - }, - "example": { - "files": [ - "file1", - "file2" - ] - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/uploads/{upload_id}/files/{file_name}/layers": { - "get": { - "tags": [ - "Uploads" - ], - "summary": "List the layers of on uploaded file.", - "description": "List the layers of on uploaded file.", - "operationId": "list_upload_file_layers_handler", - "parameters": [ - { - "name": "upload_id", - "in": "path", - "description": "Upload id", - "required": true, - "schema": { - "$ref": "#/components/schemas/UploadId" - } - }, - { - "name": "file_name", - "in": "path", - "description": "File name", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UploadFilesResponse" - }, - "example": { - "layers": [ - "layer1", - "layer2" - ] - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/user": { - "post": { - "tags": [ - "Session" - ], - "summary": "Registers a user.", - "description": "Registers a user.", - "operationId": "register_user_handler", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UserRegistration" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "The id of the created user", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UserId" - }, - "example": { - "id": "5b4466d2-8bab-4ed8-a182-722af3c80958" - } - } - } - } - } - } - }, - "/user/roles/descriptions": { - "get": { - "tags": [ - "User" - ], - "summary": "Query roles for the current user.", - "description": "Query roles for the current user.", - "operationId": "get_role_descriptions", - "responses": { - "200": { - "description": "The description for roles of the current user", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/RoleDescription" - } - }, - "example": [ - { - "individual": true, - "role": { - "id": "5b4466d2-8bab-4ed8-a182-722af3c80958", - "name": "foo@example.com" - } - }, - { - "individual": false, - "role": { - "id": "fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783", - "name": "Example role" - } - } - ] - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/users/{user}/roles/{role}": { - "post": { - "tags": [ - "User" - ], - "summary": "Assign a role to a user. Requires admin privilige.", - "description": "Assign a role to a user. Requires admin privilige.", - "operationId": "assign_role_handler", - "parameters": [ - { - "name": "user", - "in": "path", - "description": "User id", - "required": true, - "schema": { - "$ref": "#/components/schemas/UserId" - } - }, - { - "name": "role", - "in": "path", - "description": "Role id", - "required": true, - "schema": { - "$ref": "#/components/schemas/RoleId" - } - } - ], - "responses": { - "200": { - "description": "Role was assigned" - } - }, - "security": [ - { - "session_token": [] - } - ] - }, - "delete": { - "tags": [ - "User" - ], - "summary": "Revoke a role from a user. Requires admin privilige.", - "description": "Revoke a role from a user. Requires admin privilige.", - "operationId": "revoke_role_handler", - "parameters": [ - { - "name": "user", - "in": "path", - "description": "User id", - "required": true, - "schema": { - "$ref": "#/components/schemas/UserId" - } - }, - { - "name": "role", - "in": "path", - "description": "Role id", - "required": true, - "schema": { - "$ref": "#/components/schemas/RoleId" - } - } - ], - "responses": { - "200": { - "description": "Role was revoked" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/wcs/{workflow}?request=DescribeCoverage": { - "get": { - "tags": [ - "OGC WCS" - ], - "summary": "Get WCS Coverage Description", - "description": "Get WCS Coverage Description", - "operationId": "wcs_describe_coverage_handler", - "parameters": [ - { - "name": "workflow", - "in": "path", - "description": "Workflow id", - "required": true, - "schema": { - "$ref": "#/components/schemas/WorkflowId" - } - }, - { - "name": "version", - "in": "query", - "required": true, - "schema": { - "$ref": "#/components/schemas/WcsVersion" - } - }, - { - "name": "service", - "in": "query", - "required": true, - "schema": { - "$ref": "#/components/schemas/WcsService" - } - }, - { - "name": "request", - "in": "query", - "required": true, - "schema": { - "$ref": "#/components/schemas/DescribeCoverageRequest" - } - }, - { - "name": "identifiers", - "in": "query", - "required": true, - "schema": { - "type": "string" - }, - "example": "" - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "text/xml": { - "schema": { - "type": "string" - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/wcs/{workflow}?request=GetCapabilities": { - "get": { - "tags": [ - "OGC WCS" - ], - "summary": "Get WCS Capabilities", - "description": "Get WCS Capabilities", - "operationId": "wcs_capabilities_handler", - "parameters": [ - { - "name": "workflow", - "in": "path", - "description": "Workflow id", - "required": true, - "schema": { - "$ref": "#/components/schemas/WorkflowId" - } - }, - { - "name": "version", - "in": "query", - "required": false, - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/WcsVersion" - } - ], - "nullable": true - } - }, - { - "name": "service", - "in": "query", - "required": true, - "schema": { - "$ref": "#/components/schemas/WcsService" - } - }, - { - "name": "request", - "in": "query", - "required": true, - "schema": { - "$ref": "#/components/schemas/GetCapabilitiesRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "text/xml": { - "schema": { - "type": "string" - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/wcs/{workflow}?request=GetCoverage": { - "get": { - "tags": [ - "OGC WCS" - ], - "summary": "Get WCS Coverage", - "description": "Get WCS Coverage", - "operationId": "wcs_get_coverage_handler", - "parameters": [ - { - "name": "workflow", - "in": "path", - "description": "Workflow id", - "required": true, - "schema": { - "$ref": "#/components/schemas/WorkflowId" - } - }, - { - "name": "version", - "in": "query", - "required": true, - "schema": { - "$ref": "#/components/schemas/WcsVersion" - } - }, - { - "name": "service", - "in": "query", - "required": true, - "schema": { - "$ref": "#/components/schemas/WcsService" - } - }, - { - "name": "request", - "in": "query", - "required": true, - "schema": { - "$ref": "#/components/schemas/GetCoverageRequest" - } - }, - { - "name": "format", - "in": "query", - "required": true, - "schema": { - "$ref": "#/components/schemas/GetCoverageFormat" - } - }, - { - "name": "identifier", - "in": "query", - "required": true, - "schema": { - "type": "string" - }, - "example": "" - }, - { - "name": "boundingbox", - "in": "query", - "required": true, - "schema": { - "type": "string" - }, - "example": "-90,-180,90,180,urn:ogc:def:crs:EPSG::4326" - }, - { - "name": "gridbasecrs", - "in": "query", - "required": true, - "schema": { - "type": "string" - }, - "example": "urn:ogc:def:crs:EPSG::4326" - }, - { - "name": "gridorigin", - "in": "query", - "required": false, - "schema": { - "type": "string" - }, - "example": "90,-180" - }, - { - "name": "gridoffsets", - "in": "query", - "required": false, - "schema": { - "type": "string" - }, - "example": "-0.1,0.1" - }, - { - "name": "time", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "resx", - "in": "query", - "required": false, - "schema": { - "type": "number", - "format": "double", - "nullable": true - } - }, - { - "name": "resy", - "in": "query", - "required": false, - "schema": { - "type": "number", - "format": "double", - "nullable": true - } - }, - { - "name": "nodatavalue", - "in": "query", - "required": false, - "schema": { - "type": "number", - "format": "double", - "nullable": true - } - } - ], - "responses": { - "200": { - "$ref": "#/components/responses/PngResponse" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/wfs/{workflow}?request=GetCapabilities": { - "get": { - "tags": [ - "OGC WFS" - ], - "summary": "Get WFS Capabilities", - "description": "Get WFS Capabilities", - "operationId": "wfs_capabilities_handler", - "parameters": [ - { - "name": "workflow", - "in": "path", - "description": "Workflow id", - "required": true, - "schema": { - "$ref": "#/components/schemas/WorkflowId" - } - }, - { - "name": "version", - "in": "query", - "required": false, - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/WfsVersion" - } - ], - "nullable": true - } - }, - { - "name": "service", - "in": "query", - "required": true, - "schema": { - "$ref": "#/components/schemas/WfsService" - } - }, - { - "name": "request", - "in": "query", - "required": true, - "schema": { - "$ref": "#/components/schemas/GetCapabilitiesRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "text/xml": { - "schema": { - "type": "string" - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/wfs/{workflow}?request=GetFeature": { - "get": { - "tags": [ - "OGC WFS" - ], - "summary": "Get WCS Features", - "description": "Get WCS Features", - "operationId": "wfs_feature_handler", - "parameters": [ - { - "name": "workflow", - "in": "path", - "description": "Workflow id", - "required": true, - "schema": { - "$ref": "#/components/schemas/WorkflowId" - } - }, - { - "name": "version", - "in": "query", - "required": false, - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/WfsVersion" - } - ], - "nullable": true - } - }, - { - "name": "service", - "in": "query", - "required": true, - "schema": { - "$ref": "#/components/schemas/WfsService" - } - }, - { - "name": "request", - "in": "query", - "required": true, - "schema": { - "$ref": "#/components/schemas/GetFeatureRequest" - } - }, - { - "name": "typeNames", - "in": "query", - "required": true, - "schema": { - "$ref": "#/components/schemas/TypeNames" - }, - "example": "" - }, - { - "name": "bbox", - "in": "query", - "required": true, - "schema": { - "$ref": "#/components/schemas/OgcBoundingBox" - }, - "example": "-90,-180,90,180" - }, - { - "name": "time", - "in": "query", - "required": false, - "schema": { - "type": "string" - }, - "example": "2014-04-01T12:00:00.000Z" - }, - { - "name": "srsName", - "in": "query", - "required": false, - "schema": { - "type": "string", - "nullable": true - }, - "example": "EPSG:4326" - }, - { - "name": "namespaces", - "in": "query", - "required": false, - "schema": { - "type": "string", - "nullable": true - } - }, - { - "name": "count", - "in": "query", - "required": false, - "schema": { - "type": "integer", - "format": "int64", - "nullable": true, - "minimum": 0 - } - }, - { - "name": "sortBy", - "in": "query", - "required": false, - "schema": { - "type": "string", - "nullable": true - } - }, - { - "name": "resultType", - "in": "query", - "required": false, - "schema": { - "type": "string", - "nullable": true - } - }, - { - "name": "filter", - "in": "query", - "required": false, - "schema": { - "type": "string", - "nullable": true - } - }, - { - "name": "propertyName", - "in": "query", - "required": false, - "schema": { - "type": "string", - "nullable": true - } - }, - { - "name": "queryResolution", - "in": "query", - "description": "Vendor parameter for specifying a spatial query resolution", - "required": false, - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/WfsResolution" - } - ], - "nullable": true - } - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GeoJson" - }, - "example": { - "features": [ - { - "geometry": { - "coordinates": [ - 0.0, - 0.1 - ], - "type": "Point" - }, - "properties": { - "foo": 0 - }, - "type": "Feature", - "when": { - "end": "1970-01-01T00:00:00.001+00:00", - "start": "1970-01-01T00:00:00+00:00", - "type": "Interval" - } - }, - { - "geometry": { - "coordinates": [ - 1.0, - 1.1 - ], - "type": "Point" - }, - "properties": { - "foo": null - }, - "type": "Feature", - "when": { - "end": "1970-01-01T00:00:00.001+00:00", - "start": "1970-01-01T00:00:00+00:00", - "type": "Interval" - } - }, - { - "geometry": { - "coordinates": [ - 2.0, - 3.1 - ], - "type": "Point" - }, - "properties": { - "foo": 2 - }, - "type": "Feature", - "when": { - "end": "1970-01-01T00:00:00.001+00:00", - "start": "1970-01-01T00:00:00+00:00", - "type": "Interval" - } - }, - { - "geometry": { - "coordinates": [ - 3.0, - 3.1 - ], - "type": "Point" - }, - "properties": { - "foo": 3 - }, - "type": "Feature", - "when": { - "end": "1970-01-01T00:00:00.001+00:00", - "start": "1970-01-01T00:00:00+00:00", - "type": "Interval" - } - }, - { - "geometry": { - "coordinates": [ - 4.0, - 4.1 - ], - "type": "Point" - }, - "properties": { - "foo": 4 - }, - "type": "Feature", - "when": { - "end": "1970-01-01T00:00:00.001+00:00", - "start": "1970-01-01T00:00:00+00:00", - "type": "Interval" - } - } - ], - "type": "FeatureCollection" - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/wms/{workflow}?request=GetCapabilities": { - "get": { - "tags": [ - "OGC WMS" - ], - "summary": "Get WMS Capabilities", - "description": "Get WMS Capabilities", - "operationId": "wms_capabilities_handler", - "parameters": [ - { - "name": "workflow", - "in": "path", - "description": "Workflow id", - "required": true, - "schema": { - "$ref": "#/components/schemas/WorkflowId" - } - }, - { - "name": "version", - "in": "query", - "required": false, - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/WmsVersion" - } - ], - "nullable": true - } - }, - { - "name": "service", - "in": "query", - "required": true, - "schema": { - "$ref": "#/components/schemas/WmsService" - } - }, - { - "name": "request", - "in": "query", - "required": true, - "schema": { - "$ref": "#/components/schemas/GetCapabilitiesRequest" - } - }, - { - "name": "format", - "in": "query", - "required": false, - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/GetCapabilitiesFormat" - } - ], - "nullable": true - } - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "text/xml": { - "schema": { - "type": "string" - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/wms/{workflow}?request=GetLegendGraphic": { - "get": { - "tags": [ - "OGC WMS" - ], - "summary": "Get WMS Legend Graphic", - "description": "Get WMS Legend Graphic", - "operationId": "wms_legend_graphic_handler", - "parameters": [ - { - "name": "workflow", - "in": "path", - "description": "Workflow id", - "required": true, - "schema": { - "$ref": "#/components/schemas/WorkflowId" - } - }, - { - "name": "version", - "in": "query", - "required": true, - "schema": { - "$ref": "#/components/schemas/WmsVersion" - } - }, - { - "name": "service", - "in": "query", - "required": true, - "schema": { - "$ref": "#/components/schemas/WmsService" - } - }, - { - "name": "request", - "in": "query", - "required": true, - "schema": { - "$ref": "#/components/schemas/GetLegendGraphicRequest" - } - }, - { - "name": "layer", - "in": "query", - "required": true, - "schema": { - "type": "string" - }, - "example": "" - } - ], - "responses": { - "501": { - "description": "Not implemented" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/wms/{workflow}?request=GetMap": { - "get": { - "tags": [ - "OGC WMS" - ], - "summary": "Get WMS Map", - "description": "Get WMS Map", - "operationId": "wms_map_handler", - "parameters": [ - { - "name": "workflow", - "in": "path", - "description": "Workflow id", - "required": true, - "schema": { - "$ref": "#/components/schemas/WorkflowId" - } - }, - { - "name": "version", - "in": "query", - "required": true, - "schema": { - "$ref": "#/components/schemas/WmsVersion" - } - }, - { - "name": "service", - "in": "query", - "required": true, - "schema": { - "$ref": "#/components/schemas/WmsService" - } - }, - { - "name": "request", - "in": "query", - "required": true, - "schema": { - "$ref": "#/components/schemas/GetMapRequest" - } - }, - { - "name": "width", - "in": "query", - "required": true, - "schema": { - "type": "integer", - "format": "int32", - "minimum": 0 - }, - "example": 512 - }, - { - "name": "height", - "in": "query", - "required": true, - "schema": { - "type": "integer", - "format": "int32", - "minimum": 0 - }, - "example": 256 - }, - { - "name": "bbox", - "in": "query", - "required": true, - "schema": { - "$ref": "#/components/schemas/OgcBoundingBox" - }, - "example": "-90,-180,90,180" - }, - { - "name": "format", - "in": "query", - "required": true, - "schema": { - "$ref": "#/components/schemas/GetMapFormat" - } - }, - { - "name": "layers", - "in": "query", - "required": true, - "schema": { - "type": "string" - }, - "example": "" - }, - { - "name": "crs", - "in": "query", - "required": false, - "schema": { - "type": "string", - "nullable": true - }, - "example": "EPSG:4326" - }, - { - "name": "styles", - "in": "query", - "required": true, - "schema": { - "type": "string" - }, - "example": "custom:{\"type\":\"linearGradient\",\"breakpoints\":[{\"value\":1,\"color\":[0,0,0,255]},{\"value\":255,\"color\":[255,255,255,255]}],\"noDataColor\":[0,0,0,0],\"defaultColor\":[0,0,0,0]}" - }, - { - "name": "time", - "in": "query", - "required": false, - "schema": { - "type": "string" - }, - "example": "2014-04-01T12:00:00.000Z" - }, - { - "name": "transparent", - "in": "query", - "required": false, - "schema": { - "type": "boolean", - "nullable": true - } - }, - { - "name": "bgcolor", - "in": "query", - "required": false, - "schema": { - "type": "string", - "nullable": true - } - }, - { - "name": "sld", - "in": "query", - "required": false, - "schema": { - "type": "string", - "nullable": true - } - }, - { - "name": "sld_body", - "in": "query", - "required": false, - "schema": { - "type": "string", - "nullable": true - } - }, - { - "name": "elevation", - "in": "query", - "required": false, - "schema": { - "type": "string", - "nullable": true - } - }, - { - "name": "exceptions", - "in": "query", - "required": false, - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/GetMapExceptionFormat" - } - ], - "nullable": true - } - } - ], - "responses": { - "200": { - "$ref": "#/components/responses/PngResponse" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/workflow": { - "post": { - "tags": [ - "Workflows" - ], - "summary": "Registers a new Workflow.", - "description": "Registers a new Workflow.", - "operationId": "register_workflow_handler", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Workflow" - }, - "examples": { - "MockPointSource": { - "value": { - "operator": { - "params": { - "points": [ - { - "x": 0.0, - "y": 0.1 - }, - { - "x": 1.0, - "y": 1.1 - } - ] - }, - "type": "MockPointSource" - }, - "type": "Vector" - } - }, - "Statistics Plot": { - "value": { - "operator": { - "params": {}, - "sources": { - "source": { - "params": { - "attributeFilters": null, - "attributeProjection": null, - "data": "ne_10m_ports" - }, - "type": "OgrSource" - } - }, - "type": "Statistics" - }, - "type": "Plot" - } - } - } - } - }, - "required": true - }, - "responses": { - "200": { - "$ref": "#/components/responses/IdResponse" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/workflow/{id}": { - "get": { - "tags": [ - "Workflows" - ], - "summary": "Retrieves an existing Workflow.", - "description": "Retrieves an existing Workflow.", - "operationId": "load_workflow_handler", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Workflow id", - "required": true, - "schema": { - "$ref": "#/components/schemas/WorkflowId" - } - } - ], - "responses": { - "200": { - "description": "Workflow loaded from database", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Workflow" - }, - "example": { - "operator": { - "params": { - "points": [ - { - "x": 0.0, - "y": 0.1 - }, - { - "x": 1.0, - "y": 1.1 - } - ] - }, - "type": "MockPointSource" - }, - "type": "Vector" - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/workflow/{id}/allMetadata/zip": { - "get": { - "tags": [ - "Workflows" - ], - "summary": "Gets a ZIP archive of the worklow, its provenance and the output metadata.", - "description": "Gets a ZIP archive of the worklow, its provenance and the output metadata.", - "operationId": "get_workflow_all_metadata_zip_handler", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Workflow id", - "required": true, - "schema": { - "$ref": "#/components/schemas/WorkflowId" - } - } - ], - "responses": { - "200": { - "$ref": "#/components/responses/ZipResponse" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/workflow/{id}/metadata": { - "get": { - "tags": [ - "Workflows" - ], - "summary": "Gets the metadata of a workflow", - "description": "Gets the metadata of a workflow", - "operationId": "get_workflow_metadata_handler", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Workflow id", - "required": true, - "schema": { - "$ref": "#/components/schemas/WorkflowId" - } - } - ], - "responses": { - "200": { - "description": "Metadata of loaded workflow", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/TypedResultDescriptor" - }, - "example": { - "columns": {}, - "dataType": "MultiPoint", - "spatialReference": "EPSG:4326", - "type": "vector" - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/workflow/{id}/provenance": { - "get": { - "tags": [ - "Workflows" - ], - "summary": "Gets the provenance of all datasets used in a workflow.", - "description": "Gets the provenance of all datasets used in a workflow.", - "operationId": "get_workflow_provenance_handler", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Workflow id", - "required": true, - "schema": { - "$ref": "#/components/schemas/WorkflowId" - } - } - ], - "responses": { - "200": { - "description": "Provenance of used datasets", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ProvenanceEntry" - } - }, - "example": [ - { - "dataset": { - "datasetId": "846a823a-6859-4b94-ab0a-c1de80f593d8", - "type": "internal" - }, - "provenance": { - "citation": "Author, Dataset Tile", - "license": "Some license", - "uri": "http://example.org/" - } - }, - { - "dataset": { - "datasetId": "453cd398-f271-437b-9c3d-7f42213ea30a", - "type": "internal" - }, - "provenance": { - "citation": "Another Author, Another Dataset Tile", - "license": "Some other license", - "uri": "http://example.org/" - } - } - ] - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/workflow/{id}/rasterStream": { - "get": { - "tags": [ - "Workflows" - ], - "summary": "Query a workflow raster result as a stream of tiles via a websocket connection.", - "description": "Query a workflow raster result as a stream of tiles via a websocket connection.", - "operationId": "raster_stream_websocket", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Workflow id", - "required": true, - "schema": { - "$ref": "#/components/schemas/WorkflowId" - } - }, - { - "name": "spatialBounds", - "in": "query", - "required": true, - "schema": { - "$ref": "#/components/schemas/SpatialPartition2D" - } - }, - { - "name": "timeInterval", - "in": "query", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "spatialResolution", - "in": "query", - "required": true, - "schema": { - "$ref": "#/components/schemas/SpatialResolution" - } - }, - { - "name": "resultType", - "in": "query", - "required": true, - "schema": { - "$ref": "#/components/schemas/RasterStreamWebsocketResultType" - } - } - ], - "responses": { - "101": { - "description": "Upgrade to websocket connection" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - } - }, - "components": { - "schemas": { - "AbortedTaskStatus": { - "type": "object", - "required": [ - "status", - "cleanUp" - ], - "properties": { - "cleanUp": {}, - "status": { - "type": "string", - "enum": [ - "aborted" - ] - } - } - }, - "AddDataset": { - "type": "object", - "required": [ - "displayName", - "description", - "sourceOperator" - ], - "properties": { - "description": { - "type": "string" - }, - "displayName": { - "type": "string" - }, - "name": { - "allOf": [ - { - "$ref": "#/components/schemas/DatasetName" - } - ], - "nullable": true - }, - "provenance": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Provenance" - }, - "nullable": true - }, - "sourceOperator": { - "type": "string" - }, - "symbology": { - "allOf": [ - { - "$ref": "#/components/schemas/Symbology" - } - ], - "nullable": true - } - } - }, - "AddLayer": { - "type": "object", - "required": [ - "name", - "description", - "workflow" - ], - "properties": { - "description": { - "type": "string", - "example": "Example layer description" - }, - "metadata": { - "type": "object", - "description": "metadata used for loading the data", - "additionalProperties": { - "type": "string" - } - }, - "name": { - "type": "string", - "example": "Example Layer" - }, - "properties": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Property" - }, - "description": "properties, for instance, to be rendered in the UI" - }, - "symbology": { - "allOf": [ - { - "$ref": "#/components/schemas/Symbology" - } - ], - "nullable": true - }, - "workflow": { - "$ref": "#/components/schemas/Workflow" - } - } - }, - "AddLayerCollection": { - "type": "object", - "required": [ - "name", - "description" - ], - "properties": { - "description": { - "type": "string", - "example": "A description for an example collection" - }, - "name": { - "type": "string", - "example": "Example Collection" - }, - "properties": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Property" - } - } - } - }, - "AddRole": { - "type": "object", - "required": [ - "name" - ], - "properties": { - "name": { - "type": "string" - } - } - }, - "AutoCreateDataset": { - "type": "object", - "required": [ - "upload", - "datasetName", - "datasetDescription", - "mainFile" - ], - "properties": { - "datasetDescription": { - "type": "string" - }, - "datasetName": { - "type": "string" - }, - "layerName": { - "type": "string", - "nullable": true - }, - "mainFile": { - "type": "string" - }, - "upload": { - "$ref": "#/components/schemas/UploadId" - } - }, - "example": { - "datasetDescription": "The Outline of Germany (auto detected format)", - "datasetName": "Germany Border (auto)", - "mainFile": "germany_polygon.gpkg", - "upload": "420b06de-0a7e-45cb-9c1c-ea901b46ab69" - } - }, - "AutoOgrSourceTimeFormat": { - "type": "object", - "required": [ - "format" - ], - "properties": { - "format": { - "type": "string", - "enum": [ - "auto" - ] - } - } - }, - "AxisLabels": { - "type": "array", - "items": { - "type": "string" - }, - "maxItems": 2, - "minItems": 2 - }, - "AxisOrder": { - "type": "string", - "enum": [ - "northEast", - "eastNorth" - ] - }, - "BoundingBox2D": { - "type": "object", - "description": "A bounding box that includes all border points.\nNote: may degenerate to a point!", - "required": [ - "lowerLeftCoordinate", - "upperRightCoordinate" - ], - "properties": { - "lowerLeftCoordinate": { - "$ref": "#/components/schemas/Coordinate2D" - }, - "upperRightCoordinate": { - "$ref": "#/components/schemas/Coordinate2D" - } - } - }, - "Breakpoint": { - "type": "object", - "properties": { - "color": { - "$ref": "#/components/schemas/RgbaColor" - }, - "value": { - "type": "number" - } - } - }, - "CacheTtlSeconds": { - "type": "integer", - "format": "int32", - "minimum": 0 - }, - "ClassificationMeasurement": { - "type": "object", - "required": [ - "measurement", - "classes" - ], - "properties": { - "classes": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "measurement": { - "type": "string" - } - } - }, - "ClassificationMeasurementWithType": { - "type": "object", - "required": [ - "measurement", - "classes", - "type" - ], - "properties": { - "classes": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "measurement": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "classification" - ] - } - } - }, - "CollectionItem": { - "oneOf": [ - { - "$ref": "#/components/schemas/LayerCollectionListingWithType" - }, - { - "$ref": "#/components/schemas/LayerListingWithType" - } - ], - "discriminator": { - "propertyName": "type", - "mapping": { - "collection": "#/components/schemas/LayerCollectionListingWithType", - "layer": "#/components/schemas/LayerListingWithType" - } - } - }, - "CollectionType": { - "type": "string", - "enum": [ - "FeatureCollection" - ] - }, - "ColorParam": { - "oneOf": [ - { - "$ref": "#/components/schemas/StaticColorParam" - }, - { - "$ref": "#/components/schemas/DerivedColorWithType" - } - ], - "discriminator": { - "propertyName": "type", - "mapping": { - "derived": "#/components/schemas/DerivedColorWithType", - "static": "#/components/schemas/StaticColorParam" - } - } - }, - "Colorizer": { - "oneOf": [ - { - "$ref": "#/components/schemas/LinearGradientWithType" - }, - { - "$ref": "#/components/schemas/LogarithmicGradientWithType" - }, - { - "$ref": "#/components/schemas/PaletteColorizer" - }, - { - "$ref": "#/components/schemas/RgbaColorizer" - } - ], - "discriminator": { - "propertyName": "type", - "mapping": { - "linearGradient": "#/components/schemas/LinearGradientWithType", - "logarithmicGradient": "#/components/schemas/LogarithmicGradientWithType", - "palette": "#/components/schemas/PaletteColorizer", - "rgba": "#/components/schemas/RgbaColorizer" - } - } - }, - "CompletedTaskStatus": { - "type": "object", - "required": [ - "status", - "taskType", - "timeTotal", - "timeStarted" - ], - "properties": { - "description": { - "type": "string" - }, - "info": {}, - "status": { - "type": "string", - "enum": [ - "completed" - ] - }, - "taskType": { - "type": "string" - }, - "timeStarted": { - "type": "string" - }, - "timeTotal": { - "type": "string" - } - } - }, - "ContinuousMeasurement": { - "type": "object", - "required": [ - "measurement" - ], - "properties": { - "measurement": { - "type": "string" - }, - "unit": { - "type": "string", - "nullable": true - } - } - }, - "ContinuousMeasurementWithType": { - "type": "object", - "required": [ - "measurement", - "type" - ], - "properties": { - "measurement": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "continuous" - ] - }, - "unit": { - "type": "string", - "nullable": true - } - } - }, - "Coordinate2D": { - "type": "object", - "required": [ - "x", - "y" - ], - "properties": { - "x": { - "type": "number", - "format": "double" - }, - "y": { - "type": "number", - "format": "double" - } - } - }, - "CreateDataset": { - "type": "object", - "required": [ - "dataPath", - "definition" - ], - "properties": { - "dataPath": { - "$ref": "#/components/schemas/DataPath" - }, - "definition": { - "$ref": "#/components/schemas/DatasetDefinition" - } - } - }, - "CreateProject": { - "type": "object", - "required": [ - "name", - "description", - "bounds" - ], - "properties": { - "bounds": { - "$ref": "#/components/schemas/STRectangle" - }, - "description": { - "type": "string" - }, - "name": { - "type": "string" - }, - "timeStep": { - "allOf": [ - { - "$ref": "#/components/schemas/TimeStep" - } - ], - "nullable": true - } - }, - "example": { - "bounds": { - "boundingBox": { - "lowerLeftCoordinate": { - "x": 0, - "y": 0 - }, - "upperRightCoordinate": { - "x": 1, - "y": 1 - } - }, - "spatialReference": "EPSG:4326", - "timeInterval": { - "end": 1, - "start": 0 - } - }, - "description": "Foo", - "name": "Test", - "timeStep": { - "granularity": "months", - "step": 1 - } - } - }, - "CsvHeader": { - "type": "string", - "enum": [ - "yes", - "no", - "auto" - ] - }, - "CustomOgrSourceTimeFormat": { - "type": "object", - "required": [ - "customFormat", - "format" - ], - "properties": { - "customFormat": { - "$ref": "#/components/schemas/DateTimeParseFormat" - }, - "format": { - "type": "string", - "enum": [ - "custom" - ] - } - } - }, - "DataId": { - "oneOf": [ - { - "$ref": "#/components/schemas/InternalDataId" - }, - { - "$ref": "#/components/schemas/ExternalDataIdWithType" - } - ], - "discriminator": { - "propertyName": "type", - "mapping": { - "external": "#/components/schemas/ExternalDataIdWithType", - "internal": "#/components/schemas/InternalDataId" - } - } - }, - "DataPath": { - "oneOf": [ - { - "type": "object", - "required": [ - "volume" - ], - "properties": { - "volume": { - "$ref": "#/components/schemas/VolumeName" - } - } - }, - { - "type": "object", - "required": [ - "upload" - ], - "properties": { - "upload": { - "$ref": "#/components/schemas/UploadId" - } - } - } - ] - }, - "DataProviderId": { - "type": "string", - "format": "uuid" - }, - "Dataset": { - "type": "object", - "required": [ - "id", - "name", - "displayName", - "description", - "resultDescriptor", - "sourceOperator" - ], - "properties": { - "description": { - "type": "string" - }, - "displayName": { - "type": "string" - }, - "id": { - "$ref": "#/components/schemas/DatasetId" - }, - "name": { - "$ref": "#/components/schemas/DatasetName" - }, - "provenance": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Provenance" - }, - "nullable": true - }, - "resultDescriptor": { - "$ref": "#/components/schemas/TypedResultDescriptor" - }, - "sourceOperator": { - "type": "string" - }, - "symbology": { - "allOf": [ - { - "$ref": "#/components/schemas/Symbology" - } - ], - "nullable": true - } - } - }, - "DatasetDefinition": { - "type": "object", - "required": [ - "properties", - "metaData" - ], - "properties": { - "metaData": { - "$ref": "#/components/schemas/MetaDataDefinition" - }, - "properties": { - "$ref": "#/components/schemas/AddDataset" - } - } - }, - "DatasetId": { - "type": "string", - "format": "uuid" - }, - "DatasetIdResourceId": { - "type": "object", - "required": [ - "type", - "id" - ], - "properties": { - "id": { - "$ref": "#/components/schemas/DatasetId" - }, - "type": { - "type": "string", - "enum": [ - "DatasetId" - ] - } - } - }, - "DatasetListing": { - "type": "object", - "required": [ - "id", - "name", - "displayName", - "description", - "tags", - "sourceOperator", - "resultDescriptor" - ], - "properties": { - "description": { - "type": "string" - }, - "displayName": { - "type": "string" - }, - "id": { - "$ref": "#/components/schemas/DatasetId" - }, - "name": { - "$ref": "#/components/schemas/DatasetName" - }, - "resultDescriptor": { - "$ref": "#/components/schemas/TypedResultDescriptor" - }, - "sourceOperator": { - "type": "string" - }, - "symbology": { - "allOf": [ - { - "$ref": "#/components/schemas/Symbology" - } - ], - "nullable": true - }, - "tags": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "DatasetName": { - "type": "string" - }, - "DatasetResource": { - "type": "object", - "required": [ - "type", - "id" - ], - "properties": { - "id": { - "$ref": "#/components/schemas/DatasetName" - }, - "type": { - "type": "string", - "enum": [ - "dataset" - ] - } - } - }, - "DateTime": { - "type": "object", - "description": "An object that composes the date and a timestamp with time zone.", - "required": [ - "datetime" - ], - "properties": { - "datetime": { - "type": "string", - "format": "date-time" - } - } - }, - "DateTimeParseFormat": { - "type": "object", - "required": [ - "fmt", - "has_tz", - "has_time" - ], - "properties": { - "fmt": { - "type": "string" - }, - "has_time": { - "type": "boolean" - }, - "has_tz": { - "type": "boolean" - } - } - }, - "DerivedColor": { - "type": "object", - "required": [ - "attribute", - "colorizer" - ], - "properties": { - "attribute": { - "type": "string" - }, - "colorizer": { - "$ref": "#/components/schemas/Colorizer" - } - } - }, - "DerivedColorWithType": { - "type": "object", - "required": [ - "attribute", - "colorizer", - "type" - ], - "properties": { - "attribute": { - "type": "string" - }, - "colorizer": { - "$ref": "#/components/schemas/Colorizer" - }, - "type": { - "type": "string", - "enum": [ - "derived" - ] - } - } - }, - "DerivedNumber": { - "type": "object", - "required": [ - "attribute", - "factor", - "defaultValue" - ], - "properties": { - "attribute": { - "type": "string" - }, - "defaultValue": { - "type": "number", - "format": "double" - }, - "factor": { - "type": "number", - "format": "double" - } - } - }, - "DerivedNumberWithType": { - "type": "object", - "required": [ - "attribute", - "factor", - "defaultValue", - "type" - ], - "properties": { - "attribute": { - "type": "string" - }, - "defaultValue": { - "type": "number", - "format": "double" - }, - "factor": { - "type": "number", - "format": "double" - }, - "type": { - "type": "string", - "enum": [ - "derived" - ] - } - } - }, - "DescribeCoverageRequest": { - "type": "string", - "enum": [ - "DescribeCoverage" - ] - }, - "ErrorResponse": { - "type": "object", - "required": [ - "error", - "message" - ], - "properties": { - "error": { - "type": "string" - }, - "message": { - "type": "string" - } - } - }, - "ExternalDataId": { - "type": "object", - "required": [ - "providerId", - "layerId" - ], - "properties": { - "layerId": { - "$ref": "#/components/schemas/LayerId" - }, - "providerId": { - "$ref": "#/components/schemas/DataProviderId" - } - } - }, - "ExternalDataIdWithType": { - "type": "object", - "required": [ - "providerId", - "layerId", - "type" - ], - "properties": { - "layerId": { - "$ref": "#/components/schemas/LayerId" - }, - "providerId": { - "$ref": "#/components/schemas/DataProviderId" - }, - "type": { - "type": "string", - "enum": [ - "external" - ] - } - } - }, - "FailedTaskStatus": { - "type": "object", - "required": [ - "status", - "error", - "cleanUp" - ], - "properties": { - "cleanUp": {}, - "error": {}, - "status": { - "type": "string", - "enum": [ - "failed" - ] - } - } - }, - "FeatureDataType": { - "type": "string", - "enum": [ - "category", - "int", - "float", - "text", - "bool", - "dateTime" - ] - }, - "FileNotFoundHandling": { - "type": "string", - "enum": [ - "NoData", - "Error" - ] - }, - "FormatSpecifics": { - "oneOf": [ - { - "type": "object", - "required": [ - "csv" - ], - "properties": { - "csv": { - "type": "object", - "required": [ - "header" - ], - "properties": { - "header": { - "$ref": "#/components/schemas/CsvHeader" - } - } - } - } - } - ] - }, - "GdalConfigOption": { - "type": "array", - "items": { - "type": "string" - }, - "maxItems": 2, - "minItems": 2 - }, - "GdalDatasetGeoTransform": { - "type": "object", - "required": [ - "originCoordinate", - "xPixelSize", - "yPixelSize" - ], - "properties": { - "originCoordinate": { - "$ref": "#/components/schemas/Coordinate2D" - }, - "xPixelSize": { - "type": "number", - "format": "double" - }, - "yPixelSize": { - "type": "number", - "format": "double" - } - } - }, - "GdalDatasetParameters": { - "type": "object", - "description": "Parameters for loading data using Gdal", - "required": [ - "filePath", - "rasterbandChannel", - "geoTransform", - "width", - "height", - "fileNotFoundHandling" - ], - "properties": { - "allowAlphabandAsMask": { - "type": "boolean" - }, - "fileNotFoundHandling": { - "$ref": "#/components/schemas/FileNotFoundHandling" - }, - "filePath": { - "type": "string" - }, - "gdalConfigOptions": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GdalConfigOption" - }, - "nullable": true - }, - "gdalOpenOptions": { - "type": "array", - "items": { - "type": "string" - }, - "nullable": true - }, - "geoTransform": { - "$ref": "#/components/schemas/GdalDatasetGeoTransform" - }, - "height": { - "type": "integer", - "minimum": 0 - }, - "noDataValue": { - "type": "number", - "format": "double", - "nullable": true - }, - "propertiesMapping": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GdalMetadataMapping" - }, - "nullable": true - }, - "rasterbandChannel": { - "type": "integer", - "minimum": 0 - }, - "width": { - "type": "integer", - "minimum": 0 - } - } - }, - "GdalLoadingInfoTemporalSlice": { - "type": "object", - "description": "one temporal slice of the dataset that requires reading from exactly one Gdal dataset", - "required": [ - "time" - ], - "properties": { - "cacheTtl": { - "$ref": "#/components/schemas/CacheTtlSeconds" - }, - "params": { - "allOf": [ - { - "$ref": "#/components/schemas/GdalDatasetParameters" - } - ], - "nullable": true - }, - "time": { - "$ref": "#/components/schemas/TimeInterval" - } - } - }, - "GdalMetaDataList": { - "type": "object", - "required": [ - "resultDescriptor", - "params" - ], - "properties": { - "params": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GdalLoadingInfoTemporalSlice" - } - }, - "resultDescriptor": { - "$ref": "#/components/schemas/RasterResultDescriptor" - } - } - }, - "GdalMetaDataListWithType": { - "type": "object", - "required": [ - "resultDescriptor", - "params", - "type" - ], - "properties": { - "params": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GdalLoadingInfoTemporalSlice" - } - }, - "resultDescriptor": { - "$ref": "#/components/schemas/RasterResultDescriptor" - }, - "type": { - "type": "string", - "enum": [ - "GdalMetaDataList" - ] - } - } - }, - "GdalMetaDataRegular": { - "type": "object", - "required": [ - "resultDescriptor", - "params", - "timePlaceholders", - "dataTime", - "step" - ], - "properties": { - "cacheTtl": { - "$ref": "#/components/schemas/CacheTtlSeconds" - }, - "dataTime": { - "$ref": "#/components/schemas/TimeInterval" - }, - "params": { - "$ref": "#/components/schemas/GdalDatasetParameters" - }, - "resultDescriptor": { - "$ref": "#/components/schemas/RasterResultDescriptor" - }, - "step": { - "$ref": "#/components/schemas/TimeStep" - }, - "timePlaceholders": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/GdalSourceTimePlaceholder" - } - } - } - }, - "GdalMetaDataRegularWithType": { - "type": "object", - "required": [ - "resultDescriptor", - "params", - "timePlaceholders", - "dataTime", - "step", - "type" - ], - "properties": { - "cacheTtl": { - "$ref": "#/components/schemas/CacheTtlSeconds" - }, - "dataTime": { - "$ref": "#/components/schemas/TimeInterval" - }, - "params": { - "$ref": "#/components/schemas/GdalDatasetParameters" - }, - "resultDescriptor": { - "$ref": "#/components/schemas/RasterResultDescriptor" - }, - "step": { - "$ref": "#/components/schemas/TimeStep" - }, - "timePlaceholders": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/GdalSourceTimePlaceholder" - } - }, - "type": { - "type": "string", - "enum": [ - "GdalMetaDataRegular" - ] - } - } - }, - "GdalMetaDataStatic": { - "type": "object", - "required": [ - "params", - "resultDescriptor" - ], - "properties": { - "cacheTtl": { - "$ref": "#/components/schemas/CacheTtlSeconds" - }, - "params": { - "$ref": "#/components/schemas/GdalDatasetParameters" - }, - "resultDescriptor": { - "$ref": "#/components/schemas/RasterResultDescriptor" - }, - "time": { - "allOf": [ - { - "$ref": "#/components/schemas/TimeInterval" - } - ], - "nullable": true - } - } - }, - "GdalMetaDataStaticWithType": { - "type": "object", - "required": [ - "params", - "resultDescriptor", - "type" - ], - "properties": { - "cacheTtl": { - "$ref": "#/components/schemas/CacheTtlSeconds" - }, - "params": { - "$ref": "#/components/schemas/GdalDatasetParameters" - }, - "resultDescriptor": { - "$ref": "#/components/schemas/RasterResultDescriptor" - }, - "time": { - "allOf": [ - { - "$ref": "#/components/schemas/TimeInterval" - } - ], - "nullable": true - }, - "type": { - "type": "string", - "enum": [ - "GdalStatic" - ] - } - } - }, - "GdalMetadataMapping": { - "type": "object", - "required": [ - "source_key", - "target_key", - "target_type" - ], - "properties": { - "source_key": { - "$ref": "#/components/schemas/RasterPropertiesKey" - }, - "target_key": { - "$ref": "#/components/schemas/RasterPropertiesKey" - }, - "target_type": { - "$ref": "#/components/schemas/RasterPropertiesEntryType" - } - } - }, - "GdalMetadataNetCdfCf": { - "type": "object", - "description": "Meta data for 4D `NetCDF` CF datasets", - "required": [ - "resultDescriptor", - "params", - "start", - "end", - "step", - "bandOffset" - ], - "properties": { - "bandOffset": { - "type": "integer", - "description": "A band offset specifies the first band index to use for the first point in time.\nAll other time steps are added to this offset.", - "minimum": 0 - }, - "cacheTtl": { - "$ref": "#/components/schemas/CacheTtlSeconds" - }, - "end": { - "$ref": "#/components/schemas/TimeInstance" - }, - "params": { - "$ref": "#/components/schemas/GdalDatasetParameters" - }, - "resultDescriptor": { - "$ref": "#/components/schemas/RasterResultDescriptor" - }, - "start": { - "$ref": "#/components/schemas/TimeInstance" - }, - "step": { - "$ref": "#/components/schemas/TimeStep" - } - } - }, - "GdalMetadataNetCdfCfWithType": { - "type": "object", - "description": "Meta data for 4D `NetCDF` CF datasets", - "required": [ - "resultDescriptor", - "params", - "start", - "end", - "step", - "bandOffset", - "type" - ], - "properties": { - "bandOffset": { - "type": "integer", - "description": "A band offset specifies the first band index to use for the first point in time.\nAll other time steps are added to this offset.", - "minimum": 0 - }, - "cacheTtl": { - "$ref": "#/components/schemas/CacheTtlSeconds" - }, - "end": { - "$ref": "#/components/schemas/TimeInstance" - }, - "params": { - "$ref": "#/components/schemas/GdalDatasetParameters" - }, - "resultDescriptor": { - "$ref": "#/components/schemas/RasterResultDescriptor" - }, - "start": { - "$ref": "#/components/schemas/TimeInstance" - }, - "step": { - "$ref": "#/components/schemas/TimeStep" - }, - "type": { - "type": "string", - "enum": [ - "GdalMetadataNetCdfCf" - ] - } - } - }, - "GdalSourceTimePlaceholder": { - "type": "object", - "required": [ - "format", - "reference" - ], - "properties": { - "format": { - "$ref": "#/components/schemas/DateTimeParseFormat" - }, - "reference": { - "$ref": "#/components/schemas/TimeReference" - } - } - }, - "GeoJson": { - "type": "object", - "required": [ - "type", - "features" - ], - "properties": { - "features": { - "type": "array", - "items": {} - }, - "type": { - "$ref": "#/components/schemas/CollectionType" - } - } - }, - "GetCapabilitiesFormat": { - "type": "string", - "enum": [ - "text/xml" - ] - }, - "GetCapabilitiesRequest": { - "type": "string", - "enum": [ - "GetCapabilities" - ] - }, - "GetCoverageFormat": { - "type": "string", - "enum": [ - "image/tiff" - ] - }, - "GetCoverageRequest": { - "type": "string", - "enum": [ - "GetCoverage" - ] - }, - "GetFeatureRequest": { - "type": "string", - "enum": [ - "GetFeature" - ] - }, - "GetLegendGraphicRequest": { - "type": "string", - "enum": [ - "GetLegendGraphic" - ] - }, - "GetMapExceptionFormat": { - "type": "string", - "enum": [ - "XML", - "JSON" - ] - }, - "GetMapFormat": { - "type": "string", - "enum": [ - "image/png" - ] - }, - "GetMapRequest": { - "type": "string", - "enum": [ - "GetMap" - ] - }, - "InfiniteOgrSourceDurationSpec": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "infinite" - ] - } - } - }, - "InternalDataId": { - "type": "object", - "required": [ - "datasetId", - "type" - ], - "properties": { - "datasetId": { - "$ref": "#/components/schemas/DatasetId" - }, - "type": { - "type": "string", - "enum": [ - "internal" - ] - } - } - }, - "Layer": { - "type": "object", - "required": [ - "id", - "name", - "description", - "workflow" - ], - "properties": { - "description": { - "type": "string" - }, - "id": { - "$ref": "#/components/schemas/ProviderLayerId" - }, - "metadata": { - "type": "object", - "description": "metadata used for loading the data", - "additionalProperties": { - "type": "string" - } - }, - "name": { - "type": "string" - }, - "properties": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Property" - }, - "description": "properties, for instance, to be rendered in the UI" - }, - "symbology": { - "allOf": [ - { - "$ref": "#/components/schemas/Symbology" - } - ], - "nullable": true - }, - "workflow": { - "$ref": "#/components/schemas/Workflow" - } - } - }, - "LayerCollection": { - "type": "object", - "required": [ - "id", - "name", - "description", - "items", - "properties" - ], - "properties": { - "description": { - "type": "string" - }, - "entryLabel": { - "type": "string", - "description": "a common label for the collection's entries, if there is any", - "nullable": true - }, - "id": { - "$ref": "#/components/schemas/ProviderLayerCollectionId" - }, - "items": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CollectionItem" - } - }, - "name": { - "type": "string" - }, - "properties": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Property" - } - } - } - }, - "LayerCollectionId": { - "type": "string" - }, - "LayerCollectionListing": { - "type": "object", - "required": [ - "id", - "name", - "description" - ], - "properties": { - "description": { - "type": "string" - }, - "id": { - "$ref": "#/components/schemas/ProviderLayerCollectionId" - }, - "name": { - "type": "string" - }, - "properties": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Property" - } - } - } - }, - "LayerCollectionListingWithType": { - "type": "object", - "required": [ - "id", - "name", - "description", - "type" - ], - "properties": { - "description": { - "type": "string" - }, - "id": { - "$ref": "#/components/schemas/ProviderLayerCollectionId" - }, - "name": { - "type": "string" - }, - "properties": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Property" - } - }, - "type": { - "type": "string", - "enum": [ - "collection" - ] - } - } - }, - "LayerCollectionResource": { - "type": "object", - "required": [ - "type", - "id" - ], - "properties": { - "id": { - "$ref": "#/components/schemas/LayerCollectionId" - }, - "type": { - "type": "string", - "enum": [ - "layerCollection" - ] - } - } - }, - "LayerCollectionResourceId": { - "type": "object", - "required": [ - "type", - "id" - ], - "properties": { - "id": { - "$ref": "#/components/schemas/LayerCollectionId" - }, - "type": { - "type": "string", - "enum": [ - "LayerCollection" - ] - } - } - }, - "LayerId": { - "type": "string" - }, - "LayerListing": { - "type": "object", - "required": [ - "id", - "name", - "description" - ], - "properties": { - "description": { - "type": "string" - }, - "id": { - "$ref": "#/components/schemas/ProviderLayerId" - }, - "name": { - "type": "string" - }, - "properties": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Property" - }, - "description": "properties, for instance, to be rendered in the UI" - } - } - }, - "LayerListingWithType": { - "type": "object", - "required": [ - "id", - "name", - "description", - "type" - ], - "properties": { - "description": { - "type": "string" - }, - "id": { - "$ref": "#/components/schemas/ProviderLayerId" - }, - "name": { - "type": "string" - }, - "properties": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Property" - }, - "description": "properties, for instance, to be rendered in the UI" - }, - "type": { - "type": "string", - "enum": [ - "layer" - ] - } - } - }, - "LayerResource": { - "type": "object", - "required": [ - "type", - "id" - ], - "properties": { - "id": { - "$ref": "#/components/schemas/LayerId" - }, - "type": { - "type": "string", - "enum": [ - "layer" - ] - } - } - }, - "LayerResourceId": { - "type": "object", - "required": [ - "type", - "id" - ], - "properties": { - "id": { - "$ref": "#/components/schemas/LayerId" - }, - "type": { - "type": "string", - "enum": [ - "Layer" - ] - } - } - }, - "LayerUpdate": { - "oneOf": [ - { - "type": "string", - "enum": [ - "none" - ] - }, - { - "type": "string", - "enum": [ - "delete" - ] - }, - { - "$ref": "#/components/schemas/ProjectLayer" - } - ] - }, - "LayerVisibility": { - "type": "object", - "required": [ - "data", - "legend" - ], - "properties": { - "data": { - "type": "boolean" - }, - "legend": { - "type": "boolean" - } - } - }, - "LineSymbology": { - "type": "object", - "required": [ - "stroke", - "autoSimplified" - ], - "properties": { - "autoSimplified": { - "type": "boolean" - }, - "stroke": { - "$ref": "#/components/schemas/StrokeParam" - }, - "text": { - "allOf": [ - { - "$ref": "#/components/schemas/TextSymbology" - } - ], - "nullable": true - } - } - }, - "LineSymbologyWithType": { - "type": "object", - "required": [ - "stroke", - "autoSimplified", - "type" - ], - "properties": { - "autoSimplified": { - "type": "boolean" - }, - "stroke": { - "$ref": "#/components/schemas/StrokeParam" - }, - "text": { - "allOf": [ - { - "$ref": "#/components/schemas/TextSymbology" - } - ], - "nullable": true - }, - "type": { - "type": "string", - "enum": [ - "line" - ] - } - } - }, - "LinearGradient": { - "type": "object", - "required": [ - "breakpoints", - "noDataColor", - "overColor", - "underColor" - ], - "properties": { - "breakpoints": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Breakpoint" - } - }, - "noDataColor": { - "$ref": "#/components/schemas/RgbaColor" - }, - "overColor": { - "$ref": "#/components/schemas/RgbaColor" - }, - "underColor": { - "$ref": "#/components/schemas/RgbaColor" - } - } - }, - "LinearGradientWithType": { - "type": "object", - "required": [ - "breakpoints", - "noDataColor", - "overColor", - "underColor", - "type" - ], - "properties": { - "breakpoints": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Breakpoint" - } - }, - "noDataColor": { - "$ref": "#/components/schemas/RgbaColor" - }, - "overColor": { - "$ref": "#/components/schemas/RgbaColor" - }, - "type": { - "type": "string", - "enum": [ - "linearGradient" - ] - }, - "underColor": { - "$ref": "#/components/schemas/RgbaColor" - } - } - }, - "LogarithmicGradient": { - "type": "object", - "required": [ - "breakpoints", - "noDataColor", - "overColor", - "underColor" - ], - "properties": { - "breakpoints": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Breakpoint" - } - }, - "noDataColor": { - "$ref": "#/components/schemas/RgbaColor" - }, - "overColor": { - "$ref": "#/components/schemas/RgbaColor" - }, - "underColor": { - "$ref": "#/components/schemas/RgbaColor" - } - } - }, - "LogarithmicGradientWithType": { - "type": "object", - "required": [ - "breakpoints", - "noDataColor", - "overColor", - "underColor", - "type" - ], - "properties": { - "breakpoints": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Breakpoint" - } - }, - "noDataColor": { - "$ref": "#/components/schemas/RgbaColor" - }, - "overColor": { - "$ref": "#/components/schemas/RgbaColor" - }, - "type": { - "type": "string", - "enum": [ - "logarithmicGradient" - ] - }, - "underColor": { - "$ref": "#/components/schemas/RgbaColor" - } - } - }, - "Measurement": { - "oneOf": [ - { - "$ref": "#/components/schemas/UnitlessMeasurement" - }, - { - "$ref": "#/components/schemas/ContinuousMeasurementWithType" - }, - { - "$ref": "#/components/schemas/ClassificationMeasurementWithType" - } - ], - "discriminator": { - "propertyName": "type", - "mapping": { - "classification": "#/components/schemas/ClassificationMeasurementWithType", - "continuous": "#/components/schemas/ContinuousMeasurementWithType", - "unitless": "#/components/schemas/UnitlessMeasurement" - } - } - }, - "MetaDataDefinition": { - "oneOf": [ - { - "$ref": "#/components/schemas/MockMetaDataWithType" - }, - { - "$ref": "#/components/schemas/OgrMetaDataWithType" - }, - { - "$ref": "#/components/schemas/GdalMetaDataRegularWithType" - }, - { - "$ref": "#/components/schemas/GdalMetaDataStaticWithType" - }, - { - "$ref": "#/components/schemas/GdalMetadataNetCdfCfWithType" - }, - { - "$ref": "#/components/schemas/GdalMetaDataListWithType" - } - ], - "discriminator": { - "propertyName": "type", - "mapping": { - "GdalMetaDataList": "#/components/schemas/GdalMetaDataListWithType", - "GdalMetaDataRegular": "#/components/schemas/GdalMetaDataRegularWithType", - "GdalMetadataNetCdfCf": "#/components/schemas/GdalMetadataNetCdfCfWithType", - "GdalStatic": "#/components/schemas/GdalMetaDataStaticWithType", - "MockMetaData": "#/components/schemas/MockMetaDataWithType", - "OgrMetaData": "#/components/schemas/OgrMetaDataWithType" - } - } - }, - "MetaDataSuggestion": { - "type": "object", - "required": [ - "mainFile", - "layerName", - "metaData" - ], - "properties": { - "layerName": { - "type": "string" - }, - "mainFile": { - "type": "string" - }, - "metaData": { - "$ref": "#/components/schemas/MetaDataDefinition" - } - } - }, - "MlModelId": { - "type": "string", - "format": "uuid" - }, - "MockDatasetDataSourceLoadingInfo": { - "type": "object", - "required": [ - "points" - ], - "properties": { - "points": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Coordinate2D" - } - } - } - }, - "MockMetaData": { - "type": "object", - "required": [ - "loadingInfo", - "resultDescriptor" - ], - "properties": { - "loadingInfo": { - "$ref": "#/components/schemas/MockDatasetDataSourceLoadingInfo" - }, - "resultDescriptor": { - "$ref": "#/components/schemas/VectorResultDescriptor" - } - } - }, - "MockMetaDataWithType": { - "type": "object", - "required": [ - "loadingInfo", - "resultDescriptor", - "type" - ], - "properties": { - "loadingInfo": { - "$ref": "#/components/schemas/MockDatasetDataSourceLoadingInfo" - }, - "resultDescriptor": { - "$ref": "#/components/schemas/VectorResultDescriptor" - }, - "type": { - "type": "string", - "enum": [ - "MockMetaData" - ] - } - } - }, - "ModelIdResourceId": { - "type": "object", - "required": [ - "type", - "id" - ], - "properties": { - "id": { - "$ref": "#/components/schemas/MlModelId" - }, - "type": { - "type": "string", - "enum": [ - "ModelId" - ] - } - } - }, - "MultiLineString": { - "type": "object", - "required": [ - "coordinates" - ], - "properties": { - "coordinates": { - "type": "array", - "items": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Coordinate2D" - } - } - } - } - }, - "MultiPoint": { - "type": "object", - "required": [ - "coordinates" - ], - "properties": { - "coordinates": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Coordinate2D" - } - } - } - }, - "MultiPolygon": { - "type": "object", - "required": [ - "polygons" - ], - "properties": { - "polygons": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Coordinate2D" - } - } - } - } - } - }, - "NamedData": { - "type": "string" - }, - "NoGeometry": { - "default": null, - "nullable": true - }, - "NoneOgrSourceDatasetTimeType": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "none" - ] - } - } - }, - "NumberParam": { - "oneOf": [ - { - "$ref": "#/components/schemas/StaticNumberParam" - }, - { - "$ref": "#/components/schemas/DerivedNumberWithType" - } - ], - "discriminator": { - "propertyName": "type", - "mapping": { - "derived": "#/components/schemas/DerivedNumberWithType", - "static": "#/components/schemas/StaticNumberParam" - } - } - }, - "OgcBoundingBox": { - "type": "string" - }, - "OgrMetaData": { - "type": "object", - "required": [ - "loadingInfo", - "resultDescriptor" - ], - "properties": { - "loadingInfo": { - "$ref": "#/components/schemas/OgrSourceDataset" - }, - "resultDescriptor": { - "$ref": "#/components/schemas/VectorResultDescriptor" - } - } - }, - "OgrMetaDataWithType": { - "type": "object", - "required": [ - "loadingInfo", - "resultDescriptor", - "type" - ], - "properties": { - "loadingInfo": { - "$ref": "#/components/schemas/OgrSourceDataset" - }, - "resultDescriptor": { - "$ref": "#/components/schemas/VectorResultDescriptor" - }, - "type": { - "type": "string", - "enum": [ - "OgrMetaData" - ] - } - } - }, - "OgrSourceColumnSpec": { - "type": "object", - "required": [ - "x" - ], - "properties": { - "bool": { - "type": "array", - "items": { - "type": "string" - } - }, - "datetime": { - "type": "array", - "items": { - "type": "string" - } - }, - "float": { - "type": "array", - "items": { - "type": "string" - } - }, - "formatSpecifics": { - "allOf": [ - { - "$ref": "#/components/schemas/FormatSpecifics" - } - ], - "nullable": true - }, - "int": { - "type": "array", - "items": { - "type": "string" - } - }, - "rename": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "nullable": true - }, - "text": { - "type": "array", - "items": { - "type": "string" - } - }, - "x": { - "type": "string" - }, - "y": { - "type": "string", - "nullable": true - } - } - }, - "OgrSourceDataset": { - "type": "object", - "required": [ - "fileName", - "layerName", - "onError" - ], - "properties": { - "attributeQuery": { - "type": "string", - "nullable": true - }, - "cacheTtl": { - "$ref": "#/components/schemas/CacheTtlSeconds" - }, - "columns": { - "allOf": [ - { - "$ref": "#/components/schemas/OgrSourceColumnSpec" - } - ], - "nullable": true - }, - "dataType": { - "allOf": [ - { - "$ref": "#/components/schemas/VectorDataType" - } - ], - "nullable": true - }, - "defaultGeometry": { - "allOf": [ - { - "$ref": "#/components/schemas/TypedGeometry" - } - ], - "nullable": true - }, - "fileName": { - "type": "string" - }, - "forceOgrSpatialFilter": { - "type": "boolean" - }, - "forceOgrTimeFilter": { - "type": "boolean" - }, - "layerName": { - "type": "string" - }, - "onError": { - "$ref": "#/components/schemas/OgrSourceErrorSpec" - }, - "sqlQuery": { - "type": "string", - "nullable": true - }, - "time": { - "$ref": "#/components/schemas/OgrSourceDatasetTimeType" - } - } - }, - "OgrSourceDatasetTimeType": { - "oneOf": [ - { - "$ref": "#/components/schemas/NoneOgrSourceDatasetTimeType" - }, - { - "$ref": "#/components/schemas/StartOgrSourceDatasetTimeType" - }, - { - "$ref": "#/components/schemas/StartEndOgrSourceDatasetTimeType" - }, - { - "$ref": "#/components/schemas/StartDurationOgrSourceDatasetTimeType" - } - ], - "discriminator": { - "propertyName": "type", - "mapping": { - "none": "#/components/schemas/NoneOgrSourceDatasetTimeType", - "start": "#/components/schemas/StartOgrSourceDatasetTimeType", - "startDuration": "#/components/schemas/StartDurationOgrSourceDatasetTimeType", - "startEnd": "#/components/schemas/StartEndOgrSourceDatasetTimeType" - } - } - }, - "OgrSourceDurationSpec": { - "oneOf": [ - { - "$ref": "#/components/schemas/InfiniteOgrSourceDurationSpec" - }, - { - "$ref": "#/components/schemas/ZeroOgrSourceDurationSpec" - }, - { - "$ref": "#/components/schemas/TimeStepWithType" - } - ], - "discriminator": { - "propertyName": "type", - "mapping": { - "infinite": "#/components/schemas/InfiniteOgrSourceDurationSpec", - "value": "#/components/schemas/TimeStepWithType", - "zero": "#/components/schemas/ZeroOgrSourceDurationSpec" - } - } - }, - "OgrSourceErrorSpec": { - "type": "string", - "enum": [ - "ignore", - "abort" - ] - }, - "OgrSourceTimeFormat": { - "oneOf": [ - { - "$ref": "#/components/schemas/CustomOgrSourceTimeFormat" - }, - { - "$ref": "#/components/schemas/UnixTimeStampOgrSourceTimeFormat" - }, - { - "$ref": "#/components/schemas/AutoOgrSourceTimeFormat" - } - ], - "discriminator": { - "propertyName": "format", - "mapping": { - "auto": "#/components/schemas/AutoOgrSourceTimeFormat", - "custom": "#/components/schemas/CustomOgrSourceTimeFormat", - "unixTimeStamp": "#/components/schemas/UnixTimeStampOgrSourceTimeFormat" - } - } - }, - "OrderBy": { - "type": "string", - "enum": [ - "NameAsc", - "NameDesc" - ] - }, - "Palette": { - "type": "object", - "description": "A map from value to color\n\nIt is assumed that is has at least one and at most 256 entries.", - "additionalProperties": { - "$ref": "#/components/schemas/RgbaColor" - } - }, - "PaletteColorizer": { - "type": "object", - "required": [ - "colors", - "noDataColor", - "defaultColor", - "type" - ], - "properties": { - "colors": { - "$ref": "#/components/schemas/Palette" - }, - "defaultColor": { - "$ref": "#/components/schemas/RgbaColor" - }, - "noDataColor": { - "$ref": "#/components/schemas/RgbaColor" - }, - "type": { - "type": "string", - "enum": [ - "palette" - ] - } - } - }, - "Permission": { - "type": "string", - "enum": [ - "Read", - "Owner" - ] - }, - "PermissionRequest": { - "type": "object", - "description": "Request for adding a new permission to the given role on the given resource", - "required": [ - "resource", - "roleId", - "permission" - ], - "properties": { - "permission": { - "$ref": "#/components/schemas/Permission" - }, - "resource": { - "$ref": "#/components/schemas/Resource" - }, - "roleId": { - "$ref": "#/components/schemas/RoleId" - } - } - }, - "Plot": { - "type": "object", - "required": [ - "workflow", - "name" - ], - "properties": { - "name": { - "type": "string" - }, - "workflow": { - "$ref": "#/components/schemas/WorkflowId" - } - } - }, - "PlotOutputFormat": { - "type": "string", - "enum": [ - "JsonPlain", - "JsonVega", - "ImagePng" - ] - }, - "PlotQueryRectangle": { - "type": "object", - "description": "A spatio-temporal rectangle with a specified resolution", - "required": [ - "spatialBounds", - "timeInterval", - "spatialResolution" - ], - "properties": { - "spatialBounds": { - "$ref": "#/components/schemas/BoundingBox2D" - }, - "spatialResolution": { - "$ref": "#/components/schemas/SpatialResolution" - }, - "timeInterval": { - "$ref": "#/components/schemas/TimeInterval" - } - } - }, - "PlotResultDescriptor": { - "type": "object", - "description": "A `ResultDescriptor` for plot queries", - "required": [ - "spatialReference" - ], - "properties": { - "bbox": { - "allOf": [ - { - "$ref": "#/components/schemas/BoundingBox2D" - } - ], - "nullable": true - }, - "spatialReference": { - "type": "string" - }, - "time": { - "allOf": [ - { - "$ref": "#/components/schemas/TimeInterval" - } - ], - "nullable": true - } - } - }, - "PlotResultDescriptorWithType": { - "type": "object", - "description": "A `ResultDescriptor` for plot queries", - "required": [ - "spatialReference", - "type" - ], - "properties": { - "bbox": { - "allOf": [ - { - "$ref": "#/components/schemas/BoundingBox2D" - } - ], - "nullable": true - }, - "spatialReference": { - "type": "string" - }, - "time": { - "allOf": [ - { - "$ref": "#/components/schemas/TimeInterval" - } - ], - "nullable": true - }, - "type": { - "type": "string", - "enum": [ - "plot" - ] - } - } - }, - "PlotUpdate": { - "oneOf": [ - { - "type": "string", - "enum": [ - "none" - ] - }, - { - "type": "string", - "enum": [ - "delete" - ] - }, - { - "$ref": "#/components/schemas/Plot" - } - ] - }, - "PointSymbology": { - "type": "object", - "required": [ - "radius", - "fillColor", - "stroke" - ], - "properties": { - "fillColor": { - "$ref": "#/components/schemas/ColorParam" - }, - "radius": { - "$ref": "#/components/schemas/NumberParam" - }, - "stroke": { - "$ref": "#/components/schemas/StrokeParam" - }, - "text": { - "allOf": [ - { - "$ref": "#/components/schemas/TextSymbology" - } - ], - "nullable": true - } - } - }, - "PointSymbologyWithType": { - "type": "object", - "required": [ - "radius", - "fillColor", - "stroke", - "type" - ], - "properties": { - "fillColor": { - "$ref": "#/components/schemas/ColorParam" - }, - "radius": { - "$ref": "#/components/schemas/NumberParam" - }, - "stroke": { - "$ref": "#/components/schemas/StrokeParam" - }, - "text": { - "allOf": [ - { - "$ref": "#/components/schemas/TextSymbology" - } - ], - "nullable": true - }, - "type": { - "type": "string", - "enum": [ - "point" - ] - } - } - }, - "PolygonSymbology": { - "type": "object", - "required": [ - "fillColor", - "stroke", - "autoSimplified" - ], - "properties": { - "autoSimplified": { - "type": "boolean" - }, - "fillColor": { - "$ref": "#/components/schemas/ColorParam" - }, - "stroke": { - "$ref": "#/components/schemas/StrokeParam" - }, - "text": { - "allOf": [ - { - "$ref": "#/components/schemas/TextSymbology" - } - ], - "nullable": true - } - } - }, - "PolygonSymbologyWithType": { - "type": "object", - "required": [ - "fillColor", - "stroke", - "autoSimplified", - "type" - ], - "properties": { - "autoSimplified": { - "type": "boolean" - }, - "fillColor": { - "$ref": "#/components/schemas/ColorParam" - }, - "stroke": { - "$ref": "#/components/schemas/StrokeParam" - }, - "text": { - "allOf": [ - { - "$ref": "#/components/schemas/TextSymbology" - } - ], - "nullable": true - }, - "type": { - "type": "string", - "enum": [ - "polygon" - ] - } - } - }, - "Project": { - "type": "object", - "required": [ - "id", - "version", - "name", - "description", - "layers", - "plots", - "bounds", - "timeStep" - ], - "properties": { - "bounds": { - "$ref": "#/components/schemas/STRectangle" - }, - "description": { - "type": "string" - }, - "id": { - "$ref": "#/components/schemas/ProjectId" - }, - "layers": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ProjectLayer" - } - }, - "name": { - "type": "string" - }, - "plots": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Plot" - } - }, - "timeStep": { - "$ref": "#/components/schemas/TimeStep" - }, - "version": { - "$ref": "#/components/schemas/ProjectVersion" - } - } - }, - "ProjectId": { - "type": "string", - "format": "uuid" - }, - "ProjectLayer": { - "type": "object", - "required": [ - "workflow", - "name", - "visibility", - "symbology" - ], - "properties": { - "name": { - "type": "string" - }, - "symbology": { - "$ref": "#/components/schemas/Symbology" - }, - "visibility": { - "$ref": "#/components/schemas/LayerVisibility" - }, - "workflow": { - "$ref": "#/components/schemas/WorkflowId" - } - } - }, - "ProjectListing": { - "type": "object", - "required": [ - "id", - "name", - "description", - "layerNames", - "plotNames", - "changed" - ], - "properties": { - "changed": { - "type": "string", - "format": "date-time" - }, - "description": { - "type": "string" - }, - "id": { - "$ref": "#/components/schemas/ProjectId" - }, - "layerNames": { - "type": "array", - "items": { - "type": "string" - } - }, - "name": { - "type": "string" - }, - "plotNames": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "ProjectResource": { - "type": "object", - "required": [ - "type", - "id" - ], - "properties": { - "id": { - "$ref": "#/components/schemas/ProjectId" - }, - "type": { - "type": "string", - "enum": [ - "project" - ] - } - } - }, - "ProjectResourceId": { - "type": "object", - "required": [ - "type", - "id" - ], - "properties": { - "id": { - "$ref": "#/components/schemas/ProjectId" - }, - "type": { - "type": "string", - "enum": [ - "Project" - ] - } - } - }, - "ProjectVersion": { - "type": "object", - "required": [ - "id", - "changed" - ], - "properties": { - "changed": { - "type": "string", - "format": "date-time" - }, - "id": { - "$ref": "#/components/schemas/ProjectVersionId" - } - } - }, - "ProjectVersionId": { - "type": "string", - "format": "uuid" - }, - "Property": { - "type": "array", - "items": { - "type": "string" - }, - "maxItems": 2, - "minItems": 2 - }, - "Provenance": { - "type": "object", - "required": [ - "citation", - "license", - "uri" - ], - "properties": { - "citation": { - "type": "string" - }, - "license": { - "type": "string" - }, - "uri": { - "type": "string" - } - } - }, - "ProvenanceEntry": { - "type": "object", - "required": [ - "provenance", - "data" - ], - "properties": { - "data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/DataId" - } - }, - "provenance": { - "$ref": "#/components/schemas/Provenance" - } - } - }, - "ProvenanceOutput": { - "type": "object", - "required": [ - "data" - ], - "properties": { - "data": { - "$ref": "#/components/schemas/DataId" - }, - "provenance": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Provenance" - }, - "nullable": true - } - } - }, - "ProviderLayerCollectionId": { - "type": "object", - "required": [ - "providerId", - "collectionId" - ], - "properties": { - "collectionId": { - "$ref": "#/components/schemas/LayerCollectionId" - }, - "providerId": { - "$ref": "#/components/schemas/DataProviderId" - } - } - }, - "ProviderLayerId": { - "type": "object", - "required": [ - "providerId", - "layerId" - ], - "properties": { - "layerId": { - "$ref": "#/components/schemas/LayerId" - }, - "providerId": { - "$ref": "#/components/schemas/DataProviderId" - } - } - }, - "Quota": { - "type": "object", - "required": [ - "available", - "used" - ], - "properties": { - "available": { - "type": "integer", - "format": "int64" - }, - "used": { - "type": "integer", - "format": "int64", - "minimum": 0 - } - } - }, - "RasterBandDescriptor": { - "type": "object", - "required": [ - "name", - "measurement" - ], - "properties": { - "measurement": { - "$ref": "#/components/schemas/Measurement" - }, - "name": { - "type": "string" - } - } - }, - "RasterBandDescriptors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/RasterBandDescriptor" - } - }, - "RasterDataType": { - "type": "string", - "enum": [ - "U8", - "U16", - "U32", - "U64", - "I8", - "I16", - "I32", - "I64", - "F32", - "F64" - ] - }, - "RasterDatasetFromWorkflow": { - "type": "object", - "description": "parameter for the dataset from workflow handler (body)", - "required": [ - "displayName", - "query" - ], - "properties": { - "asCog": { - "type": "boolean", - "default": true - }, - "description": { - "type": "string", - "nullable": true - }, - "displayName": { - "type": "string" - }, - "name": { - "allOf": [ - { - "$ref": "#/components/schemas/DatasetName" - } - ], - "nullable": true - }, - "query": { - "$ref": "#/components/schemas/RasterQueryRectangle" - } - }, - "example": { - "description": null, - "displayName": "a new dataset", - "name": "foo", - "query": { - "spatialBounds": { - "lowerRightCoordinate": { - "x": 50.0, - "y": 20.0 - }, - "upperLeftCoordinate": { - "x": -10.0, - "y": 80.0 - } - }, - "spatialResolution": { - "x": 0.1, - "y": 0.1 - }, - "timeInterval": { - "end": 1388534401000, - "start": 1388534400000 - } - } - } - }, - "RasterDatasetFromWorkflowResult": { - "type": "object", - "description": "response of the dataset from workflow handler", - "required": [ - "dataset", - "upload" - ], - "properties": { - "dataset": { - "$ref": "#/components/schemas/DatasetName" - }, - "upload": { - "$ref": "#/components/schemas/UploadId" - } - } - }, - "RasterPropertiesEntryType": { - "type": "string", - "enum": [ - "Number", - "String" - ] - }, - "RasterPropertiesKey": { - "type": "object", - "required": [ - "key" - ], - "properties": { - "domain": { - "type": "string", - "nullable": true - }, - "key": { - "type": "string" - } - } - }, - "RasterQueryRectangle": { - "type": "object", - "description": "A spatio-temporal rectangle with a specified resolution", - "required": [ - "spatialBounds", - "timeInterval", - "spatialResolution" - ], - "properties": { - "spatialBounds": { - "$ref": "#/components/schemas/SpatialPartition2D" - }, - "spatialResolution": { - "$ref": "#/components/schemas/SpatialResolution" - }, - "timeInterval": { - "$ref": "#/components/schemas/TimeInterval" - } - } - }, - "RasterResultDescriptor": { - "type": "object", - "description": "A `ResultDescriptor` for raster queries", - "required": [ - "dataType", - "spatialReference", - "bands" - ], - "properties": { - "bands": { - "$ref": "#/components/schemas/RasterBandDescriptors" - }, - "bbox": { - "allOf": [ - { - "$ref": "#/components/schemas/SpatialPartition2D" - } - ], - "nullable": true - }, - "dataType": { - "$ref": "#/components/schemas/RasterDataType" - }, - "resolution": { - "allOf": [ - { - "$ref": "#/components/schemas/SpatialResolution" - } - ], - "nullable": true - }, - "spatialReference": { - "type": "string" - }, - "time": { - "allOf": [ - { - "$ref": "#/components/schemas/TimeInterval" - } - ], - "nullable": true - } - } - }, - "RasterResultDescriptorWithType": { - "type": "object", - "description": "A `ResultDescriptor` for raster queries", - "required": [ - "dataType", - "spatialReference", - "bands", - "type" - ], - "properties": { - "bands": { - "$ref": "#/components/schemas/RasterBandDescriptors" - }, - "bbox": { - "allOf": [ - { - "$ref": "#/components/schemas/SpatialPartition2D" - } - ], - "nullable": true - }, - "dataType": { - "$ref": "#/components/schemas/RasterDataType" - }, - "resolution": { - "allOf": [ - { - "$ref": "#/components/schemas/SpatialResolution" - } - ], - "nullable": true - }, - "spatialReference": { - "type": "string" - }, - "time": { - "allOf": [ - { - "$ref": "#/components/schemas/TimeInterval" - } - ], - "nullable": true - }, - "type": { - "type": "string", - "enum": [ - "raster" - ] - } - } - }, - "RasterStreamWebsocketResultType": { - "type": "string", - "description": "The stream result type for `raster_stream_websocket`.", - "enum": [ - "arrow" - ] - }, - "RasterSymbology": { - "type": "object", - "required": [ - "opacity", - "colorizer" - ], - "properties": { - "colorizer": { - "$ref": "#/components/schemas/Colorizer" - }, - "opacity": { - "type": "number", - "format": "double" - } - } - }, - "RasterSymbologyWithType": { - "type": "object", - "required": [ - "opacity", - "colorizer", - "type" - ], - "properties": { - "colorizer": { - "$ref": "#/components/schemas/Colorizer" - }, - "opacity": { - "type": "number", - "format": "double" - }, - "type": { - "type": "string", - "enum": [ - "raster" - ] - } - } - }, - "Resource": { - "oneOf": [ - { - "$ref": "#/components/schemas/LayerResource" - }, - { - "$ref": "#/components/schemas/LayerCollectionResource" - }, - { - "$ref": "#/components/schemas/ProjectResource" - }, - { - "$ref": "#/components/schemas/DatasetResource" - } - ], - "discriminator": { - "propertyName": "type", - "mapping": { - "dataset": "#/components/schemas/DatasetResource", - "layer": "#/components/schemas/LayerResource", - "layerCollection": "#/components/schemas/LayerCollectionResource", - "project": "#/components/schemas/ProjectResource" - } - } - }, - "ResourceId": { - "oneOf": [ - { - "$ref": "#/components/schemas/LayerResourceId" - }, - { - "$ref": "#/components/schemas/LayerCollectionResourceId" - }, - { - "$ref": "#/components/schemas/ProjectResourceId" - }, - { - "$ref": "#/components/schemas/DatasetIdResourceId" - }, - { - "$ref": "#/components/schemas/ModelIdResourceId" - } - ], - "discriminator": { - "propertyName": "type", - "mapping": { - "DatasetId": "#/components/schemas/DatasetIdResourceId", - "Layer": "#/components/schemas/LayerResourceId", - "LayerCollection": "#/components/schemas/LayerCollectionResourceId", - "ModelId": "#/components/schemas/ModelIdResourceId", - "Project": "#/components/schemas/ProjectResourceId" - } - } - }, - "RgbaColor": { - "type": "array", - "items": { - "type": "integer" - }, - "maxItems": 4, - "minItems": 4 - }, - "RgbaColorizer": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "rgba" - ] - } - } - }, - "Role": { - "type": "object", - "required": [ - "id", - "name" - ], - "properties": { - "id": { - "$ref": "#/components/schemas/RoleId" - }, - "name": { - "type": "string" - } - } - }, - "RoleDescription": { - "type": "object", - "required": [ - "role", - "individual" - ], - "properties": { - "individual": { - "type": "boolean" - }, - "role": { - "$ref": "#/components/schemas/Role" - } - } - }, - "RoleId": { - "type": "string", - "format": "uuid" - }, - "RunningTaskStatus": { - "type": "object", - "required": [ - "status", - "taskType", - "pctComplete", - "estimatedTimeRemaining", - "timeStarted" - ], - "properties": { - "description": { - "type": "string" - }, - "estimatedTimeRemaining": { - "type": "string" - }, - "info": {}, - "pctComplete": { - "type": "string" - }, - "status": { - "type": "string", - "enum": [ - "running" - ] - }, - "taskType": { - "type": "string" - }, - "timeStarted": { - "type": "string" - } - } - }, - "STRectangle": { - "type": "object", - "required": [ - "spatialReference", - "boundingBox", - "timeInterval" - ], - "properties": { - "boundingBox": { - "$ref": "#/components/schemas/BoundingBox2D" - }, - "spatialReference": { - "type": "string" - }, - "timeInterval": { - "$ref": "#/components/schemas/TimeInterval" - } - } - }, - "ServerInfo": { - "type": "object", - "required": [ - "buildDate", - "commitHash", - "version", - "features" - ], - "properties": { - "buildDate": { - "type": "string" - }, - "commitHash": { - "type": "string" - }, - "features": { - "type": "string" - }, - "version": { - "type": "string" - } - } - }, - "SessionId": { - "type": "string", - "format": "uuid" - }, - "SpatialPartition2D": { - "type": "object", - "description": "A partition of space that include the upper left but excludes the lower right coordinate", - "required": [ - "upperLeftCoordinate", - "lowerRightCoordinate" - ], - "properties": { - "lowerRightCoordinate": { - "$ref": "#/components/schemas/Coordinate2D" - }, - "upperLeftCoordinate": { - "$ref": "#/components/schemas/Coordinate2D" - } - } - }, - "SpatialReferenceAuthority": { - "type": "string", - "description": "A spatial reference authority that is part of a spatial reference definition", - "enum": [ - "EPSG", - "SR-ORG", - "IAU2000", - "ESRI" - ] - }, - "SpatialReferenceSpecification": { - "type": "object", - "description": "The specification of a spatial reference, where extent and axis labels are given\nin natural order (x, y) = (east, north)", - "required": [ - "name", - "spatialReference", - "projString", - "extent" - ], - "properties": { - "axisLabels": { - "allOf": [ - { - "$ref": "#/components/schemas/AxisLabels" - } - ], - "nullable": true - }, - "axisOrder": { - "allOf": [ - { - "$ref": "#/components/schemas/AxisOrder" - } - ], - "nullable": true - }, - "extent": { - "$ref": "#/components/schemas/BoundingBox2D" - }, - "name": { - "type": "string" - }, - "projString": { - "type": "string" - }, - "spatialReference": { - "type": "string" - } - } - }, - "SpatialResolution": { - "type": "object", - "description": "The spatial resolution in SRS units", - "required": [ - "x", - "y" - ], - "properties": { - "x": { - "type": "number", - "format": "double" - }, - "y": { - "type": "number", - "format": "double" - } - } - }, - "StartDurationOgrSourceDatasetTimeType": { - "type": "object", - "required": [ - "startField", - "startFormat", - "durationField", - "type" - ], - "properties": { - "durationField": { - "type": "string" - }, - "startField": { - "type": "string" - }, - "startFormat": { - "$ref": "#/components/schemas/OgrSourceTimeFormat" - }, - "type": { - "type": "string", - "enum": [ - "startDuration" - ] - } - } - }, - "StartEndOgrSourceDatasetTimeType": { - "type": "object", - "required": [ - "startField", - "startFormat", - "endField", - "endFormat", - "type" - ], - "properties": { - "endField": { - "type": "string" - }, - "endFormat": { - "$ref": "#/components/schemas/OgrSourceTimeFormat" - }, - "startField": { - "type": "string" - }, - "startFormat": { - "$ref": "#/components/schemas/OgrSourceTimeFormat" - }, - "type": { - "type": "string", - "enum": [ - "startEnd" - ] - } - } - }, - "StartOgrSourceDatasetTimeType": { - "type": "object", - "required": [ - "startField", - "startFormat", - "duration", - "type" - ], - "properties": { - "duration": { - "$ref": "#/components/schemas/OgrSourceDurationSpec" - }, - "startField": { - "type": "string" - }, - "startFormat": { - "$ref": "#/components/schemas/OgrSourceTimeFormat" - }, - "type": { - "type": "string", - "enum": [ - "start" - ] - } - } - }, - "StaticColorParam": { - "type": "object", - "required": [ - "color", - "type" - ], - "properties": { - "color": { - "$ref": "#/components/schemas/RgbaColor" - }, - "type": { - "type": "string", - "enum": [ - "static" - ] - } - } - }, - "StaticNumberParam": { - "type": "object", - "required": [ - "value", - "type" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "static" - ] - }, - "value": { - "type": "integer", - "minimum": 0 - } - } - }, - "StrokeParam": { - "type": "object", - "required": [ - "width", - "color" - ], - "properties": { - "color": { - "$ref": "#/components/schemas/ColorParam" - }, - "width": { - "$ref": "#/components/schemas/NumberParam" - } - } - }, - "Symbology": { - "oneOf": [ - { - "$ref": "#/components/schemas/RasterSymbologyWithType" - }, - { - "$ref": "#/components/schemas/PointSymbologyWithType" - }, - { - "$ref": "#/components/schemas/LineSymbologyWithType" - }, - { - "$ref": "#/components/schemas/PolygonSymbologyWithType" - } - ], - "discriminator": { - "propertyName": "type", - "mapping": { - "line": "#/components/schemas/LineSymbologyWithType", - "point": "#/components/schemas/PointSymbologyWithType", - "polygon": "#/components/schemas/PolygonSymbologyWithType", - "raster": "#/components/schemas/RasterSymbologyWithType" - } - } - }, - "TaskAbortOptions": { - "type": "object", - "properties": { - "force": { - "type": "boolean" - } - } - }, - "TaskFilter": { - "type": "string", - "enum": [ - "running", - "aborted", - "failed", - "completed" - ] - }, - "TaskId": { - "type": "string", - "format": "uuid" - }, - "TaskListOptions": { - "type": "object", - "properties": { - "filter": { - "allOf": [ - { - "$ref": "#/components/schemas/TaskFilter" - } - ], - "nullable": true - }, - "limit": { - "type": "integer", - "format": "int32", - "minimum": 0 - }, - "offset": { - "type": "integer", - "format": "int32", - "minimum": 0 - } - } - }, - "TaskResponse": { - "type": "object", - "description": "Create a task somewhere and respond with a task id to query the task status.", - "required": [ - "taskId" - ], - "properties": { - "taskId": { - "$ref": "#/components/schemas/TaskId" - } - } - }, - "TaskStatus": { - "oneOf": [ - { - "$ref": "#/components/schemas/RunningTaskStatus" - }, - { - "$ref": "#/components/schemas/CompletedTaskStatus" - }, - { - "$ref": "#/components/schemas/AbortedTaskStatus" - }, - { - "$ref": "#/components/schemas/FailedTaskStatus" - } - ], - "discriminator": { - "propertyName": "status", - "mapping": { - "aborted": "#/components/schemas/AbortedTaskStatus", - "completed": "#/components/schemas/CompletedTaskStatus", - "failed": "#/components/schemas/FailedTaskStatus", - "running": "#/components/schemas/RunningTaskStatus" - } - } - }, - "TaskStatusWithId": { - "allOf": [ - { - "$ref": "#/components/schemas/TaskStatus" - }, - { - "type": "object", - "required": [ - "taskId" - ], - "properties": { - "taskId": { - "$ref": "#/components/schemas/TaskId" - } - } - } - ] - }, - "TextSymbology": { - "type": "object", - "required": [ - "attribute", - "fillColor", - "stroke" - ], - "properties": { - "attribute": { - "type": "string" - }, - "fillColor": { - "$ref": "#/components/schemas/ColorParam" - }, - "stroke": { - "$ref": "#/components/schemas/StrokeParam" - } - } - }, - "TimeGranularity": { - "type": "string", - "description": "A time granularity.", - "enum": [ - "millis", - "seconds", - "minutes", - "hours", - "days", - "months", - "years" - ] - }, - "TimeInstance": { - "type": "integer", - "format": "int64" - }, - "TimeInterval": { - "type": "object", - "description": "Stores time intervals in ms in close-open semantic [start, end)", - "required": [ - "start", - "end" - ], - "properties": { - "end": { - "$ref": "#/components/schemas/TimeInstance" - }, - "start": { - "$ref": "#/components/schemas/TimeInstance" - } - } - }, - "TimeReference": { - "type": "string", - "enum": [ - "start", - "end" - ] - }, - "TimeStep": { - "type": "object", - "required": [ - "granularity", - "step" - ], - "properties": { - "granularity": { - "$ref": "#/components/schemas/TimeGranularity" - }, - "step": { - "type": "integer", - "format": "int32", - "minimum": 0 - } - } - }, - "TimeStepWithType": { - "type": "object", - "required": [ - "granularity", - "step", - "type" - ], - "properties": { - "granularity": { - "$ref": "#/components/schemas/TimeGranularity" - }, - "step": { - "type": "integer", - "format": "int32", - "minimum": 0 - }, - "type": { - "type": "string", - "enum": [ - "value" - ] - } - } - }, - "TypeNames": { - "type": "string" - }, - "TypedGeometry": { - "oneOf": [ - { - "type": "object", - "required": [ - "Data" - ], - "properties": { - "Data": { - "$ref": "#/components/schemas/NoGeometry" - } - } - }, - { - "type": "object", - "required": [ - "MultiPoint" - ], - "properties": { - "MultiPoint": { - "$ref": "#/components/schemas/MultiPoint" - } - } - }, - { - "type": "object", - "required": [ - "MultiLineString" - ], - "properties": { - "MultiLineString": { - "$ref": "#/components/schemas/MultiLineString" - } - } - }, - { - "type": "object", - "required": [ - "MultiPolygon" - ], - "properties": { - "MultiPolygon": { - "$ref": "#/components/schemas/MultiPolygon" - } - } - } - ] - }, - "TypedOperator": { - "type": "object", - "description": "An enum to differentiate between `Operator` variants", - "required": [ - "type", - "operator" - ], - "properties": { - "operator": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "params": { - "type": "object" - }, - "sources": { - "type": "object" - }, - "type": { - "type": "string" - } - } - }, - "type": { - "type": "string", - "enum": [ - "Vector", - "Raster", - "Plot" - ] - } - }, - "example": { - "params": { - "points": [ - { - "x": 0.0, - "y": 0.1 - }, - { - "x": 1.0, - "y": 1.1 - } - ] - }, - "type": "MockPointSource" - } - }, - "TypedResultDescriptor": { - "oneOf": [ - { - "$ref": "#/components/schemas/PlotResultDescriptorWithType" - }, - { - "$ref": "#/components/schemas/RasterResultDescriptorWithType" - }, - { - "$ref": "#/components/schemas/VectorResultDescriptorWithType" - } - ], - "discriminator": { - "propertyName": "type", - "mapping": { - "plot": "#/components/schemas/PlotResultDescriptorWithType", - "raster": "#/components/schemas/RasterResultDescriptorWithType", - "vector": "#/components/schemas/VectorResultDescriptorWithType" - } - } - }, - "UnitlessMeasurement": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "unitless" - ] - } - } - }, - "UnixTimeStampOgrSourceTimeFormat": { - "type": "object", - "required": [ - "timestampType", - "format" - ], - "properties": { - "format": { - "type": "string", - "enum": [ - "unixTimeStamp" - ] - }, - "timestampType": { - "$ref": "#/components/schemas/UnixTimeStampType" - } - } - }, - "UnixTimeStampType": { - "type": "string", - "enum": [ - "epochSeconds", - "epochMilliseconds" - ] - }, - "UpdateProject": { - "type": "object", - "required": [ - "id" - ], - "properties": { - "bounds": { - "allOf": [ - { - "$ref": "#/components/schemas/STRectangle" - } - ], - "nullable": true - }, - "description": { - "type": "string", - "nullable": true - }, - "id": { - "$ref": "#/components/schemas/ProjectId" - }, - "layers": { - "type": "array", - "items": { - "$ref": "#/components/schemas/LayerUpdate" - }, - "nullable": true - }, - "name": { - "type": "string", - "nullable": true - }, - "plots": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PlotUpdate" - }, - "nullable": true - }, - "timeStep": { - "allOf": [ - { - "$ref": "#/components/schemas/TimeStep" - } - ], - "nullable": true - } - }, - "example": { - "id": "df4ad02e-0d61-4e29-90eb-dc1259c1f5b9", - "layers": [ - { - "name": "L1", - "symbology": { - "colorizer": { - "type": "rgba" - }, - "opacity": 1.0, - "type": "raster" - }, - "visibility": { - "data": true, - "legend": false - }, - "workflow": "100ee39c-761c-4218-9d85-ec861a8f3097" - } - ], - "name": "TestUpdate" - } - }, - "UpdateQuota": { - "type": "object", - "required": [ - "available" - ], - "properties": { - "available": { - "type": "integer", - "format": "int64" - } - } - }, - "UploadFileLayersResponse": { - "type": "object", - "required": [ - "layers" - ], - "properties": { - "layers": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "UploadFilesResponse": { - "type": "object", - "required": [ - "files" - ], - "properties": { - "files": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "UploadId": { - "type": "string", - "format": "uuid" - }, - "UserCredentials": { - "type": "object", - "required": [ - "email", - "password" - ], - "properties": { - "email": { - "type": "string" - }, - "password": { - "type": "string" - } - }, - "example": { - "email": "foo@example.com", - "password": "secret123" - } - }, - "UserId": { - "type": "string", - "format": "uuid" - }, - "UserInfo": { - "type": "object", - "required": [ - "id" - ], - "properties": { - "email": { - "type": "string", - "nullable": true - }, - "id": { - "$ref": "#/components/schemas/UserId" - }, - "realName": { - "type": "string", - "nullable": true - } - } - }, - "UserRegistration": { - "type": "object", - "required": [ - "email", - "password", - "realName" - ], - "properties": { - "email": { - "type": "string" - }, - "password": { - "type": "string" - }, - "realName": { - "type": "string" - } - }, - "example": { - "email": "foo@example.com", - "password": "secret123", - "realName": "Foo Bar" - } - }, - "UserSession": { - "type": "object", - "required": [ - "id", - "user", - "created", - "validUntil", - "roles" - ], - "properties": { - "created": { - "type": "string", - "format": "date-time" - }, - "id": { - "$ref": "#/components/schemas/SessionId" - }, - "project": { - "allOf": [ - { - "$ref": "#/components/schemas/ProjectId" - } - ], - "nullable": true - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/components/schemas/RoleId" - } - }, - "user": { - "$ref": "#/components/schemas/UserInfo" - }, - "validUntil": { - "type": "string", - "format": "date-time" - }, - "view": { - "allOf": [ - { - "$ref": "#/components/schemas/STRectangle" - } - ], - "nullable": true - } - } - }, - "VectorColumnInfo": { - "type": "object", - "required": [ - "dataType", - "measurement" - ], - "properties": { - "dataType": { - "$ref": "#/components/schemas/FeatureDataType" - }, - "measurement": { - "$ref": "#/components/schemas/Measurement" - } - } - }, - "VectorDataType": { - "type": "string", - "description": "An enum that contains all possible vector data types", - "enum": [ - "Data", - "MultiPoint", - "MultiLineString", - "MultiPolygon" - ] - }, - "VectorQueryRectangle": { - "type": "object", - "description": "A spatio-temporal rectangle with a specified resolution", - "required": [ - "spatialBounds", - "timeInterval", - "spatialResolution" - ], - "properties": { - "spatialBounds": { - "$ref": "#/components/schemas/BoundingBox2D" - }, - "spatialResolution": { - "$ref": "#/components/schemas/SpatialResolution" - }, - "timeInterval": { - "$ref": "#/components/schemas/TimeInterval" - } - } - }, - "VectorResultDescriptor": { - "type": "object", - "required": [ - "dataType", - "spatialReference", - "columns" - ], - "properties": { - "bbox": { - "allOf": [ - { - "$ref": "#/components/schemas/BoundingBox2D" - } - ], - "nullable": true - }, - "columns": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/VectorColumnInfo" - } - }, - "dataType": { - "$ref": "#/components/schemas/VectorDataType" - }, - "spatialReference": { - "type": "string" - }, - "time": { - "allOf": [ - { - "$ref": "#/components/schemas/TimeInterval" - } - ], - "nullable": true - } - } - }, - "VectorResultDescriptorWithType": { - "type": "object", - "required": [ - "dataType", - "spatialReference", - "columns", - "type" - ], - "properties": { - "bbox": { - "allOf": [ - { - "$ref": "#/components/schemas/BoundingBox2D" - } - ], - "nullable": true - }, - "columns": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/VectorColumnInfo" - } - }, - "dataType": { - "$ref": "#/components/schemas/VectorDataType" - }, - "spatialReference": { - "type": "string" - }, - "time": { - "allOf": [ - { - "$ref": "#/components/schemas/TimeInterval" - } - ], - "nullable": true - }, - "type": { - "type": "string", - "enum": [ - "vector" - ] - } - } - }, - "Volume": { - "type": "object", - "required": [ - "name", - "path" - ], - "properties": { - "name": { - "$ref": "#/components/schemas/VolumeName" - }, - "path": { - "type": "string" - } - } - }, - "VolumeName": { - "type": "string" - }, - "WcsBoundingbox": { - "type": "object", - "required": [ - "bbox" - ], - "properties": { - "bbox": { - "type": "array", - "items": { - "type": "number", - "format": "double" - } - }, - "spatial_reference": { - "type": "string", - "nullable": true - } - } - }, - "WcsService": { - "type": "string", - "enum": [ - "WCS" - ] - }, - "WcsVersion": { - "type": "string", - "enum": [ - "1.1.0", - "1.1.1" - ] - }, - "WfsResolution": { - "type": "string" - }, - "WfsService": { - "type": "string", - "enum": [ - "WFS" - ] - }, - "WfsVersion": { - "type": "string", - "enum": [ - "2.0.0" - ] - }, - "WmsService": { - "type": "string", - "enum": [ - "WMS" - ] - }, - "WmsVersion": { - "type": "string", - "enum": [ - "1.3.0" - ] - }, - "Workflow": { - "allOf": [ - { - "$ref": "#/components/schemas/TypedOperator" - }, - { - "type": "object" - } - ] - }, - "WorkflowId": { - "type": "string", - "format": "uuid" - }, - "WrappedPlotOutput": { - "type": "object", - "required": [ - "outputFormat", - "plotType", - "data" - ], - "properties": { - "data": { - "type": "object" - }, - "outputFormat": { - "$ref": "#/components/schemas/PlotOutputFormat" - }, - "plotType": { - "type": "string" - } - } - }, - "ZeroOgrSourceDurationSpec": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "zero" - ] - } - } - } - }, - "responses": { - "BadRequestQueryResponse": { - "description": "Bad request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "examples": { - "Missing field in query string": { - "value": { - "error": "UnableToParseQueryString", - "message": "Unable to parse query string: missing field `offset`" - } - }, - "Number in query string contains letters": { - "value": { - "error": "UnableToParseQueryString", - "message": "Unable to parse query string: invalid digit found in string" - } - } - } - } - } - }, - "DatasetNameResponse": { - "description": "Name of generated resource", - "content": { - "application/json": { - "schema": { - "type": "object", - "required": [ - "datasetName" - ], - "properties": { - "datasetName": { - "$ref": "#/components/schemas/DatasetName" - } - } - }, - "example": { - "name": "ns:name" - } - } - } - }, - "IdResponse": { - "description": "Id of generated resource", - "content": { - "application/json": { - "schema": { - "type": "object", - "required": [ - "id" - ], - "properties": { - "id": { - "type": "string", - "format": "uuid" - } - } - }, - "example": { - "id": "36574dc3-560a-4b09-9d22-d5945f2b8093" - } - } - } - }, - "PayloadTooLargeResponse": { - "description": "Payload too large", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "examples": { - "Known payload size": { - "value": { - "error": "Overflow", - "message": "JSON payload (XXX bytes) is larger than allowed (limit: 2097152 bytes)." - } - }, - "Unknown payload size": { - "value": { - "error": "Overflow", - "message": "JSON payload has exceeded limit (2097152 bytes)." - } - } - } - } - } - }, - "PngResponse": { - "description": "PNG Image", - "content": { - "image/png": { - "schema": { - "type": "string", - "format": "binary" - }, - "example": "image bytes" - } - } - }, - "UnauthorizedAdminResponse": { - "description": "Authorization failed", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "examples": { - "Auth token does not correspond to an admin": { - "value": { - "error": "Unauthorized", - "message": "Authorization error: Invalid admin token" - } - }, - "Authorization Header is missing": { - "value": { - "error": "Unauthorized", - "message": "Authorization error: Header with authorization token not provided." - } - }, - "Authorization Scheme other than Bearer is used": { - "value": { - "error": "Unauthorized", - "message": "Authorization error: Authentication scheme must be Bearer." - } - }, - "Provided auth token has an invalid format": { - "value": { - "error": "Unauthorized", - "message": "Authorization error: Identifier does not have the right format." - } - }, - "Session id is invalid": { - "value": { - "error": "Unauthorized", - "message": "Authorization error: The session id is invalid." - } - } - } - } - } - }, - "UnauthorizedUserResponse": { - "description": "Authorization failed", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "examples": { - "Authorization Header is missing": { - "value": { - "error": "Unauthorized", - "message": "Authorization error: Header with authorization token not provided." - } - }, - "Authorization Scheme other than Bearer is used": { - "value": { - "error": "Unauthorized", - "message": "Authorization error: Authentication scheme must be Bearer." - } - }, - "Provided auth token has an invalid format": { - "value": { - "error": "Unauthorized", - "message": "Authorization error: Identifier does not have the right format." - } - }, - "Session id is invalid": { - "value": { - "error": "Unauthorized", - "message": "Authorization error: The session id is invalid." - } - } - } - } - } - }, - "UnsupportedMediaTypeForJsonResponse": { - "description": "Media type of application/json is expected", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "error": "UnsupportedMediaType", - "message": "Unsupported content type header." - } - } - } - }, - "ZipResponse": { - "description": "ZIP Archive", - "content": { - "application/zip": { - "schema": { - "type": "string", - "format": "binary" - }, - "example": "zip bytes" - } - } - } - }, - "securitySchemes": { - "session_token": { - "type": "http", - "scheme": "bearer", - "bearerFormat": "UUID", - "description": "A valid session token can be obtained via the /anonymous or /login (pro only) endpoints. Alternatively, it can be defined as a fixed value in the Settings.toml file." - } - } - }, - "externalDocs": { - "url": "https://docs.geoengine.io", - "description": "Geo Engine Docs" - } -} \ No newline at end of file +{"openapi":"3.0.3","info":{"title":"Geo Engine Pro API","description":"","contact":{"name":"Geo Engine Developers","email":"dev@geoengine.de"},"license":{"name":"Apache 2.0 (pro features excluded)","url":"https://github.com/geo-engine/geoengine/blob/main/LICENSE"},"version":"0.7.0"},"servers":[{"url":"http://127.0.0.1:3030/api"}],"paths":{"/anonymous":{"post":{"tags":["Session"],"summary":"Creates session for anonymous user. The session's id serves as a Bearer token for requests.","description":"Creates session for anonymous user. The session's id serves as a Bearer token for requests.","operationId":"anonymous_handler","responses":{"200":{"description":"The created session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"created":"2021-04-26T13:47:10.579724800Z","id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","project":null,"roles":["8a27e61f-cc4d-4d0b-ae8c-4f1c91d07f5a","fd8e87bf-515c-4f36-8da6-1a53702ff102"],"user":{"email":null,"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","realName":null},"validUntil":"2021-04-26T14:47:10.579775400Z","view":null}}}}}}},"/available":{"get":{"tags":["General"],"summary":"Server availablity check.","description":"Server availablity check.","operationId":"available_handler","responses":{"204":{"description":"Server availablity check"}}}},"/dataset":{"post":{"tags":["Datasets"],"summary":"Creates a new dataset referencing files. Users can reference previously uploaded files. Admins can reference files from a volume.","description":"Creates a new dataset referencing files. Users can reference previously uploaded files. Admins can reference files from a volume.","operationId":"create_dataset_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDataset"},"examples":{"Germany Border":{"value":{"dataPath":{"upload":"420b06de-0a7e-45cb-9c1c-ea901b46ab69"},"definition":{"metaData":{"loadingInfo":{"columns":{"bool":[],"datetime":[],"float":[],"int":[],"text":[],"x":"","y":null},"dataType":"MultiPolygon","fileName":"germany_polygon.gpkg","forceOgrTimeFilter":false,"layerName":"test_germany","onError":"ignore","time":{"type":"none"}},"resultDescriptor":{"columns":{},"dataType":"MultiPolygon","spatialReference":"EPSG:4326"},"type":"OgrMetaData"},"properties":{"description":"The Outline of Germany","displayName":"Germany Border","name":"germany_border","sourceOperator":"OgrSource"}}}},"Plain Data":{"value":{"dataPath":{"upload":"f3bd61ef-d9ce-471c-89a1-46b5f7295886"},"definition":{"metaData":{"loadingInfo":{"columns":{"float":[],"int":["a"],"text":[],"x":"","y":null},"dataType":"Data","fileName":"plain_data.csv","forceOgrTimeFilter":false,"layerName":"plain_data","onError":"abort","time":{"type":"none"}},"resultDescriptor":{"columns":{"a":{"dataType":"int","measurement":{"type":"unitless"}}},"dataType":"Data","spatialReference":"EPSG:4326"},"type":"OgrMetaData"},"properties":{"description":"Demo Dataset","displayName":"Plain Data","name":"plain_data","sourceOperator":"OgrSource"}}}}}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/DatasetNameResponse"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Admin tried to create dataset from an upload":{"value":{"error":"AdminsCannotCreateDatasetFromUpload","message":"AdminsCannotCreateDatasetFromUpload"}},"Body is invalid json":{"value":{"error":"BodyDeserializeError","message":"expected `,` or `}` at line 13 column 7"}},"Failed to read body":{"value":{"error":"Payload","message":"Error that occur during reading payload: Can not decode content-encoding."}},"Filepath in metadata is invalid":{"value":{"error":"CannotResolveUploadFilePath","message":"CannotResolveUploadFilePath: PathIsNotAFile"}},"Normal user tried to create dataset from a volume":{"value":{"error":"OnlyAdminsCanCreateDatasetFromVolume","message":"OnlyAdminsCanCreateDatasetFromVolume"}},"Referenced an unknown upload":{"value":{"error":"UploadNotFound","message":"UploadNotFound: UnknownUploadId"}},"Referenced an unknown volume":{"value":{"error":"UnknownVolume","message":"UnknownVolume"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"},"413":{"$ref":"#/components/responses/PayloadTooLargeResponse"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeForJsonResponse"},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Cannot access config":{"value":{"error":"CannotAccessConfig","message":"CannotAccessConfig: ConfigLockFailed"}},"Failed to access database":{"value":{"error":"DatabaseAccessError","message":"DatabaseAccessError: connection closed"}}}}}}},"security":[{"session_token":[]}]}},"/dataset/auto":{"post":{"tags":["Datasets"],"summary":"Creates a new dataset using previously uploaded files.","description":"Creates a new dataset using previously uploaded files.\nThe format of the files will be automatically detected when possible.","operationId":"auto_create_dataset_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoCreateDataset"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/DatasetNameResponse"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Body is invalid json":{"value":{"error":"BodyDeserializeError","message":"expected `,` or `}` at line 13 column 7"}},"Dataset has no auto-importable layer":{"value":{"error":"DatasetHasNoAutoImportableLayer","message":"DatasetHasNoAutoImportableLayer"}},"Dataset name is empty":{"value":{"error":"InvalidDatasetName","message":"InvalidDatasetName"}},"Failed to read body":{"value":{"error":"Payload","message":"Error that occur during reading payload: Can not decode content-encoding."}},"File does not exist":{"value":{"error":"Operator","message":"Operator: GdalError: GDAL method 'GDALOpenEx' returned a NULL pointer. Error msg: 'upload/0bdd1062-7796-4d44-a655-e548144281a6/asdf: No such file or directory'"}},"Referenced an unknown upload":{"value":{"error":"UnknownUploadId","message":"UnknownUploadId"}},"Upload filename is invalid":{"value":{"error":"InvalidUploadFileName","message":"InvalidUploadFileName"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"},"413":{"$ref":"#/components/responses/PayloadTooLargeResponse"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeForJsonResponse"}},"security":[{"session_token":[]}]}},"/dataset/suggest":{"get":{"tags":["Datasets"],"summary":"Inspects an upload and suggests metadata that can be used when creating a new dataset based on it.","description":"Inspects an upload and suggests metadata that can be used when creating a new dataset based on it.\nTries to automatically detect the main file and layer name if not specified.","operationId":"suggest_meta_data_handler","parameters":[{"name":"upload","in":"query","required":true,"schema":{"$ref":"#/components/schemas/UploadId"},"example":"420b06de-0a7e-45cb-9c1c-ea901b46ab69"},{"name":"mainFile","in":"query","required":false,"schema":{"type":"string","nullable":true},"example":"germany_polygon.gpkg"},{"name":"layerName","in":"query","required":false,"schema":{"type":"string","nullable":true},"example":"test_polygon"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaDataSuggestion"},"example":{"mainFile":"germany_polygon.gpkg","metaData":{"loadingInfo":{"attributeQuery":null,"columns":{"bool":[],"datetime":[],"float":[],"formatSpecifics":null,"int":[],"rename":null,"text":[],"x":"","y":null},"dataType":"MultiPolygon","defaultGeometry":null,"fileName":"upload/23c9ea9e-15d6-453b-a243-1390967a5669/germany_polygon.gpkg","forceOgrSpatialFilter":false,"forceOgrTimeFilter":false,"layerName":"test_germany","onError":"ignore","sqlQuery":null,"time":{"type":"none"}},"resultDescriptor":{"bbox":null,"columns":{},"dataType":"MultiPolygon","spatialReference":"EPSG:4326","time":null},"type":"OgrMetaData"}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Dataset has no auto-importable layer":{"value":{"error":"DatasetHasNoAutoImportableLayer","message":"DatasetHasNoAutoImportableLayer"}},"File does not exist":{"value":{"error":"Operator","message":"Operator: GdalError: GDAL method 'GDALOpenEx' returned a NULL pointer. Error msg: 'upload/0bdd1062-7796-4d44-a655-e548144281a6/asdf: No such file or directory'"}},"Missing field in query string":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: missing field `offset`"}},"No suitable mainfile found":{"value":{"error":"NoMainFileCandidateFound","message":"NoMainFileCandidateFound"}},"Number in query string contains letters":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: invalid digit found in string"}},"Referenced an unknown upload":{"value":{"error":"UnknownUploadId","message":"UnknownUploadId"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/volumes":{"get":{"tags":["Datasets"],"summary":"Lists available volumes.","description":"Lists available volumes.","operationId":"list_volumes_handler","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Volume"}},"example":[{"id":"f6aa9f3d-a211-43e8-9b91-b23ab9632791","path":"./test_data/"}]}}},"401":{"$ref":"#/components/responses/UnauthorizedAdminResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}":{"get":{"tags":["Datasets"],"summary":"Retrieves details about a dataset using the internal name.","description":"Retrieves details about a dataset using the internal name.","operationId":"get_dataset_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dataset"},"example":{"description":"Boundaries of Germany","id":{"internal":"9c874b9e-cea0-4553-b727-a13cb26ae4bb"},"name":"Germany","resultDescriptor":{"vector":{"columns":{},"dataType":"MultiPolygon","spatialReference":"EPSG:4326"}},"sourceOperator":"OgrSource"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Referenced an unknown dataset":{"value":{"error":"CannotLoadDataset","message":"CannotLoadDataset: UnknownDatasetName"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]},"delete":{"tags":["Datasets"],"summary":"Delete a dataset","description":"Delete a dataset","operationId":"delete_dataset_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset id","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Given dataset can only be deleted by owner":{"value":{"error":"OperationRequiresOwnerPermission","message":"OperationRequiresOwnerPermission"}},"Referenced an unknown dataset":{"value":{"error":"UnknownDatasetName","message":"UnknownDatasetName"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/datasetFromWorkflow/{id}":{"post":{"tags":["Workflows"],"summary":"Create a task for creating a new dataset from the result of the workflow given by its `id` and the dataset parameters in the request body.","description":"Create a task for creating a new dataset from the result of the workflow given by its `id` and the dataset parameters in the request body.\nReturns the id of the created task","operationId":"dataset_from_workflow_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RasterDatasetFromWorkflow"}}},"required":true},"responses":{"200":{"description":"Id of created task","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskResponse"},"example":{"taskId":"7f8a4cfe-76ab-4972-b347-b197e5ef0f3c"}}}}},"security":[{"session_token":[]}]}},"/datasets":{"get":{"tags":["Datasets"],"summary":"Lists available datasets.","description":"Lists available datasets.","operationId":"list_datasets_handler","parameters":[{"name":"filter","in":"query","required":false,"schema":{"type":"string","nullable":true},"example":"Germany"},{"name":"order","in":"query","required":true,"schema":{"$ref":"#/components/schemas/OrderBy"},"example":"NameAsc"},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":2}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DatasetListing"}},"example":[{"description":"Boundaries of Germany","id":{"internal":"9c874b9e-cea0-4553-b727-a13cb26ae4bb"},"name":"Germany","resultDescriptor":{"vector":{"columns":{},"dataType":"MultiPolygon","spatialReference":"EPSG:4326"}},"sourceOperator":"OgrSource","tags":[]}]}}},"400":{"$ref":"#/components/responses/BadRequestQueryResponse"},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/info":{"get":{"tags":["General"],"summary":"Shows information about the server software version.","description":"Shows information about the server software version.","operationId":"server_info_handler","responses":{"200":{"description":"Server software information","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerInfo"},"example":{"buildDate":"2022-09-29","commitHash":"555dc6d84d3682c37490a145d53c5097d0b81b27","features":"default","version":"0.7.0"}}}}}}},"/layerDb/collections/{collection}":{"delete":{"tags":["Layers"],"summary":"Remove a collection","description":"Remove a collection","operationId":"remove_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{collection}/collections":{"post":{"tags":["Layers"],"summary":"Add a new collection to an existing collection","description":"Add a new collection to an existing collection","operationId":"add_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddLayerCollection"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{collection}/layers":{"post":{"tags":["Layers"],"summary":"Add a new layer to a collection","description":"Add a new layer to a collection","operationId":"add_layer","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddLayer"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{collection}/layers/{layer}":{"post":{"tags":["Layers"],"summary":"Add an existing layer to a collection","description":"Add an existing layer to a collection","operationId":"add_existing_layer_to_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Remove a layer from a collection","description":"Remove a layer from a collection","operationId":"remove_layer_from_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{parent}/collections/{collection}":{"post":{"tags":["Layers"],"summary":"Add an existing collection to a collection","description":"Add an existing collection to a collection","operationId":"add_existing_collection_to_collection","parameters":[{"name":"parent","in":"path","description":"Parent layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Delete a collection from a collection","description":"Delete a collection from a collection","operationId":"remove_collection_from_collection","parameters":[{"name":"parent","in":"path","description":"Parent layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layers/collections":{"get":{"tags":["Layers"],"summary":"List all layer collections","description":"List all layer collections","operationId":"list_root_collections_handler","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":20}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LayerCollection"},"example":{"description":"All available Geo Engine layer providers","entryLabel":null,"id":{"collectionId":"f2424474-ef24-4c18-ab84-68592e12ce48","providerId":"1c3b8042-300b-485c-95b5-0147d9dc068d"},"items":[{"description":"Basic Layers for all Datasets","id":{"collectionId":"546073b6-d535-4205-b601-99675c9f6dd7","providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b"},"name":"Datasets","type":"collection"},{"description":"All available Geo Engine layers","id":{"collectionId":"05102bb3-a855-4a37-8a8a-30026a91fef1","providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74"},"name":"Layers","type":"collection"}],"name":"Layer Providers","properties":[]}}}}},"security":[{"session_token":[]}]}},"/layers/collections/{provider}/{collection}":{"get":{"tags":["Layers"],"summary":"List the contents of the collection of the given provider","description":"List the contents of the collection of the given provider","operationId":"list_collection_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":20}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LayerCollection"},"example":{"description":"Basic Layers for all Datasets","entryLabel":null,"id":{"collectionId":"546073b6-d535-4205-b601-99675c9f6dd7","providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b"},"items":[{"description":"Land Cover derived from MODIS/Terra+Aqua Land Cover","id":{"layerId":"9ee3619e-d0f9-4ced-9c44-3d407c3aed69","providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b"},"name":"Land Cover","type":"layer"},{"description":"NDVI data from MODIS","id":{"layerId":"36574dc3-560a-4b09-9d22-d5945f2b8093","providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b"},"name":"NDVI","type":"layer"}],"name":"Datasets","properties":[]}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/{layer}":{"get":{"tags":["Layers"],"summary":"Retrieves the layer of the given provider","description":"Retrieves the layer of the given provider","operationId":"layer_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Layer"},"example":{"description":"Land Cover derived from MODIS/Terra+Aqua Land Cover","id":{"layerId":"9ee3619e-d0f9-4ced-9c44-3d407c3aed69","providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b"},"metadata":{},"name":"Land Cover","properties":[],"symbology":{"colorizer":{"colors":{"0":[134,201,227,255],"1":[30,129,62,255],"10":[223,192,125,255],"11":[66,128,189,255],"12":[225,222,127,255],"13":[253,2,0,255],"14":[162,159,66,255],"15":[255,255,255,255],"16":[192,192,192,255],"2":[59,194,212,255],"3":[157,194,63,255],"4":[159,225,127,255],"5":[125,194,127,255],"6":[195,127,126,255],"7":[188,221,190,255],"8":[224,223,133,255],"9":[226,221,7,255]},"defaultColor":[0,0,0,0],"noDataColor":[0,0,0,0],"type":"palette"},"opacity":1,"type":"raster"},"workflow":{"operator":{"params":{"data":{"datasetId":"9ee3619e-d0f9-4ced-9c44-3d407c3aed69","type":"internal"}},"type":"GdalSource"},"type":"Raster"}}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/{layer}/dataset":{"post":{"tags":["Layers"],"summary":"Persist a raster layer from a provider as a dataset.","description":"Persist a raster layer from a provider as a dataset.","operationId":"layer_to_dataset","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"Id of created task","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskResponse"},"example":{"taskId":"7f8a4cfe-76ab-4972-b347-b197e5ef0f3c"}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/{layer}/workflowId":{"post":{"tags":["Layers"],"summary":"Registers a layer from a provider as a workflow and returns the workflow id","description":"Registers a layer from a provider as a workflow and returns the workflow id","operationId":"layer_to_workflow_id_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/login":{"post":{"tags":["Session"],"summary":"Creates a session by providing user credentials. The session's id serves as a Bearer token for requests.","description":"Creates a session by providing user credentials. The session's id serves as a Bearer token for requests.","operationId":"login_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserCredentials"}}},"required":true},"responses":{"200":{"description":"The created session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"created":"2021-04-26T13:47:10.579724800Z","id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","project":null,"roles":["fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783","4e8081b6-8aa6-4275-af0c-2fa2da557d28"],"user":{"email":"foo@example.com","id":"5b4466d2-8bab-4ed8-a182-722af3c80958","realName":"Foo Bar"},"validUntil":"2021-04-26T14:47:10.579775400Z","view":null}}}}}}},"/logout":{"post":{"tags":["Session"],"summary":"Ends a session.","description":"Ends a session.","operationId":"logout_handler","responses":{"200":{"description":"The Session was deleted."}},"security":[{"session_token":[]}]}},"/permissions":{"put":{"tags":["Permissions"],"summary":"Adds a new permission.","description":"Adds a new permission.","operationId":"add_permission_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionRequest"},"example":{"permission":"Read","resource":{"id":"00000000-0000-0000-0000-000000000000","type":"layer"},"roleId":"00000000-0000-0000-0000-000000000000"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Permissions"],"summary":"Removes an existing permission.","description":"Removes an existing permission.","operationId":"remove_permission_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionRequest"},"example":{"permission":"Read","resource":{"id":"00000000-0000-0000-0000-000000000000","type":"layer"},"roleId":"00000000-0000-0000-0000-000000000000"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/plot/{id}":{"get":{"tags":["Plots"],"summary":"Generates a plot.","description":"Generates a plot.\n\n# Example\n\n1. Upload the file `plain_data.csv` with the following content:\n\n```csv\na\n1\n2\n```\n2. Create a dataset from it using the \"Plain Data\" example at `/dataset`.\n3. Create a statistics workflow using the \"Statistics Plot\" example at `/workflow`.\n4. Generate the plot with this handler.","operationId":"get_plot_handler","parameters":[{"name":"bbox","in":"query","required":true,"schema":{"type":"string"},"example":"0,-0.3,0.2,0"},{"name":"crs","in":"query","required":false,"schema":{"type":"string","nullable":true},"example":"EPSG:4326"},{"name":"time","in":"query","required":true,"schema":{"type":"string"},"example":"2020-01-01T00:00:00.0Z"},{"name":"spatialResolution","in":"query","required":true,"schema":{"type":"string"},"example":"0.1,0.1"},{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WrappedPlotOutput"},"example":{"data":{"a":{"max":2.0,"mean":1.5,"min":1.0,"stddev":0.5,"validCount":2,"valueCount":2}},"outputFormat":"JsonPlain","plotType":"Statistics"}}}}},"security":[{"session_token":[]}]}},"/project":{"post":{"tags":["Projects"],"summary":"Create a new project for the user.","description":"Create a new project for the user.","operationId":"create_project_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateProject"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/project/{project}":{"get":{"tags":["Projects"],"summary":"Retrieves details about the latest version of a project.","description":"Retrieves details about the latest version of a project.","operationId":"load_project_latest_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"Project loaded from database","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"},"example":{"bounds":{"boundingBox":{"lowerLeftCoordinate":{"x":0.0,"y":0.0},"upperRightCoordinate":{"x":1.0,"y":1.0}},"spatialReference":"EPSG:4326","timeInterval":{"end":1,"start":0}},"description":"Foo","id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","layers":[],"name":"Test","plots":[],"timeStep":{"granularity":"months","step":1},"version":{"author":"5b4466d2-8bab-4ed8-a182-722af3c80958","changed":"2021-04-26T14:05:39.677390600Z","id":"8f4b8683-f92c-4129-a16f-818aeeee484e"}}}}}},"security":[{"session_token":[]}]},"delete":{"tags":["Projects"],"summary":"Deletes a project.","description":"Deletes a project.","operationId":"delete_project_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"patch":{"tags":["Projects"],"summary":"Updates a project.","description":"Updates a project.\nThis will create a new version.","operationId":"update_project_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateProject"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/project/{project}/versions":{"get":{"tags":["Projects"],"summary":"Lists all available versions of a project.","description":"Lists all available versions of a project.","operationId":"project_versions_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectVersion"}},"example":[{"author":"5b4466d2-8bab-4ed8-a182-722af3c80958","changed":"2021-04-26T14:05:39.677390600Z","id":"8f4b8683-f92c-4129-a16f-818aeeee484e"},{"author":"5b4466d2-8bab-4ed8-a182-722af3c80958","changed":"2021-04-26T14:13:10.901912700Z","id":"ced041c7-4b1d-4d13-b076-94596be6a36a"}]}}}},"security":[{"session_token":[]}]}},"/project/{project}/{version}":{"get":{"tags":["Projects"],"summary":"Retrieves details about the given version of a project.","description":"Retrieves details about the given version of a project.","operationId":"load_project_version_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}},{"name":"version","in":"path","description":"Version id","required":true,"schema":{"$ref":"#/components/schemas/ProjectVersionId"}}],"responses":{"200":{"description":"Project loaded from database","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"},"example":{"bounds":{"boundingBox":{"lowerLeftCoordinate":{"x":0.0,"y":0.0},"upperRightCoordinate":{"x":1.0,"y":1.0}},"spatialReference":"EPSG:4326","timeInterval":{"end":1,"start":0}},"description":"Foo","id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","layers":[],"name":"Test","plots":[],"timeStep":{"granularity":"months","step":1},"version":{"author":"5b4466d2-8bab-4ed8-a182-722af3c80958","changed":"2021-04-26T14:05:39.677390600Z","id":"8f4b8683-f92c-4129-a16f-818aeeee484e"}}}}}},"security":[{"session_token":[]}]}},"/projects":{"get":{"tags":["Projects"],"summary":"List all projects accessible to the user that match the selected criteria.","description":"List all projects accessible to the user that match the selected criteria.","operationId":"list_projects_handler","parameters":[{"name":"order","in":"path","required":true,"schema":{"$ref":"#/components/schemas/OrderBy"},"example":"NameAsc"},{"name":"offset","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":2}],"responses":{"200":{"description":"List of projects the user can access","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectListing"}},"example":[{"changed":"2021-04-26T14:03:51.984537900Z","description":"Foo","id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","layerNames":[],"name":"Test","plotNames":[]}]}}}},"security":[{"session_token":[]}]}},"/quota":{"get":{"tags":["User"],"summary":"Retrieves the available and used quota of the current user.","description":"Retrieves the available and used quota of the current user.","operationId":"quota_handler","responses":{"200":{"description":"The available and used quota of the user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quota"},"example":{"available":4321,"used":1234}}}}},"security":[{"session_token":[]}]}},"/quotas/{user}":{"get":{"tags":["User"],"summary":"Retrieves the available and used quota of a specific user.","description":"Retrieves the available and used quota of a specific user.","operationId":"get_user_quota_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}}],"responses":{"200":{"description":"The available and used quota of the user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quota"},"example":{"available":4321,"used":1234}}}}},"security":[{"session_token":[]}]},"post":{"tags":["User"],"summary":"Update the available quota of a specific user.","description":"Update the available quota of a specific user.","operationId":"update_user_quota_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateQuota"}}},"required":true},"responses":{"200":{"description":"Quota was updated"}},"security":[{"session_token":[]}]}},"/roles":{"put":{"tags":["User"],"summary":"Add a new role. Requires admin privilige.","description":"Add a new role. Requires admin privilige.","operationId":"add_role_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddRole"}}},"required":true},"responses":{"200":{"description":"Role was added","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleId"},"example":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958"}}}}},"security":[{"session_token":[]}]}},"/roles/{role}":{"delete":{"tags":["User"],"summary":"Remove a role. Requires admin privilige.","description":"Remove a role. Requires admin privilige.","operationId":"remove_role_handler","parameters":[{"name":"role","in":"path","description":"Role id","required":true,"schema":{"$ref":"#/components/schemas/RoleId"}}],"responses":{"200":{"description":"Role was removed"}},"security":[{"session_token":[]}]}},"/session":{"get":{"tags":["Session"],"summary":"Retrieves details about the current session.","description":"Retrieves details about the current session.","operationId":"session_handler","responses":{"200":{"description":"The current session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"created":"2021-04-26T13:47:10.579724800Z","id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","project":null,"roles":["fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783","4e8081b6-8aa6-4275-af0c-2fa2da557d28"],"user":{"email":"foo@example.com","id":"5b4466d2-8bab-4ed8-a182-722af3c80958","realName":"Foo Bar"},"validUntil":"2021-04-26T14:47:10.579775400Z","view":null}}}}},"security":[{"session_token":[]}]}},"/spatialReferenceSpecification/{srsString}":{"get":{"tags":["Spatial References"],"operationId":"get_spatial_reference_specification_handler","parameters":[{"name":"srsString","in":"path","required":true,"schema":{"type":"string"},"example":"EPSG:4326"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpatialReferenceSpecification"},"example":{"axisLabels":["Geodetic longitude","Geodetic latitude"],"axisOrder":"northEast","extent":{"lowerLeftCoordinate":{"x":-180.0,"y":-90.0},"upperRightCoordinate":{"x":180.0,"y":90.0}},"name":"WGS 84","projString":"+proj=longlat +datum=WGS84 +no_defs +type=crs","spatialReference":"EPSG:4326"}}}}},"security":[{"session_token":[]}]}},"/tasks/list":{"get":{"tags":["Tasks"],"summary":"Retrieve the status of all tasks.","description":"Retrieve the status of all tasks.","operationId":"list_handler","parameters":[{"name":"filter","in":"path","required":true,"schema":{"allOf":[{"$ref":"#/components/schemas/TaskFilter"}],"nullable":true}},{"name":"offset","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":20}],"responses":{"200":{"description":"Status of all tasks","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TaskStatusWithId"}},"example":[{"description":"Demo","info":null,"status":"completed","taskId":"420b06de-0a7e-45cb-9c1c-ea901b46ab69","taskType":"dummy-task","timeStarted":"2023-02-16T15:25:45.390Z","timeTotal":"00:00:30"}]}}}},"security":[{"session_token":[]}]}},"/tasks/{id}":{"delete":{"tags":["Tasks"],"summary":"Abort a running task.","description":"Abort a running task.\n\n# Parameters\n\n* `force` - If true, the task will be aborted without clean-up.\nYou can abort a task that is already in the process of aborting.","operationId":"abort_handler","parameters":[{"name":"force","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"id","in":"path","description":"Task id","required":true,"schema":{"$ref":"#/components/schemas/TaskId"}}],"responses":{"202":{"description":"Task will be aborted."}},"security":[{"session_token":[]}]}},"/tasks/{id}/status":{"get":{"tags":["Tasks"],"summary":"Retrieve the status of a task.","description":"Retrieve the status of a task.","operationId":"status_handler","parameters":[{"name":"id","in":"path","description":"Task id","required":true,"schema":{"$ref":"#/components/schemas/TaskId"}}],"responses":{"200":{"description":"Status of the task (running)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskStatus"},"example":{"description":"Demo","estimatedTimeRemaining":"? (± ?)","info":null,"pctComplete":"0.00%","status":"running","taskType":"dummy-task","timeStarted":"2023-02-16T15:25:45.390Z"}}}}},"security":[{"session_token":[]}]}},"/upload":{"post":{"tags":["Uploads"],"summary":"Uploads files.","description":"Uploads files.","operationId":"upload_handler","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","required":["files[]"],"properties":{"files[]":{"type":"array","items":{"type":"string","format":"binary"}}}}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/uploads/{upload_id}/files":{"get":{"tags":["Uploads"],"summary":"List the files of on upload.","description":"List the files of on upload.","operationId":"list_upload_files_handler","parameters":[{"name":"upload_id","in":"path","description":"Upload id","required":true,"schema":{"$ref":"#/components/schemas/UploadId"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadFilesResponse"},"example":{"files":["file1","file2"]}}}}},"security":[{"session_token":[]}]}},"/uploads/{upload_id}/files/{file_name}/layers":{"get":{"tags":["Uploads"],"summary":"List the layers of on uploaded file.","description":"List the layers of on uploaded file.","operationId":"list_upload_file_layers_handler","parameters":[{"name":"upload_id","in":"path","description":"Upload id","required":true,"schema":{"$ref":"#/components/schemas/UploadId"}},{"name":"file_name","in":"path","description":"File name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadFilesResponse"},"example":{"layers":["layer1","layer2"]}}}}},"security":[{"session_token":[]}]}},"/user":{"post":{"tags":["Session"],"summary":"Registers a user.","description":"Registers a user.","operationId":"register_user_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRegistration"}}},"required":true},"responses":{"200":{"description":"The id of the created user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserId"},"example":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958"}}}}}}},"/user/roles/descriptions":{"get":{"tags":["User"],"summary":"Query roles for the current user.","description":"Query roles for the current user.","operationId":"get_role_descriptions","responses":{"200":{"description":"The description for roles of the current user","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RoleDescription"}},"example":[{"individual":true,"role":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","name":"foo@example.com"}},{"individual":false,"role":{"id":"fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783","name":"Example role"}}]}}}},"security":[{"session_token":[]}]}},"/users/{user}/roles/{role}":{"post":{"tags":["User"],"summary":"Assign a role to a user. Requires admin privilige.","description":"Assign a role to a user. Requires admin privilige.","operationId":"assign_role_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}},{"name":"role","in":"path","description":"Role id","required":true,"schema":{"$ref":"#/components/schemas/RoleId"}}],"responses":{"200":{"description":"Role was assigned"}},"security":[{"session_token":[]}]},"delete":{"tags":["User"],"summary":"Revoke a role from a user. Requires admin privilige.","description":"Revoke a role from a user. Requires admin privilige.","operationId":"revoke_role_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}},{"name":"role","in":"path","description":"Role id","required":true,"schema":{"$ref":"#/components/schemas/RoleId"}}],"responses":{"200":{"description":"Role was revoked"}},"security":[{"session_token":[]}]}},"/wcs/{workflow}?request=DescribeCoverage":{"get":{"tags":["OGC WCS"],"summary":"Get WCS Coverage Description","description":"Get WCS Coverage Description","operationId":"wcs_describe_coverage_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"version","in":"query","required":true,"schema":{"$ref":"#/components/schemas/WcsVersion"}},{"name":"service","in":"query","required":true,"schema":{"$ref":"#/components/schemas/WcsService"}},{"name":"request","in":"query","required":true,"schema":{"$ref":"#/components/schemas/DescribeCoverageRequest"}},{"name":"identifiers","in":"query","required":true,"schema":{"type":"string"},"example":""}],"responses":{"200":{"description":"OK","content":{"text/xml":{"schema":{"type":"string"}}}}},"security":[{"session_token":[]}]}},"/wcs/{workflow}?request=GetCapabilities":{"get":{"tags":["OGC WCS"],"summary":"Get WCS Capabilities","description":"Get WCS Capabilities","operationId":"wcs_capabilities_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"version","in":"query","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/WcsVersion"}],"nullable":true}},{"name":"service","in":"query","required":true,"schema":{"$ref":"#/components/schemas/WcsService"}},{"name":"request","in":"query","required":true,"schema":{"$ref":"#/components/schemas/GetCapabilitiesRequest"}}],"responses":{"200":{"description":"OK","content":{"text/xml":{"schema":{"type":"string"}}}}},"security":[{"session_token":[]}]}},"/wcs/{workflow}?request=GetCoverage":{"get":{"tags":["OGC WCS"],"summary":"Get WCS Coverage","description":"Get WCS Coverage","operationId":"wcs_get_coverage_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"version","in":"query","required":true,"schema":{"$ref":"#/components/schemas/WcsVersion"}},{"name":"service","in":"query","required":true,"schema":{"$ref":"#/components/schemas/WcsService"}},{"name":"request","in":"query","required":true,"schema":{"$ref":"#/components/schemas/GetCoverageRequest"}},{"name":"format","in":"query","required":true,"schema":{"$ref":"#/components/schemas/GetCoverageFormat"}},{"name":"identifier","in":"query","required":true,"schema":{"type":"string"},"example":""},{"name":"boundingbox","in":"query","required":true,"schema":{"type":"string"},"example":"-90,-180,90,180,urn:ogc:def:crs:EPSG::4326"},{"name":"gridbasecrs","in":"query","required":true,"schema":{"type":"string"},"example":"urn:ogc:def:crs:EPSG::4326"},{"name":"gridorigin","in":"query","required":false,"schema":{"type":"string"},"example":"90,-180"},{"name":"gridoffsets","in":"query","required":false,"schema":{"type":"string"},"example":"-0.1,0.1"},{"name":"time","in":"query","required":false,"schema":{"type":"string"}},{"name":"resx","in":"query","required":false,"schema":{"type":"number","format":"double","nullable":true}},{"name":"resy","in":"query","required":false,"schema":{"type":"number","format":"double","nullable":true}},{"name":"nodatavalue","in":"query","required":false,"schema":{"type":"number","format":"double","nullable":true}}],"responses":{"200":{"$ref":"#/components/responses/PngResponse"}},"security":[{"session_token":[]}]}},"/wfs/{workflow}?request=GetCapabilities":{"get":{"tags":["OGC WFS"],"summary":"Get WFS Capabilities","description":"Get WFS Capabilities","operationId":"wfs_capabilities_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"version","in":"query","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/WfsVersion"}],"nullable":true}},{"name":"service","in":"query","required":true,"schema":{"$ref":"#/components/schemas/WfsService"}},{"name":"request","in":"query","required":true,"schema":{"$ref":"#/components/schemas/GetCapabilitiesRequest"}}],"responses":{"200":{"description":"OK","content":{"text/xml":{"schema":{"type":"string"}}}}},"security":[{"session_token":[]}]}},"/wfs/{workflow}?request=GetFeature":{"get":{"tags":["OGC WFS"],"summary":"Get WCS Features","description":"Get WCS Features","operationId":"wfs_feature_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"version","in":"query","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/WfsVersion"}],"nullable":true}},{"name":"service","in":"query","required":true,"schema":{"$ref":"#/components/schemas/WfsService"}},{"name":"request","in":"query","required":true,"schema":{"$ref":"#/components/schemas/GetFeatureRequest"}},{"name":"typeNames","in":"query","required":true,"schema":{"$ref":"#/components/schemas/TypeNames"},"example":""},{"name":"bbox","in":"query","required":true,"schema":{"$ref":"#/components/schemas/OgcBoundingBox"},"example":"-90,-180,90,180"},{"name":"time","in":"query","required":false,"schema":{"type":"string"},"example":"2014-04-01T12:00:00.000Z"},{"name":"srsName","in":"query","required":false,"schema":{"type":"string","nullable":true},"example":"EPSG:4326"},{"name":"namespaces","in":"query","required":false,"schema":{"type":"string","nullable":true}},{"name":"count","in":"query","required":false,"schema":{"type":"integer","format":"int64","nullable":true,"minimum":0}},{"name":"sortBy","in":"query","required":false,"schema":{"type":"string","nullable":true}},{"name":"resultType","in":"query","required":false,"schema":{"type":"string","nullable":true}},{"name":"filter","in":"query","required":false,"schema":{"type":"string","nullable":true}},{"name":"propertyName","in":"query","required":false,"schema":{"type":"string","nullable":true}},{"name":"queryResolution","in":"query","description":"Vendor parameter for specifying a spatial query resolution","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/WfsResolution"}],"nullable":true}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeoJson"},"example":{"features":[{"geometry":{"coordinates":[0.0,0.1],"type":"Point"},"properties":{"foo":0},"type":"Feature","when":{"end":"1970-01-01T00:00:00.001+00:00","start":"1970-01-01T00:00:00+00:00","type":"Interval"}},{"geometry":{"coordinates":[1.0,1.1],"type":"Point"},"properties":{"foo":null},"type":"Feature","when":{"end":"1970-01-01T00:00:00.001+00:00","start":"1970-01-01T00:00:00+00:00","type":"Interval"}},{"geometry":{"coordinates":[2.0,3.1],"type":"Point"},"properties":{"foo":2},"type":"Feature","when":{"end":"1970-01-01T00:00:00.001+00:00","start":"1970-01-01T00:00:00+00:00","type":"Interval"}},{"geometry":{"coordinates":[3.0,3.1],"type":"Point"},"properties":{"foo":3},"type":"Feature","when":{"end":"1970-01-01T00:00:00.001+00:00","start":"1970-01-01T00:00:00+00:00","type":"Interval"}},{"geometry":{"coordinates":[4.0,4.1],"type":"Point"},"properties":{"foo":4},"type":"Feature","when":{"end":"1970-01-01T00:00:00.001+00:00","start":"1970-01-01T00:00:00+00:00","type":"Interval"}}],"type":"FeatureCollection"}}}}},"security":[{"session_token":[]}]}},"/wms/{workflow}?request=GetCapabilities":{"get":{"tags":["OGC WMS"],"summary":"Get WMS Capabilities","description":"Get WMS Capabilities","operationId":"wms_capabilities_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"version","in":"query","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/WmsVersion"}],"nullable":true}},{"name":"service","in":"query","required":true,"schema":{"$ref":"#/components/schemas/WmsService"}},{"name":"request","in":"query","required":true,"schema":{"$ref":"#/components/schemas/GetCapabilitiesRequest"}},{"name":"format","in":"query","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/GetCapabilitiesFormat"}],"nullable":true}}],"responses":{"200":{"description":"OK","content":{"text/xml":{"schema":{"type":"string"}}}}},"security":[{"session_token":[]}]}},"/wms/{workflow}?request=GetLegendGraphic":{"get":{"tags":["OGC WMS"],"summary":"Get WMS Legend Graphic","description":"Get WMS Legend Graphic","operationId":"wms_legend_graphic_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"version","in":"query","required":true,"schema":{"$ref":"#/components/schemas/WmsVersion"}},{"name":"service","in":"query","required":true,"schema":{"$ref":"#/components/schemas/WmsService"}},{"name":"request","in":"query","required":true,"schema":{"$ref":"#/components/schemas/GetLegendGraphicRequest"}},{"name":"layer","in":"query","required":true,"schema":{"type":"string"},"example":""}],"responses":{"501":{"description":"Not implemented"}},"security":[{"session_token":[]}]}},"/wms/{workflow}?request=GetMap":{"get":{"tags":["OGC WMS"],"summary":"Get WMS Map","description":"Get WMS Map","operationId":"wms_map_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"version","in":"query","required":true,"schema":{"$ref":"#/components/schemas/WmsVersion"}},{"name":"service","in":"query","required":true,"schema":{"$ref":"#/components/schemas/WmsService"}},{"name":"request","in":"query","required":true,"schema":{"$ref":"#/components/schemas/GetMapRequest"}},{"name":"width","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":512},{"name":"height","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":256},{"name":"bbox","in":"query","required":true,"schema":{"$ref":"#/components/schemas/OgcBoundingBox"},"example":"-90,-180,90,180"},{"name":"format","in":"query","required":true,"schema":{"$ref":"#/components/schemas/GetMapFormat"}},{"name":"layers","in":"query","required":true,"schema":{"type":"string"},"example":""},{"name":"crs","in":"query","required":false,"schema":{"type":"string","nullable":true},"example":"EPSG:4326"},{"name":"styles","in":"query","required":true,"schema":{"type":"string"},"example":"custom:{\"type\":\"linearGradient\",\"breakpoints\":[{\"value\":1,\"color\":[0,0,0,255]},{\"value\":255,\"color\":[255,255,255,255]}],\"noDataColor\":[0,0,0,0],\"defaultColor\":[0,0,0,0]}"},{"name":"time","in":"query","required":false,"schema":{"type":"string"},"example":"2014-04-01T12:00:00.000Z"},{"name":"transparent","in":"query","required":false,"schema":{"type":"boolean","nullable":true}},{"name":"bgcolor","in":"query","required":false,"schema":{"type":"string","nullable":true}},{"name":"sld","in":"query","required":false,"schema":{"type":"string","nullable":true}},{"name":"sld_body","in":"query","required":false,"schema":{"type":"string","nullable":true}},{"name":"elevation","in":"query","required":false,"schema":{"type":"string","nullable":true}},{"name":"exceptions","in":"query","required":false,"schema":{"allOf":[{"$ref":"#/components/schemas/GetMapExceptionFormat"}],"nullable":true}}],"responses":{"200":{"$ref":"#/components/responses/PngResponse"}},"security":[{"session_token":[]}]}},"/workflow":{"post":{"tags":["Workflows"],"summary":"Registers a new Workflow.","description":"Registers a new Workflow.","operationId":"register_workflow_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflow"},"examples":{"MockPointSource":{"value":{"operator":{"params":{"points":[{"x":0.0,"y":0.1},{"x":1.0,"y":1.1}]},"type":"MockPointSource"},"type":"Vector"}},"Statistics Plot":{"value":{"operator":{"params":{},"sources":{"source":{"params":{"attributeFilters":null,"attributeProjection":null,"data":"ne_10m_ports"},"type":"OgrSource"}},"type":"Statistics"},"type":"Plot"}}}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/workflow/{id}":{"get":{"tags":["Workflows"],"summary":"Retrieves an existing Workflow.","description":"Retrieves an existing Workflow.","operationId":"load_workflow_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"description":"Workflow loaded from database","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflow"},"example":{"operator":{"params":{"points":[{"x":0.0,"y":0.1},{"x":1.0,"y":1.1}]},"type":"MockPointSource"},"type":"Vector"}}}}},"security":[{"session_token":[]}]}},"/workflow/{id}/allMetadata/zip":{"get":{"tags":["Workflows"],"summary":"Gets a ZIP archive of the worklow, its provenance and the output metadata.","description":"Gets a ZIP archive of the worklow, its provenance and the output metadata.","operationId":"get_workflow_all_metadata_zip_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"$ref":"#/components/responses/ZipResponse"}},"security":[{"session_token":[]}]}},"/workflow/{id}/metadata":{"get":{"tags":["Workflows"],"summary":"Gets the metadata of a workflow","description":"Gets the metadata of a workflow","operationId":"get_workflow_metadata_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"description":"Metadata of loaded workflow","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedResultDescriptor"},"example":{"columns":{},"dataType":"MultiPoint","spatialReference":"EPSG:4326","type":"vector"}}}}},"security":[{"session_token":[]}]}},"/workflow/{id}/provenance":{"get":{"tags":["Workflows"],"summary":"Gets the provenance of all datasets used in a workflow.","description":"Gets the provenance of all datasets used in a workflow.","operationId":"get_workflow_provenance_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"description":"Provenance of used datasets","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProvenanceEntry"}},"example":[{"dataset":{"datasetId":"846a823a-6859-4b94-ab0a-c1de80f593d8","type":"internal"},"provenance":{"citation":"Author, Dataset Tile","license":"Some license","uri":"http://example.org/"}},{"dataset":{"datasetId":"453cd398-f271-437b-9c3d-7f42213ea30a","type":"internal"},"provenance":{"citation":"Another Author, Another Dataset Tile","license":"Some other license","uri":"http://example.org/"}}]}}}},"security":[{"session_token":[]}]}},"/workflow/{id}/rasterStream":{"get":{"tags":["Workflows"],"summary":"Query a workflow raster result as a stream of tiles via a websocket connection.","description":"Query a workflow raster result as a stream of tiles via a websocket connection.","operationId":"raster_stream_websocket","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"spatialBounds","in":"query","required":true,"schema":{"$ref":"#/components/schemas/SpatialPartition2D"}},{"name":"timeInterval","in":"query","required":true,"schema":{"type":"string"}},{"name":"spatialResolution","in":"query","required":true,"schema":{"$ref":"#/components/schemas/SpatialResolution"}},{"name":"resultType","in":"query","required":true,"schema":{"$ref":"#/components/schemas/RasterStreamWebsocketResultType"}}],"responses":{"101":{"description":"Upgrade to websocket connection"}},"security":[{"session_token":[]}]}}},"components":{"schemas":{"AbortedTaskStatus":{"type":"object","required":["status","cleanUp"],"properties":{"cleanUp":{},"status":{"type":"string","enum":["aborted"]}}},"AddDataset":{"type":"object","required":["displayName","description","sourceOperator"],"properties":{"description":{"type":"string"},"displayName":{"type":"string"},"name":{"allOf":[{"$ref":"#/components/schemas/DatasetName"}],"nullable":true},"provenance":{"type":"array","items":{"$ref":"#/components/schemas/Provenance"},"nullable":true},"sourceOperator":{"type":"string"},"symbology":{"allOf":[{"$ref":"#/components/schemas/Symbology"}],"nullable":true}}},"AddLayer":{"type":"object","required":["name","description","workflow"],"properties":{"description":{"type":"string","example":"Example layer description"},"metadata":{"type":"object","description":"metadata used for loading the data","additionalProperties":{"type":"string"}},"name":{"type":"string","example":"Example Layer"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"symbology":{"allOf":[{"$ref":"#/components/schemas/Symbology"}],"nullable":true},"workflow":{"$ref":"#/components/schemas/Workflow"}}},"AddLayerCollection":{"type":"object","required":["name","description"],"properties":{"description":{"type":"string","example":"A description for an example collection"},"name":{"type":"string","example":"Example Collection"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}}}},"AddRole":{"type":"object","required":["name"],"properties":{"name":{"type":"string"}}},"AutoCreateDataset":{"type":"object","required":["upload","datasetName","datasetDescription","mainFile"],"properties":{"datasetDescription":{"type":"string"},"datasetName":{"type":"string"},"layerName":{"type":"string","nullable":true},"mainFile":{"type":"string"},"upload":{"$ref":"#/components/schemas/UploadId"}},"example":{"datasetDescription":"The Outline of Germany (auto detected format)","datasetName":"Germany Border (auto)","mainFile":"germany_polygon.gpkg","upload":"420b06de-0a7e-45cb-9c1c-ea901b46ab69"}},"AutoOgrSourceTimeFormat":{"type":"object","required":["format"],"properties":{"format":{"type":"string","enum":["auto"]}}},"AxisLabels":{"type":"array","items":{"type":"string"},"maxItems":2,"minItems":2},"AxisOrder":{"type":"string","enum":["northEast","eastNorth"]},"BoundingBox2D":{"type":"object","description":"A bounding box that includes all border points.\nNote: may degenerate to a point!","required":["lowerLeftCoordinate","upperRightCoordinate"],"properties":{"lowerLeftCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"upperRightCoordinate":{"$ref":"#/components/schemas/Coordinate2D"}}},"Breakpoint":{"type":"object","properties":{"color":{"$ref":"#/components/schemas/RgbaColor"},"value":{"type":"number"}}},"CacheTtlSeconds":{"type":"integer","format":"int32","minimum":0},"ClassificationMeasurement":{"type":"object","required":["measurement","classes"],"properties":{"classes":{"type":"object","additionalProperties":{"type":"string"}},"measurement":{"type":"string"}}},"ClassificationMeasurementWithType":{"type":"object","required":["measurement","classes","type"],"properties":{"classes":{"type":"object","additionalProperties":{"type":"string"}},"measurement":{"type":"string"},"type":{"type":"string","enum":["classification"]}}},"CollectionItem":{"oneOf":[{"$ref":"#/components/schemas/LayerCollectionListingWithType"},{"$ref":"#/components/schemas/LayerListingWithType"}],"discriminator":{"propertyName":"type","mapping":{"collection":"#/components/schemas/LayerCollectionListingWithType","layer":"#/components/schemas/LayerListingWithType"}}},"CollectionType":{"type":"string","enum":["FeatureCollection"]},"ColorParam":{"oneOf":[{"$ref":"#/components/schemas/StaticColorParam"},{"$ref":"#/components/schemas/DerivedColorWithType"}],"discriminator":{"propertyName":"type","mapping":{"derived":"#/components/schemas/DerivedColorWithType","static":"#/components/schemas/StaticColorParam"}}},"Colorizer":{"oneOf":[{"$ref":"#/components/schemas/LinearGradientWithType"},{"$ref":"#/components/schemas/LogarithmicGradientWithType"},{"$ref":"#/components/schemas/PaletteColorizer"},{"$ref":"#/components/schemas/RgbaColorizer"}],"discriminator":{"propertyName":"type","mapping":{"linearGradient":"#/components/schemas/LinearGradientWithType","logarithmicGradient":"#/components/schemas/LogarithmicGradientWithType","palette":"#/components/schemas/PaletteColorizer","rgba":"#/components/schemas/RgbaColorizer"}}},"CompletedTaskStatus":{"type":"object","required":["status","taskType","timeTotal","timeStarted"],"properties":{"description":{"type":"string"},"info":{},"status":{"type":"string","enum":["completed"]},"taskType":{"type":"string"},"timeStarted":{"type":"string"},"timeTotal":{"type":"string"}}},"ContinuousMeasurement":{"type":"object","required":["measurement"],"properties":{"measurement":{"type":"string"},"unit":{"type":"string","nullable":true}}},"ContinuousMeasurementWithType":{"type":"object","required":["measurement","type"],"properties":{"measurement":{"type":"string"},"type":{"type":"string","enum":["continuous"]},"unit":{"type":"string","nullable":true}}},"Coordinate2D":{"type":"object","required":["x","y"],"properties":{"x":{"type":"number","format":"double"},"y":{"type":"number","format":"double"}}},"CreateDataset":{"type":"object","required":["dataPath","definition"],"properties":{"dataPath":{"$ref":"#/components/schemas/DataPath"},"definition":{"$ref":"#/components/schemas/DatasetDefinition"}}},"CreateProject":{"type":"object","required":["name","description","bounds"],"properties":{"bounds":{"$ref":"#/components/schemas/STRectangle"},"description":{"type":"string"},"name":{"type":"string"},"timeStep":{"allOf":[{"$ref":"#/components/schemas/TimeStep"}],"nullable":true}},"example":{"bounds":{"boundingBox":{"lowerLeftCoordinate":{"x":0,"y":0},"upperRightCoordinate":{"x":1,"y":1}},"spatialReference":"EPSG:4326","timeInterval":{"end":1,"start":0}},"description":"Foo","name":"Test","timeStep":{"granularity":"months","step":1}}},"CsvHeader":{"type":"string","enum":["yes","no","auto"]},"CustomOgrSourceTimeFormat":{"type":"object","required":["customFormat","format"],"properties":{"customFormat":{"$ref":"#/components/schemas/DateTimeParseFormat"},"format":{"type":"string","enum":["custom"]}}},"DataId":{"oneOf":[{"$ref":"#/components/schemas/InternalDataId"},{"$ref":"#/components/schemas/ExternalDataIdWithType"}],"discriminator":{"propertyName":"type","mapping":{"external":"#/components/schemas/ExternalDataIdWithType","internal":"#/components/schemas/InternalDataId"}}},"DataPath":{"oneOf":[{"type":"object","required":["volume"],"properties":{"volume":{"$ref":"#/components/schemas/VolumeName"}}},{"type":"object","required":["upload"],"properties":{"upload":{"$ref":"#/components/schemas/UploadId"}}}]},"DataProviderId":{"type":"string","format":"uuid"},"Dataset":{"type":"object","required":["id","name","displayName","description","resultDescriptor","sourceOperator"],"properties":{"description":{"type":"string"},"displayName":{"type":"string"},"id":{"$ref":"#/components/schemas/DatasetId"},"name":{"$ref":"#/components/schemas/DatasetName"},"provenance":{"type":"array","items":{"$ref":"#/components/schemas/Provenance"},"nullable":true},"resultDescriptor":{"$ref":"#/components/schemas/TypedResultDescriptor"},"sourceOperator":{"type":"string"},"symbology":{"allOf":[{"$ref":"#/components/schemas/Symbology"}],"nullable":true}}},"DatasetDefinition":{"type":"object","required":["properties","metaData"],"properties":{"metaData":{"$ref":"#/components/schemas/MetaDataDefinition"},"properties":{"$ref":"#/components/schemas/AddDataset"}}},"DatasetId":{"type":"string","format":"uuid"},"DatasetIdResourceId":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/DatasetId"},"type":{"type":"string","enum":["DatasetId"]}}},"DatasetListing":{"type":"object","required":["id","name","displayName","description","tags","sourceOperator","resultDescriptor"],"properties":{"description":{"type":"string"},"displayName":{"type":"string"},"id":{"$ref":"#/components/schemas/DatasetId"},"name":{"$ref":"#/components/schemas/DatasetName"},"resultDescriptor":{"$ref":"#/components/schemas/TypedResultDescriptor"},"sourceOperator":{"type":"string"},"symbology":{"allOf":[{"$ref":"#/components/schemas/Symbology"}],"nullable":true},"tags":{"type":"array","items":{"type":"string"}}}},"DatasetName":{"type":"string"},"DatasetResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/DatasetName"},"type":{"type":"string","enum":["dataset"]}}},"DateTime":{"type":"object","description":"An object that composes the date and a timestamp with time zone.","required":["datetime"],"properties":{"datetime":{"type":"string","format":"date-time"}}},"DateTimeParseFormat":{"type":"object","required":["fmt","has_tz","has_time"],"properties":{"fmt":{"type":"string"},"has_time":{"type":"boolean"},"has_tz":{"type":"boolean"}}},"DerivedColor":{"type":"object","required":["attribute","colorizer"],"properties":{"attribute":{"type":"string"},"colorizer":{"$ref":"#/components/schemas/Colorizer"}}},"DerivedColorWithType":{"type":"object","required":["attribute","colorizer","type"],"properties":{"attribute":{"type":"string"},"colorizer":{"$ref":"#/components/schemas/Colorizer"},"type":{"type":"string","enum":["derived"]}}},"DerivedNumber":{"type":"object","required":["attribute","factor","defaultValue"],"properties":{"attribute":{"type":"string"},"defaultValue":{"type":"number","format":"double"},"factor":{"type":"number","format":"double"}}},"DerivedNumberWithType":{"type":"object","required":["attribute","factor","defaultValue","type"],"properties":{"attribute":{"type":"string"},"defaultValue":{"type":"number","format":"double"},"factor":{"type":"number","format":"double"},"type":{"type":"string","enum":["derived"]}}},"DescribeCoverageRequest":{"type":"string","enum":["DescribeCoverage"]},"ErrorResponse":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string"},"message":{"type":"string"}}},"ExternalDataId":{"type":"object","required":["providerId","layerId"],"properties":{"layerId":{"$ref":"#/components/schemas/LayerId"},"providerId":{"$ref":"#/components/schemas/DataProviderId"}}},"ExternalDataIdWithType":{"type":"object","required":["providerId","layerId","type"],"properties":{"layerId":{"$ref":"#/components/schemas/LayerId"},"providerId":{"$ref":"#/components/schemas/DataProviderId"},"type":{"type":"string","enum":["external"]}}},"FailedTaskStatus":{"type":"object","required":["status","error","cleanUp"],"properties":{"cleanUp":{},"error":{},"status":{"type":"string","enum":["failed"]}}},"FeatureDataType":{"type":"string","enum":["category","int","float","text","bool","dateTime"]},"FileNotFoundHandling":{"type":"string","enum":["NoData","Error"]},"FormatSpecifics":{"oneOf":[{"type":"object","required":["csv"],"properties":{"csv":{"type":"object","required":["header"],"properties":{"header":{"$ref":"#/components/schemas/CsvHeader"}}}}}]},"GdalConfigOption":{"type":"array","items":{"type":"string"},"maxItems":2,"minItems":2},"GdalDatasetGeoTransform":{"type":"object","required":["originCoordinate","xPixelSize","yPixelSize"],"properties":{"originCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"xPixelSize":{"type":"number","format":"double"},"yPixelSize":{"type":"number","format":"double"}}},"GdalDatasetParameters":{"type":"object","description":"Parameters for loading data using Gdal","required":["filePath","rasterbandChannel","geoTransform","width","height","fileNotFoundHandling"],"properties":{"allowAlphabandAsMask":{"type":"boolean"},"fileNotFoundHandling":{"$ref":"#/components/schemas/FileNotFoundHandling"},"filePath":{"type":"string"},"gdalConfigOptions":{"type":"array","items":{"$ref":"#/components/schemas/GdalConfigOption"},"nullable":true},"gdalOpenOptions":{"type":"array","items":{"type":"string"},"nullable":true},"geoTransform":{"$ref":"#/components/schemas/GdalDatasetGeoTransform"},"height":{"type":"integer","minimum":0},"noDataValue":{"type":"number","format":"double","nullable":true},"propertiesMapping":{"type":"array","items":{"$ref":"#/components/schemas/GdalMetadataMapping"},"nullable":true},"rasterbandChannel":{"type":"integer","minimum":0},"width":{"type":"integer","minimum":0}}},"GdalLoadingInfoTemporalSlice":{"type":"object","description":"one temporal slice of the dataset that requires reading from exactly one Gdal dataset","required":["time"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"params":{"allOf":[{"$ref":"#/components/schemas/GdalDatasetParameters"}],"nullable":true},"time":{"$ref":"#/components/schemas/TimeInterval"}}},"GdalMetaDataList":{"type":"object","required":["resultDescriptor","params"],"properties":{"params":{"type":"array","items":{"$ref":"#/components/schemas/GdalLoadingInfoTemporalSlice"}},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"}}},"GdalMetaDataListWithType":{"type":"object","required":["resultDescriptor","params","type"],"properties":{"params":{"type":"array","items":{"$ref":"#/components/schemas/GdalLoadingInfoTemporalSlice"}},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"type":{"type":"string","enum":["GdalMetaDataList"]}}},"GdalMetaDataRegular":{"type":"object","required":["resultDescriptor","params","timePlaceholders","dataTime","step"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"dataTime":{"$ref":"#/components/schemas/TimeInterval"},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"step":{"$ref":"#/components/schemas/TimeStep"},"timePlaceholders":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/GdalSourceTimePlaceholder"}}}},"GdalMetaDataRegularWithType":{"type":"object","required":["resultDescriptor","params","timePlaceholders","dataTime","step","type"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"dataTime":{"$ref":"#/components/schemas/TimeInterval"},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"step":{"$ref":"#/components/schemas/TimeStep"},"timePlaceholders":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/GdalSourceTimePlaceholder"}},"type":{"type":"string","enum":["GdalMetaDataRegular"]}}},"GdalMetaDataStatic":{"type":"object","required":["params","resultDescriptor"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"time":{"allOf":[{"$ref":"#/components/schemas/TimeInterval"}],"nullable":true}}},"GdalMetaDataStaticWithType":{"type":"object","required":["params","resultDescriptor","type"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"time":{"allOf":[{"$ref":"#/components/schemas/TimeInterval"}],"nullable":true},"type":{"type":"string","enum":["GdalStatic"]}}},"GdalMetadataMapping":{"type":"object","required":["source_key","target_key","target_type"],"properties":{"source_key":{"$ref":"#/components/schemas/RasterPropertiesKey"},"target_key":{"$ref":"#/components/schemas/RasterPropertiesKey"},"target_type":{"$ref":"#/components/schemas/RasterPropertiesEntryType"}}},"GdalMetadataNetCdfCf":{"type":"object","description":"Meta data for 4D `NetCDF` CF datasets","required":["resultDescriptor","params","start","end","step","bandOffset"],"properties":{"bandOffset":{"type":"integer","description":"A band offset specifies the first band index to use for the first point in time.\nAll other time steps are added to this offset.","minimum":0},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"end":{"$ref":"#/components/schemas/TimeInstance"},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"start":{"$ref":"#/components/schemas/TimeInstance"},"step":{"$ref":"#/components/schemas/TimeStep"}}},"GdalMetadataNetCdfCfWithType":{"type":"object","description":"Meta data for 4D `NetCDF` CF datasets","required":["resultDescriptor","params","start","end","step","bandOffset","type"],"properties":{"bandOffset":{"type":"integer","description":"A band offset specifies the first band index to use for the first point in time.\nAll other time steps are added to this offset.","minimum":0},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"end":{"$ref":"#/components/schemas/TimeInstance"},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"start":{"$ref":"#/components/schemas/TimeInstance"},"step":{"$ref":"#/components/schemas/TimeStep"},"type":{"type":"string","enum":["GdalMetadataNetCdfCf"]}}},"GdalSourceTimePlaceholder":{"type":"object","required":["format","reference"],"properties":{"format":{"$ref":"#/components/schemas/DateTimeParseFormat"},"reference":{"$ref":"#/components/schemas/TimeReference"}}},"GeoJson":{"type":"object","required":["type","features"],"properties":{"features":{"type":"array","items":{}},"type":{"$ref":"#/components/schemas/CollectionType"}}},"GetCapabilitiesFormat":{"type":"string","enum":["text/xml"]},"GetCapabilitiesRequest":{"type":"string","enum":["GetCapabilities"]},"GetCoverageFormat":{"type":"string","enum":["image/tiff"]},"GetCoverageRequest":{"type":"string","enum":["GetCoverage"]},"GetFeatureRequest":{"type":"string","enum":["GetFeature"]},"GetLegendGraphicRequest":{"type":"string","enum":["GetLegendGraphic"]},"GetMapExceptionFormat":{"type":"string","enum":["XML","JSON"]},"GetMapFormat":{"type":"string","enum":["image/png"]},"GetMapRequest":{"type":"string","enum":["GetMap"]},"InfiniteOgrSourceDurationSpec":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["infinite"]}}},"InternalDataId":{"type":"object","required":["datasetId","type"],"properties":{"datasetId":{"$ref":"#/components/schemas/DatasetId"},"type":{"type":"string","enum":["internal"]}}},"Layer":{"type":"object","required":["id","name","description","workflow"],"properties":{"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProviderLayerId"},"metadata":{"type":"object","description":"metadata used for loading the data","additionalProperties":{"type":"string"}},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"symbology":{"allOf":[{"$ref":"#/components/schemas/Symbology"}],"nullable":true},"workflow":{"$ref":"#/components/schemas/Workflow"}}},"LayerCollection":{"type":"object","required":["id","name","description","items","properties"],"properties":{"description":{"type":"string"},"entryLabel":{"type":"string","description":"a common label for the collection's entries, if there is any","nullable":true},"id":{"$ref":"#/components/schemas/ProviderLayerCollectionId"},"items":{"type":"array","items":{"$ref":"#/components/schemas/CollectionItem"}},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}}}},"LayerCollectionId":{"type":"string"},"LayerCollectionListing":{"type":"object","required":["id","name","description"],"properties":{"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProviderLayerCollectionId"},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}}}},"LayerCollectionListingWithType":{"type":"object","required":["id","name","description","type"],"properties":{"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProviderLayerCollectionId"},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}},"type":{"type":"string","enum":["collection"]}}},"LayerCollectionResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/LayerCollectionId"},"type":{"type":"string","enum":["layerCollection"]}}},"LayerCollectionResourceId":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/LayerCollectionId"},"type":{"type":"string","enum":["LayerCollection"]}}},"LayerId":{"type":"string"},"LayerListing":{"type":"object","required":["id","name","description"],"properties":{"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProviderLayerId"},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"}}},"LayerListingWithType":{"type":"object","required":["id","name","description","type"],"properties":{"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProviderLayerId"},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"type":{"type":"string","enum":["layer"]}}},"LayerResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/LayerId"},"type":{"type":"string","enum":["layer"]}}},"LayerResourceId":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/LayerId"},"type":{"type":"string","enum":["Layer"]}}},"LayerUpdate":{"oneOf":[{"type":"string","enum":["none"]},{"type":"string","enum":["delete"]},{"$ref":"#/components/schemas/ProjectLayer"}]},"LayerVisibility":{"type":"object","required":["data","legend"],"properties":{"data":{"type":"boolean"},"legend":{"type":"boolean"}}},"LineSymbology":{"type":"object","required":["stroke","autoSimplified"],"properties":{"autoSimplified":{"type":"boolean"},"stroke":{"$ref":"#/components/schemas/StrokeParam"},"text":{"allOf":[{"$ref":"#/components/schemas/TextSymbology"}],"nullable":true}}},"LineSymbologyWithType":{"type":"object","required":["stroke","autoSimplified","type"],"properties":{"autoSimplified":{"type":"boolean"},"stroke":{"$ref":"#/components/schemas/StrokeParam"},"text":{"allOf":[{"$ref":"#/components/schemas/TextSymbology"}],"nullable":true},"type":{"type":"string","enum":["line"]}}},"LinearGradient":{"type":"object","required":["breakpoints","noDataColor","overColor","underColor"],"properties":{"breakpoints":{"type":"array","items":{"$ref":"#/components/schemas/Breakpoint"}},"noDataColor":{"$ref":"#/components/schemas/RgbaColor"},"overColor":{"$ref":"#/components/schemas/RgbaColor"},"underColor":{"$ref":"#/components/schemas/RgbaColor"}}},"LinearGradientWithType":{"type":"object","required":["breakpoints","noDataColor","overColor","underColor","type"],"properties":{"breakpoints":{"type":"array","items":{"$ref":"#/components/schemas/Breakpoint"}},"noDataColor":{"$ref":"#/components/schemas/RgbaColor"},"overColor":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["linearGradient"]},"underColor":{"$ref":"#/components/schemas/RgbaColor"}}},"LogarithmicGradient":{"type":"object","required":["breakpoints","noDataColor","overColor","underColor"],"properties":{"breakpoints":{"type":"array","items":{"$ref":"#/components/schemas/Breakpoint"}},"noDataColor":{"$ref":"#/components/schemas/RgbaColor"},"overColor":{"$ref":"#/components/schemas/RgbaColor"},"underColor":{"$ref":"#/components/schemas/RgbaColor"}}},"LogarithmicGradientWithType":{"type":"object","required":["breakpoints","noDataColor","overColor","underColor","type"],"properties":{"breakpoints":{"type":"array","items":{"$ref":"#/components/schemas/Breakpoint"}},"noDataColor":{"$ref":"#/components/schemas/RgbaColor"},"overColor":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["logarithmicGradient"]},"underColor":{"$ref":"#/components/schemas/RgbaColor"}}},"Measurement":{"oneOf":[{"$ref":"#/components/schemas/UnitlessMeasurement"},{"$ref":"#/components/schemas/ContinuousMeasurementWithType"},{"$ref":"#/components/schemas/ClassificationMeasurementWithType"}],"discriminator":{"propertyName":"type","mapping":{"classification":"#/components/schemas/ClassificationMeasurementWithType","continuous":"#/components/schemas/ContinuousMeasurementWithType","unitless":"#/components/schemas/UnitlessMeasurement"}}},"MetaDataDefinition":{"oneOf":[{"$ref":"#/components/schemas/MockMetaDataWithType"},{"$ref":"#/components/schemas/OgrMetaDataWithType"},{"$ref":"#/components/schemas/GdalMetaDataRegularWithType"},{"$ref":"#/components/schemas/GdalMetaDataStaticWithType"},{"$ref":"#/components/schemas/GdalMetadataNetCdfCfWithType"},{"$ref":"#/components/schemas/GdalMetaDataListWithType"}],"discriminator":{"propertyName":"type","mapping":{"GdalMetaDataList":"#/components/schemas/GdalMetaDataListWithType","GdalMetaDataRegular":"#/components/schemas/GdalMetaDataRegularWithType","GdalMetadataNetCdfCf":"#/components/schemas/GdalMetadataNetCdfCfWithType","GdalStatic":"#/components/schemas/GdalMetaDataStaticWithType","MockMetaData":"#/components/schemas/MockMetaDataWithType","OgrMetaData":"#/components/schemas/OgrMetaDataWithType"}}},"MetaDataSuggestion":{"type":"object","required":["mainFile","layerName","metaData"],"properties":{"layerName":{"type":"string"},"mainFile":{"type":"string"},"metaData":{"$ref":"#/components/schemas/MetaDataDefinition"}}},"MlModelId":{"type":"string","format":"uuid"},"MockDatasetDataSourceLoadingInfo":{"type":"object","required":["points"],"properties":{"points":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}},"MockMetaData":{"type":"object","required":["loadingInfo","resultDescriptor"],"properties":{"loadingInfo":{"$ref":"#/components/schemas/MockDatasetDataSourceLoadingInfo"},"resultDescriptor":{"$ref":"#/components/schemas/VectorResultDescriptor"}}},"MockMetaDataWithType":{"type":"object","required":["loadingInfo","resultDescriptor","type"],"properties":{"loadingInfo":{"$ref":"#/components/schemas/MockDatasetDataSourceLoadingInfo"},"resultDescriptor":{"$ref":"#/components/schemas/VectorResultDescriptor"},"type":{"type":"string","enum":["MockMetaData"]}}},"ModelIdResourceId":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/MlModelId"},"type":{"type":"string","enum":["ModelId"]}}},"MultiLineString":{"type":"object","required":["coordinates"],"properties":{"coordinates":{"type":"array","items":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}}},"MultiPoint":{"type":"object","required":["coordinates"],"properties":{"coordinates":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}},"MultiPolygon":{"type":"object","required":["polygons"],"properties":{"polygons":{"type":"array","items":{"type":"array","items":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}}}},"NamedData":{"type":"string"},"NoGeometry":{"default":null,"nullable":true},"NoneOgrSourceDatasetTimeType":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["none"]}}},"NumberParam":{"oneOf":[{"$ref":"#/components/schemas/StaticNumberParam"},{"$ref":"#/components/schemas/DerivedNumberWithType"}],"discriminator":{"propertyName":"type","mapping":{"derived":"#/components/schemas/DerivedNumberWithType","static":"#/components/schemas/StaticNumberParam"}}},"OgcBoundingBox":{"type":"string"},"OgrMetaData":{"type":"object","required":["loadingInfo","resultDescriptor"],"properties":{"loadingInfo":{"$ref":"#/components/schemas/OgrSourceDataset"},"resultDescriptor":{"$ref":"#/components/schemas/VectorResultDescriptor"}}},"OgrMetaDataWithType":{"type":"object","required":["loadingInfo","resultDescriptor","type"],"properties":{"loadingInfo":{"$ref":"#/components/schemas/OgrSourceDataset"},"resultDescriptor":{"$ref":"#/components/schemas/VectorResultDescriptor"},"type":{"type":"string","enum":["OgrMetaData"]}}},"OgrSourceColumnSpec":{"type":"object","required":["x"],"properties":{"bool":{"type":"array","items":{"type":"string"}},"datetime":{"type":"array","items":{"type":"string"}},"float":{"type":"array","items":{"type":"string"}},"formatSpecifics":{"allOf":[{"$ref":"#/components/schemas/FormatSpecifics"}],"nullable":true},"int":{"type":"array","items":{"type":"string"}},"rename":{"type":"object","additionalProperties":{"type":"string"},"nullable":true},"text":{"type":"array","items":{"type":"string"}},"x":{"type":"string"},"y":{"type":"string","nullable":true}}},"OgrSourceDataset":{"type":"object","required":["fileName","layerName","onError"],"properties":{"attributeQuery":{"type":"string","nullable":true},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"columns":{"allOf":[{"$ref":"#/components/schemas/OgrSourceColumnSpec"}],"nullable":true},"dataType":{"allOf":[{"$ref":"#/components/schemas/VectorDataType"}],"nullable":true},"defaultGeometry":{"allOf":[{"$ref":"#/components/schemas/TypedGeometry"}],"nullable":true},"fileName":{"type":"string"},"forceOgrSpatialFilter":{"type":"boolean"},"forceOgrTimeFilter":{"type":"boolean"},"layerName":{"type":"string"},"onError":{"$ref":"#/components/schemas/OgrSourceErrorSpec"},"sqlQuery":{"type":"string","nullable":true},"time":{"$ref":"#/components/schemas/OgrSourceDatasetTimeType"}}},"OgrSourceDatasetTimeType":{"oneOf":[{"$ref":"#/components/schemas/NoneOgrSourceDatasetTimeType"},{"$ref":"#/components/schemas/StartOgrSourceDatasetTimeType"},{"$ref":"#/components/schemas/StartEndOgrSourceDatasetTimeType"},{"$ref":"#/components/schemas/StartDurationOgrSourceDatasetTimeType"}],"discriminator":{"propertyName":"type","mapping":{"none":"#/components/schemas/NoneOgrSourceDatasetTimeType","start":"#/components/schemas/StartOgrSourceDatasetTimeType","startDuration":"#/components/schemas/StartDurationOgrSourceDatasetTimeType","startEnd":"#/components/schemas/StartEndOgrSourceDatasetTimeType"}}},"OgrSourceDurationSpec":{"oneOf":[{"$ref":"#/components/schemas/InfiniteOgrSourceDurationSpec"},{"$ref":"#/components/schemas/ZeroOgrSourceDurationSpec"},{"$ref":"#/components/schemas/TimeStepWithType"}],"discriminator":{"propertyName":"type","mapping":{"infinite":"#/components/schemas/InfiniteOgrSourceDurationSpec","value":"#/components/schemas/TimeStepWithType","zero":"#/components/schemas/ZeroOgrSourceDurationSpec"}}},"OgrSourceErrorSpec":{"type":"string","enum":["ignore","abort"]},"OgrSourceTimeFormat":{"oneOf":[{"$ref":"#/components/schemas/CustomOgrSourceTimeFormat"},{"$ref":"#/components/schemas/UnixTimeStampOgrSourceTimeFormat"},{"$ref":"#/components/schemas/AutoOgrSourceTimeFormat"}],"discriminator":{"propertyName":"format","mapping":{"auto":"#/components/schemas/AutoOgrSourceTimeFormat","custom":"#/components/schemas/CustomOgrSourceTimeFormat","unixTimeStamp":"#/components/schemas/UnixTimeStampOgrSourceTimeFormat"}}},"OrderBy":{"type":"string","enum":["NameAsc","NameDesc"]},"Palette":{"type":"object","description":"A map from value to color\n\nIt is assumed that is has at least one and at most 256 entries.","additionalProperties":{"$ref":"#/components/schemas/RgbaColor"}},"PaletteColorizer":{"type":"object","required":["colors","noDataColor","defaultColor","type"],"properties":{"colors":{"$ref":"#/components/schemas/Palette"},"defaultColor":{"$ref":"#/components/schemas/RgbaColor"},"noDataColor":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["palette"]}}},"Permission":{"type":"string","enum":["Read","Owner"]},"PermissionRequest":{"type":"object","description":"Request for adding a new permission to the given role on the given resource","required":["resource","roleId","permission"],"properties":{"permission":{"$ref":"#/components/schemas/Permission"},"resource":{"$ref":"#/components/schemas/Resource"},"roleId":{"$ref":"#/components/schemas/RoleId"}}},"Plot":{"type":"object","required":["workflow","name"],"properties":{"name":{"type":"string"},"workflow":{"$ref":"#/components/schemas/WorkflowId"}}},"PlotOutputFormat":{"type":"string","enum":["JsonPlain","JsonVega","ImagePng"]},"PlotQueryRectangle":{"type":"object","description":"A spatio-temporal rectangle with a specified resolution","required":["spatialBounds","timeInterval","spatialResolution"],"properties":{"spatialBounds":{"$ref":"#/components/schemas/BoundingBox2D"},"spatialResolution":{"$ref":"#/components/schemas/SpatialResolution"},"timeInterval":{"$ref":"#/components/schemas/TimeInterval"}}},"PlotResultDescriptor":{"type":"object","description":"A `ResultDescriptor` for plot queries","required":["spatialReference"],"properties":{"bbox":{"allOf":[{"$ref":"#/components/schemas/BoundingBox2D"}],"nullable":true},"spatialReference":{"type":"string"},"time":{"allOf":[{"$ref":"#/components/schemas/TimeInterval"}],"nullable":true}}},"PlotResultDescriptorWithType":{"type":"object","description":"A `ResultDescriptor` for plot queries","required":["spatialReference","type"],"properties":{"bbox":{"allOf":[{"$ref":"#/components/schemas/BoundingBox2D"}],"nullable":true},"spatialReference":{"type":"string"},"time":{"allOf":[{"$ref":"#/components/schemas/TimeInterval"}],"nullable":true},"type":{"type":"string","enum":["plot"]}}},"PlotUpdate":{"oneOf":[{"type":"string","enum":["none"]},{"type":"string","enum":["delete"]},{"$ref":"#/components/schemas/Plot"}]},"PointSymbology":{"type":"object","required":["radius","fillColor","stroke"],"properties":{"fillColor":{"$ref":"#/components/schemas/ColorParam"},"radius":{"$ref":"#/components/schemas/NumberParam"},"stroke":{"$ref":"#/components/schemas/StrokeParam"},"text":{"allOf":[{"$ref":"#/components/schemas/TextSymbology"}],"nullable":true}}},"PointSymbologyWithType":{"type":"object","required":["radius","fillColor","stroke","type"],"properties":{"fillColor":{"$ref":"#/components/schemas/ColorParam"},"radius":{"$ref":"#/components/schemas/NumberParam"},"stroke":{"$ref":"#/components/schemas/StrokeParam"},"text":{"allOf":[{"$ref":"#/components/schemas/TextSymbology"}],"nullable":true},"type":{"type":"string","enum":["point"]}}},"PolygonSymbology":{"type":"object","required":["fillColor","stroke","autoSimplified"],"properties":{"autoSimplified":{"type":"boolean"},"fillColor":{"$ref":"#/components/schemas/ColorParam"},"stroke":{"$ref":"#/components/schemas/StrokeParam"},"text":{"allOf":[{"$ref":"#/components/schemas/TextSymbology"}],"nullable":true}}},"PolygonSymbologyWithType":{"type":"object","required":["fillColor","stroke","autoSimplified","type"],"properties":{"autoSimplified":{"type":"boolean"},"fillColor":{"$ref":"#/components/schemas/ColorParam"},"stroke":{"$ref":"#/components/schemas/StrokeParam"},"text":{"allOf":[{"$ref":"#/components/schemas/TextSymbology"}],"nullable":true},"type":{"type":"string","enum":["polygon"]}}},"Project":{"type":"object","required":["id","version","name","description","layers","plots","bounds","timeStep"],"properties":{"bounds":{"$ref":"#/components/schemas/STRectangle"},"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProjectId"},"layers":{"type":"array","items":{"$ref":"#/components/schemas/ProjectLayer"}},"name":{"type":"string"},"plots":{"type":"array","items":{"$ref":"#/components/schemas/Plot"}},"timeStep":{"$ref":"#/components/schemas/TimeStep"},"version":{"$ref":"#/components/schemas/ProjectVersion"}}},"ProjectId":{"type":"string","format":"uuid"},"ProjectLayer":{"type":"object","required":["workflow","name","visibility","symbology"],"properties":{"name":{"type":"string"},"symbology":{"$ref":"#/components/schemas/Symbology"},"visibility":{"$ref":"#/components/schemas/LayerVisibility"},"workflow":{"$ref":"#/components/schemas/WorkflowId"}}},"ProjectListing":{"type":"object","required":["id","name","description","layerNames","plotNames","changed"],"properties":{"changed":{"type":"string","format":"date-time"},"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProjectId"},"layerNames":{"type":"array","items":{"type":"string"}},"name":{"type":"string"},"plotNames":{"type":"array","items":{"type":"string"}}}},"ProjectResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/ProjectId"},"type":{"type":"string","enum":["project"]}}},"ProjectResourceId":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/ProjectId"},"type":{"type":"string","enum":["Project"]}}},"ProjectVersion":{"type":"object","required":["id","changed"],"properties":{"changed":{"type":"string","format":"date-time"},"id":{"$ref":"#/components/schemas/ProjectVersionId"}}},"ProjectVersionId":{"type":"string","format":"uuid"},"Property":{"type":"array","items":{"type":"string"},"maxItems":2,"minItems":2},"Provenance":{"type":"object","required":["citation","license","uri"],"properties":{"citation":{"type":"string"},"license":{"type":"string"},"uri":{"type":"string"}}},"ProvenanceEntry":{"type":"object","required":["provenance","data"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/DataId"}},"provenance":{"$ref":"#/components/schemas/Provenance"}}},"ProvenanceOutput":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/DataId"},"provenance":{"type":"array","items":{"$ref":"#/components/schemas/Provenance"},"nullable":true}}},"ProviderLayerCollectionId":{"type":"object","required":["providerId","collectionId"],"properties":{"collectionId":{"$ref":"#/components/schemas/LayerCollectionId"},"providerId":{"$ref":"#/components/schemas/DataProviderId"}}},"ProviderLayerId":{"type":"object","required":["providerId","layerId"],"properties":{"layerId":{"$ref":"#/components/schemas/LayerId"},"providerId":{"$ref":"#/components/schemas/DataProviderId"}}},"Quota":{"type":"object","required":["available","used"],"properties":{"available":{"type":"integer","format":"int64"},"used":{"type":"integer","format":"int64","minimum":0}}},"RasterBandDescriptor":{"type":"object","required":["name","measurement"],"properties":{"measurement":{"$ref":"#/components/schemas/Measurement"},"name":{"type":"string"}}},"RasterBandDescriptors":{"type":"array","items":{"$ref":"#/components/schemas/RasterBandDescriptor"}},"RasterColorizer":{"oneOf":[{"$ref":"#/components/schemas/SingleBandRasterColorizer"}],"discriminator":{"propertyName":"type","mapping":{"singleBand":"#/components/schemas/SingleBandRasterColorizer"}}},"RasterDataType":{"type":"string","enum":["U8","U16","U32","U64","I8","I16","I32","I64","F32","F64"]},"RasterDatasetFromWorkflow":{"type":"object","description":"parameter for the dataset from workflow handler (body)","required":["displayName","query"],"properties":{"asCog":{"type":"boolean","default":true},"description":{"type":"string","nullable":true},"displayName":{"type":"string"},"name":{"allOf":[{"$ref":"#/components/schemas/DatasetName"}],"nullable":true},"query":{"$ref":"#/components/schemas/RasterQueryRectangle"}},"example":{"description":null,"displayName":"a new dataset","name":"foo","query":{"spatialBounds":{"lowerRightCoordinate":{"x":50.0,"y":20.0},"upperLeftCoordinate":{"x":-10.0,"y":80.0}},"spatialResolution":{"x":0.1,"y":0.1},"timeInterval":{"end":1388534401000,"start":1388534400000}}}},"RasterDatasetFromWorkflowResult":{"type":"object","description":"response of the dataset from workflow handler","required":["dataset","upload"],"properties":{"dataset":{"$ref":"#/components/schemas/DatasetName"},"upload":{"$ref":"#/components/schemas/UploadId"}}},"RasterPropertiesEntryType":{"type":"string","enum":["Number","String"]},"RasterPropertiesKey":{"type":"object","required":["key"],"properties":{"domain":{"type":"string","nullable":true},"key":{"type":"string"}}},"RasterQueryRectangle":{"type":"object","description":"A spatio-temporal rectangle with a specified resolution","required":["spatialBounds","timeInterval","spatialResolution"],"properties":{"spatialBounds":{"$ref":"#/components/schemas/SpatialPartition2D"},"spatialResolution":{"$ref":"#/components/schemas/SpatialResolution"},"timeInterval":{"$ref":"#/components/schemas/TimeInterval"}}},"RasterResultDescriptor":{"type":"object","description":"A `ResultDescriptor` for raster queries","required":["dataType","spatialReference","bands"],"properties":{"bands":{"$ref":"#/components/schemas/RasterBandDescriptors"},"bbox":{"allOf":[{"$ref":"#/components/schemas/SpatialPartition2D"}],"nullable":true},"dataType":{"$ref":"#/components/schemas/RasterDataType"},"resolution":{"allOf":[{"$ref":"#/components/schemas/SpatialResolution"}],"nullable":true},"spatialReference":{"type":"string"},"time":{"allOf":[{"$ref":"#/components/schemas/TimeInterval"}],"nullable":true}}},"RasterResultDescriptorWithType":{"type":"object","description":"A `ResultDescriptor` for raster queries","required":["dataType","spatialReference","bands","type"],"properties":{"bands":{"$ref":"#/components/schemas/RasterBandDescriptors"},"bbox":{"allOf":[{"$ref":"#/components/schemas/SpatialPartition2D"}],"nullable":true},"dataType":{"$ref":"#/components/schemas/RasterDataType"},"resolution":{"allOf":[{"$ref":"#/components/schemas/SpatialResolution"}],"nullable":true},"spatialReference":{"type":"string"},"time":{"allOf":[{"$ref":"#/components/schemas/TimeInterval"}],"nullable":true},"type":{"type":"string","enum":["raster"]}}},"RasterStreamWebsocketResultType":{"type":"string","description":"The stream result type for `raster_stream_websocket`.","enum":["arrow"]},"RasterSymbology":{"type":"object","required":["opacity","rasterColorizer"],"properties":{"opacity":{"type":"number","format":"double"},"rasterColorizer":{"$ref":"#/components/schemas/RasterColorizer"}}},"RasterSymbologyWithType":{"type":"object","required":["opacity","rasterColorizer","type"],"properties":{"opacity":{"type":"number","format":"double"},"rasterColorizer":{"$ref":"#/components/schemas/RasterColorizer"},"type":{"type":"string","enum":["raster"]}}},"Resource":{"oneOf":[{"$ref":"#/components/schemas/LayerResource"},{"$ref":"#/components/schemas/LayerCollectionResource"},{"$ref":"#/components/schemas/ProjectResource"},{"$ref":"#/components/schemas/DatasetResource"}],"discriminator":{"propertyName":"type","mapping":{"dataset":"#/components/schemas/DatasetResource","layer":"#/components/schemas/LayerResource","layerCollection":"#/components/schemas/LayerCollectionResource","project":"#/components/schemas/ProjectResource"}}},"ResourceId":{"oneOf":[{"$ref":"#/components/schemas/LayerResourceId"},{"$ref":"#/components/schemas/LayerCollectionResourceId"},{"$ref":"#/components/schemas/ProjectResourceId"},{"$ref":"#/components/schemas/DatasetIdResourceId"},{"$ref":"#/components/schemas/ModelIdResourceId"}],"discriminator":{"propertyName":"type","mapping":{"DatasetId":"#/components/schemas/DatasetIdResourceId","Layer":"#/components/schemas/LayerResourceId","LayerCollection":"#/components/schemas/LayerCollectionResourceId","ModelId":"#/components/schemas/ModelIdResourceId","Project":"#/components/schemas/ProjectResourceId"}}},"RgbaColor":{"type":"array","items":{"type":"integer"},"maxItems":4,"minItems":4},"RgbaColorizer":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["rgba"]}}},"Role":{"type":"object","required":["id","name"],"properties":{"id":{"$ref":"#/components/schemas/RoleId"},"name":{"type":"string"}}},"RoleDescription":{"type":"object","required":["role","individual"],"properties":{"individual":{"type":"boolean"},"role":{"$ref":"#/components/schemas/Role"}}},"RoleId":{"type":"string","format":"uuid"},"RunningTaskStatus":{"type":"object","required":["status","taskType","pctComplete","estimatedTimeRemaining","timeStarted"],"properties":{"description":{"type":"string"},"estimatedTimeRemaining":{"type":"string"},"info":{},"pctComplete":{"type":"string"},"status":{"type":"string","enum":["running"]},"taskType":{"type":"string"},"timeStarted":{"type":"string"}}},"STRectangle":{"type":"object","required":["spatialReference","boundingBox","timeInterval"],"properties":{"boundingBox":{"$ref":"#/components/schemas/BoundingBox2D"},"spatialReference":{"type":"string"},"timeInterval":{"$ref":"#/components/schemas/TimeInterval"}}},"ServerInfo":{"type":"object","required":["buildDate","commitHash","version","features"],"properties":{"buildDate":{"type":"string"},"commitHash":{"type":"string"},"features":{"type":"string"},"version":{"type":"string"}}},"SessionId":{"type":"string","format":"uuid"},"SingleBandRasterColorizer":{"type":"object","required":["band","bandColorizer","type"],"properties":{"band":{"type":"integer","format":"int32","minimum":0},"bandColorizer":{"$ref":"#/components/schemas/Colorizer"},"type":{"type":"string","enum":["singleBand"]}}},"SpatialPartition2D":{"type":"object","description":"A partition of space that include the upper left but excludes the lower right coordinate","required":["upperLeftCoordinate","lowerRightCoordinate"],"properties":{"lowerRightCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"upperLeftCoordinate":{"$ref":"#/components/schemas/Coordinate2D"}}},"SpatialReferenceAuthority":{"type":"string","description":"A spatial reference authority that is part of a spatial reference definition","enum":["EPSG","SR-ORG","IAU2000","ESRI"]},"SpatialReferenceSpecification":{"type":"object","description":"The specification of a spatial reference, where extent and axis labels are given\nin natural order (x, y) = (east, north)","required":["name","spatialReference","projString","extent"],"properties":{"axisLabels":{"allOf":[{"$ref":"#/components/schemas/AxisLabels"}],"nullable":true},"axisOrder":{"allOf":[{"$ref":"#/components/schemas/AxisOrder"}],"nullable":true},"extent":{"$ref":"#/components/schemas/BoundingBox2D"},"name":{"type":"string"},"projString":{"type":"string"},"spatialReference":{"type":"string"}}},"SpatialResolution":{"type":"object","description":"The spatial resolution in SRS units","required":["x","y"],"properties":{"x":{"type":"number","format":"double"},"y":{"type":"number","format":"double"}}},"StartDurationOgrSourceDatasetTimeType":{"type":"object","required":["startField","startFormat","durationField","type"],"properties":{"durationField":{"type":"string"},"startField":{"type":"string"},"startFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"type":{"type":"string","enum":["startDuration"]}}},"StartEndOgrSourceDatasetTimeType":{"type":"object","required":["startField","startFormat","endField","endFormat","type"],"properties":{"endField":{"type":"string"},"endFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"startField":{"type":"string"},"startFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"type":{"type":"string","enum":["startEnd"]}}},"StartOgrSourceDatasetTimeType":{"type":"object","required":["startField","startFormat","duration","type"],"properties":{"duration":{"$ref":"#/components/schemas/OgrSourceDurationSpec"},"startField":{"type":"string"},"startFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"type":{"type":"string","enum":["start"]}}},"StaticColorParam":{"type":"object","required":["color","type"],"properties":{"color":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["static"]}}},"StaticNumberParam":{"type":"object","required":["value","type"],"properties":{"type":{"type":"string","enum":["static"]},"value":{"type":"integer","minimum":0}}},"StrokeParam":{"type":"object","required":["width","color"],"properties":{"color":{"$ref":"#/components/schemas/ColorParam"},"width":{"$ref":"#/components/schemas/NumberParam"}}},"Symbology":{"oneOf":[{"$ref":"#/components/schemas/RasterSymbologyWithType"},{"$ref":"#/components/schemas/PointSymbologyWithType"},{"$ref":"#/components/schemas/LineSymbologyWithType"},{"$ref":"#/components/schemas/PolygonSymbologyWithType"}],"discriminator":{"propertyName":"type","mapping":{"line":"#/components/schemas/LineSymbologyWithType","point":"#/components/schemas/PointSymbologyWithType","polygon":"#/components/schemas/PolygonSymbologyWithType","raster":"#/components/schemas/RasterSymbologyWithType"}}},"TaskAbortOptions":{"type":"object","properties":{"force":{"type":"boolean"}}},"TaskFilter":{"type":"string","enum":["running","aborted","failed","completed"]},"TaskId":{"type":"string","format":"uuid"},"TaskListOptions":{"type":"object","properties":{"filter":{"allOf":[{"$ref":"#/components/schemas/TaskFilter"}],"nullable":true},"limit":{"type":"integer","format":"int32","minimum":0},"offset":{"type":"integer","format":"int32","minimum":0}}},"TaskResponse":{"type":"object","description":"Create a task somewhere and respond with a task id to query the task status.","required":["taskId"],"properties":{"taskId":{"$ref":"#/components/schemas/TaskId"}}},"TaskStatus":{"oneOf":[{"$ref":"#/components/schemas/RunningTaskStatus"},{"$ref":"#/components/schemas/CompletedTaskStatus"},{"$ref":"#/components/schemas/AbortedTaskStatus"},{"$ref":"#/components/schemas/FailedTaskStatus"}],"discriminator":{"propertyName":"status","mapping":{"aborted":"#/components/schemas/AbortedTaskStatus","completed":"#/components/schemas/CompletedTaskStatus","failed":"#/components/schemas/FailedTaskStatus","running":"#/components/schemas/RunningTaskStatus"}}},"TaskStatusWithId":{"allOf":[{"$ref":"#/components/schemas/TaskStatus"},{"type":"object","required":["taskId"],"properties":{"taskId":{"$ref":"#/components/schemas/TaskId"}}}]},"TextSymbology":{"type":"object","required":["attribute","fillColor","stroke"],"properties":{"attribute":{"type":"string"},"fillColor":{"$ref":"#/components/schemas/ColorParam"},"stroke":{"$ref":"#/components/schemas/StrokeParam"}}},"TimeGranularity":{"type":"string","description":"A time granularity.","enum":["millis","seconds","minutes","hours","days","months","years"]},"TimeInstance":{"type":"integer","format":"int64"},"TimeInterval":{"type":"object","description":"Stores time intervals in ms in close-open semantic [start, end)","required":["start","end"],"properties":{"end":{"$ref":"#/components/schemas/TimeInstance"},"start":{"$ref":"#/components/schemas/TimeInstance"}}},"TimeReference":{"type":"string","enum":["start","end"]},"TimeStep":{"type":"object","required":["granularity","step"],"properties":{"granularity":{"$ref":"#/components/schemas/TimeGranularity"},"step":{"type":"integer","format":"int32","minimum":0}}},"TimeStepWithType":{"type":"object","required":["granularity","step","type"],"properties":{"granularity":{"$ref":"#/components/schemas/TimeGranularity"},"step":{"type":"integer","format":"int32","minimum":0},"type":{"type":"string","enum":["value"]}}},"TypeNames":{"type":"string"},"TypedGeometry":{"oneOf":[{"type":"object","required":["Data"],"properties":{"Data":{"$ref":"#/components/schemas/NoGeometry"}}},{"type":"object","required":["MultiPoint"],"properties":{"MultiPoint":{"$ref":"#/components/schemas/MultiPoint"}}},{"type":"object","required":["MultiLineString"],"properties":{"MultiLineString":{"$ref":"#/components/schemas/MultiLineString"}}},{"type":"object","required":["MultiPolygon"],"properties":{"MultiPolygon":{"$ref":"#/components/schemas/MultiPolygon"}}}]},"TypedOperator":{"type":"object","description":"An enum to differentiate between `Operator` variants","required":["type","operator"],"properties":{"operator":{"type":"object","required":["type"],"properties":{"params":{"type":"object"},"sources":{"type":"object"},"type":{"type":"string"}}},"type":{"type":"string","enum":["Vector","Raster","Plot"]}},"example":{"params":{"points":[{"x":0.0,"y":0.1},{"x":1.0,"y":1.1}]},"type":"MockPointSource"}},"TypedResultDescriptor":{"oneOf":[{"$ref":"#/components/schemas/PlotResultDescriptorWithType"},{"$ref":"#/components/schemas/RasterResultDescriptorWithType"},{"$ref":"#/components/schemas/VectorResultDescriptorWithType"}],"discriminator":{"propertyName":"type","mapping":{"plot":"#/components/schemas/PlotResultDescriptorWithType","raster":"#/components/schemas/RasterResultDescriptorWithType","vector":"#/components/schemas/VectorResultDescriptorWithType"}}},"UnitlessMeasurement":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["unitless"]}}},"UnixTimeStampOgrSourceTimeFormat":{"type":"object","required":["timestampType","format"],"properties":{"format":{"type":"string","enum":["unixTimeStamp"]},"timestampType":{"$ref":"#/components/schemas/UnixTimeStampType"}}},"UnixTimeStampType":{"type":"string","enum":["epochSeconds","epochMilliseconds"]},"UpdateProject":{"type":"object","required":["id"],"properties":{"bounds":{"allOf":[{"$ref":"#/components/schemas/STRectangle"}],"nullable":true},"description":{"type":"string","nullable":true},"id":{"$ref":"#/components/schemas/ProjectId"},"layers":{"type":"array","items":{"$ref":"#/components/schemas/LayerUpdate"},"nullable":true},"name":{"type":"string","nullable":true},"plots":{"type":"array","items":{"$ref":"#/components/schemas/PlotUpdate"},"nullable":true},"timeStep":{"allOf":[{"$ref":"#/components/schemas/TimeStep"}],"nullable":true}},"example":{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","layers":[{"name":"L1","symbology":{"colorizer":{"type":"rgba"},"opacity":1.0,"type":"raster"},"visibility":{"data":true,"legend":false},"workflow":"100ee39c-761c-4218-9d85-ec861a8f3097"}],"name":"TestUpdate"}},"UpdateQuota":{"type":"object","required":["available"],"properties":{"available":{"type":"integer","format":"int64"}}},"UploadFileLayersResponse":{"type":"object","required":["layers"],"properties":{"layers":{"type":"array","items":{"type":"string"}}}},"UploadFilesResponse":{"type":"object","required":["files"],"properties":{"files":{"type":"array","items":{"type":"string"}}}},"UploadId":{"type":"string","format":"uuid"},"UserCredentials":{"type":"object","required":["email","password"],"properties":{"email":{"type":"string"},"password":{"type":"string"}},"example":{"email":"foo@example.com","password":"secret123"}},"UserId":{"type":"string","format":"uuid"},"UserInfo":{"type":"object","required":["id"],"properties":{"email":{"type":"string","nullable":true},"id":{"$ref":"#/components/schemas/UserId"},"realName":{"type":"string","nullable":true}}},"UserRegistration":{"type":"object","required":["email","password","realName"],"properties":{"email":{"type":"string"},"password":{"type":"string"},"realName":{"type":"string"}},"example":{"email":"foo@example.com","password":"secret123","realName":"Foo Bar"}},"UserSession":{"type":"object","required":["id","user","created","validUntil","roles"],"properties":{"created":{"type":"string","format":"date-time"},"id":{"$ref":"#/components/schemas/SessionId"},"project":{"allOf":[{"$ref":"#/components/schemas/ProjectId"}],"nullable":true},"roles":{"type":"array","items":{"$ref":"#/components/schemas/RoleId"}},"user":{"$ref":"#/components/schemas/UserInfo"},"validUntil":{"type":"string","format":"date-time"},"view":{"allOf":[{"$ref":"#/components/schemas/STRectangle"}],"nullable":true}}},"VectorColumnInfo":{"type":"object","required":["dataType","measurement"],"properties":{"dataType":{"$ref":"#/components/schemas/FeatureDataType"},"measurement":{"$ref":"#/components/schemas/Measurement"}}},"VectorDataType":{"type":"string","description":"An enum that contains all possible vector data types","enum":["Data","MultiPoint","MultiLineString","MultiPolygon"]},"VectorQueryRectangle":{"type":"object","description":"A spatio-temporal rectangle with a specified resolution","required":["spatialBounds","timeInterval","spatialResolution"],"properties":{"spatialBounds":{"$ref":"#/components/schemas/BoundingBox2D"},"spatialResolution":{"$ref":"#/components/schemas/SpatialResolution"},"timeInterval":{"$ref":"#/components/schemas/TimeInterval"}}},"VectorResultDescriptor":{"type":"object","required":["dataType","spatialReference","columns"],"properties":{"bbox":{"allOf":[{"$ref":"#/components/schemas/BoundingBox2D"}],"nullable":true},"columns":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/VectorColumnInfo"}},"dataType":{"$ref":"#/components/schemas/VectorDataType"},"spatialReference":{"type":"string"},"time":{"allOf":[{"$ref":"#/components/schemas/TimeInterval"}],"nullable":true}}},"VectorResultDescriptorWithType":{"type":"object","required":["dataType","spatialReference","columns","type"],"properties":{"bbox":{"allOf":[{"$ref":"#/components/schemas/BoundingBox2D"}],"nullable":true},"columns":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/VectorColumnInfo"}},"dataType":{"$ref":"#/components/schemas/VectorDataType"},"spatialReference":{"type":"string"},"time":{"allOf":[{"$ref":"#/components/schemas/TimeInterval"}],"nullable":true},"type":{"type":"string","enum":["vector"]}}},"Volume":{"type":"object","required":["name","path"],"properties":{"name":{"$ref":"#/components/schemas/VolumeName"},"path":{"type":"string"}}},"VolumeName":{"type":"string"},"WcsBoundingbox":{"type":"object","required":["bbox"],"properties":{"bbox":{"type":"array","items":{"type":"number","format":"double"}},"spatial_reference":{"type":"string","nullable":true}}},"WcsService":{"type":"string","enum":["WCS"]},"WcsVersion":{"type":"string","enum":["1.1.0","1.1.1"]},"WfsResolution":{"type":"string"},"WfsService":{"type":"string","enum":["WFS"]},"WfsVersion":{"type":"string","enum":["2.0.0"]},"WmsService":{"type":"string","enum":["WMS"]},"WmsVersion":{"type":"string","enum":["1.3.0"]},"Workflow":{"allOf":[{"$ref":"#/components/schemas/TypedOperator"},{"type":"object"}]},"WorkflowId":{"type":"string","format":"uuid"},"WrappedPlotOutput":{"type":"object","required":["outputFormat","plotType","data"],"properties":{"data":{"type":"object"},"outputFormat":{"$ref":"#/components/schemas/PlotOutputFormat"},"plotType":{"type":"string"}}},"ZeroOgrSourceDurationSpec":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["zero"]}}}},"responses":{"BadRequestQueryResponse":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Missing field in query string":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: missing field `offset`"}},"Number in query string contains letters":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: invalid digit found in string"}}}}}},"DatasetNameResponse":{"description":"Name of generated resource","content":{"application/json":{"schema":{"type":"object","required":["datasetName"],"properties":{"datasetName":{"$ref":"#/components/schemas/DatasetName"}}},"example":{"name":"ns:name"}}}},"IdResponse":{"description":"Id of generated resource","content":{"application/json":{"schema":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid"}}},"example":{"id":"36574dc3-560a-4b09-9d22-d5945f2b8093"}}}},"PayloadTooLargeResponse":{"description":"Payload too large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Known payload size":{"value":{"error":"Overflow","message":"JSON payload (XXX bytes) is larger than allowed (limit: 2097152 bytes)."}},"Unknown payload size":{"value":{"error":"Overflow","message":"JSON payload has exceeded limit (2097152 bytes)."}}}}}},"PngResponse":{"description":"PNG Image","content":{"image/png":{"schema":{"type":"string","format":"binary"},"example":"image bytes"}}},"UnauthorizedAdminResponse":{"description":"Authorization failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Auth token does not correspond to an admin":{"value":{"error":"Unauthorized","message":"Authorization error: Invalid admin token"}},"Authorization Header is missing":{"value":{"error":"Unauthorized","message":"Authorization error: Header with authorization token not provided."}},"Authorization Scheme other than Bearer is used":{"value":{"error":"Unauthorized","message":"Authorization error: Authentication scheme must be Bearer."}},"Provided auth token has an invalid format":{"value":{"error":"Unauthorized","message":"Authorization error: Identifier does not have the right format."}},"Session id is invalid":{"value":{"error":"Unauthorized","message":"Authorization error: The session id is invalid."}}}}}},"UnauthorizedUserResponse":{"description":"Authorization failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Authorization Header is missing":{"value":{"error":"Unauthorized","message":"Authorization error: Header with authorization token not provided."}},"Authorization Scheme other than Bearer is used":{"value":{"error":"Unauthorized","message":"Authorization error: Authentication scheme must be Bearer."}},"Provided auth token has an invalid format":{"value":{"error":"Unauthorized","message":"Authorization error: Identifier does not have the right format."}},"Session id is invalid":{"value":{"error":"Unauthorized","message":"Authorization error: The session id is invalid."}}}}}},"UnsupportedMediaTypeForJsonResponse":{"description":"Media type of application/json is expected","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"example":{"error":"UnsupportedMediaType","message":"Unsupported content type header."}}}},"ZipResponse":{"description":"ZIP Archive","content":{"application/zip":{"schema":{"type":"string","format":"binary"},"example":"zip bytes"}}}},"securitySchemes":{"session_token":{"type":"http","scheme":"bearer","bearerFormat":"UUID","description":"A valid session token can be obtained via the /anonymous or /login (pro only) endpoints. Alternatively, it can be defined as a fixed value in the Settings.toml file."}}},"externalDocs":{"url":"https://docs.geoengine.io","description":"Geo Engine Docs"}} \ No newline at end of file diff --git a/.openapi-generator/FILES b/.openapi-generator/FILES index b33eda6..d8b17b5 100644 --- a/.openapi-generator/FILES +++ b/.openapi-generator/FILES @@ -162,6 +162,7 @@ geoengine_openapi_client/models/provider_layer_collection_id.py geoengine_openapi_client/models/provider_layer_id.py geoengine_openapi_client/models/quota.py geoengine_openapi_client/models/raster_band_descriptor.py +geoengine_openapi_client/models/raster_colorizer.py geoengine_openapi_client/models/raster_data_type.py geoengine_openapi_client/models/raster_dataset_from_workflow.py geoengine_openapi_client/models/raster_dataset_from_workflow_result.py @@ -180,6 +181,7 @@ geoengine_openapi_client/models/role.py geoengine_openapi_client/models/role_description.py geoengine_openapi_client/models/running_task_status.py geoengine_openapi_client/models/server_info.py +geoengine_openapi_client/models/single_band_raster_colorizer.py geoengine_openapi_client/models/spatial_partition2_d.py geoengine_openapi_client/models/spatial_reference_authority.py geoengine_openapi_client/models/spatial_reference_specification.py @@ -397,6 +399,7 @@ test/test_provider_layer_collection_id.py test/test_provider_layer_id.py test/test_quota.py test/test_raster_band_descriptor.py +test/test_raster_colorizer.py test/test_raster_data_type.py test/test_raster_dataset_from_workflow.py test/test_raster_dataset_from_workflow_result.py @@ -416,6 +419,7 @@ test/test_role_description.py test/test_running_task_status.py test/test_server_info.py test/test_session_api.py +test/test_single_band_raster_colorizer.py test/test_spatial_partition2_d.py test/test_spatial_reference_authority.py test/test_spatial_reference_specification.py diff --git a/README.md b/README.md index 5e99f0d..8c287d7 100644 --- a/README.md +++ b/README.md @@ -55,10 +55,10 @@ import geoengine_openapi_client from geoengine_openapi_client.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to http://0.0.0.0:8080/api +# Defining the host is optional and defaults to http://127.0.0.1:3030/api # See configuration.py for a list of all supported configuration parameters. configuration = geoengine_openapi_client.Configuration( - host = "http://0.0.0.0:8080/api" + host = "http://127.0.0.1:3030/api" ) # The client must configure the authentication and authorization parameters @@ -90,7 +90,7 @@ with geoengine_openapi_client.ApiClient(configuration) as api_client: ## Documentation for API Endpoints -All URIs are relative to *http://0.0.0.0:8080/api* +All URIs are relative to *http://127.0.0.1:3030/api* Class | Method | HTTP request | Description ------------ | ------------- | ------------- | ------------- @@ -305,6 +305,7 @@ Class | Method | HTTP request | Description - [ProviderLayerId](docs/ProviderLayerId.md) - [Quota](docs/Quota.md) - [RasterBandDescriptor](docs/RasterBandDescriptor.md) + - [RasterColorizer](docs/RasterColorizer.md) - [RasterDataType](docs/RasterDataType.md) - [RasterDatasetFromWorkflow](docs/RasterDatasetFromWorkflow.md) - [RasterDatasetFromWorkflowResult](docs/RasterDatasetFromWorkflowResult.md) @@ -324,6 +325,7 @@ Class | Method | HTTP request | Description - [RunningTaskStatus](docs/RunningTaskStatus.md) - [STRectangle](docs/STRectangle.md) - [ServerInfo](docs/ServerInfo.md) + - [SingleBandRasterColorizer](docs/SingleBandRasterColorizer.md) - [SpatialPartition2D](docs/SpatialPartition2D.md) - [SpatialReferenceAuthority](docs/SpatialReferenceAuthority.md) - [SpatialReferenceSpecification](docs/SpatialReferenceSpecification.md) diff --git a/geoengine_openapi_client/__init__.py b/geoengine_openapi_client/__init__.py index e0014a6..700d348 100644 --- a/geoengine_openapi_client/__init__.py +++ b/geoengine_openapi_client/__init__.py @@ -187,6 +187,7 @@ from geoengine_openapi_client.models.provider_layer_id import ProviderLayerId from geoengine_openapi_client.models.quota import Quota from geoengine_openapi_client.models.raster_band_descriptor import RasterBandDescriptor +from geoengine_openapi_client.models.raster_colorizer import RasterColorizer from geoengine_openapi_client.models.raster_data_type import RasterDataType from geoengine_openapi_client.models.raster_dataset_from_workflow import RasterDatasetFromWorkflow from geoengine_openapi_client.models.raster_dataset_from_workflow_result import RasterDatasetFromWorkflowResult @@ -206,6 +207,7 @@ from geoengine_openapi_client.models.running_task_status import RunningTaskStatus from geoengine_openapi_client.models.st_rectangle import STRectangle from geoengine_openapi_client.models.server_info import ServerInfo +from geoengine_openapi_client.models.single_band_raster_colorizer import SingleBandRasterColorizer from geoengine_openapi_client.models.spatial_partition2_d import SpatialPartition2D from geoengine_openapi_client.models.spatial_reference_authority import SpatialReferenceAuthority from geoengine_openapi_client.models.spatial_reference_specification import SpatialReferenceSpecification diff --git a/geoengine_openapi_client/configuration.py b/geoengine_openapi_client/configuration.py index 3737f03..662c544 100644 --- a/geoengine_openapi_client/configuration.py +++ b/geoengine_openapi_client/configuration.py @@ -69,7 +69,7 @@ def __init__(self, host=None, ) -> None: """Constructor """ - self._base_path = "http://0.0.0.0:8080/api" if host is None else host + self._base_path = "http://127.0.0.1:3030/api" if host is None else host """Default Base url """ self.server_index = 0 if server_index is None and host is None else server_index @@ -388,7 +388,7 @@ def get_host_settings(self): """ return [ { - 'url': "http://0.0.0.0:8080/api", + 'url': "http://127.0.0.1:3030/api", 'description': "No description provided", } ] diff --git a/geoengine_openapi_client/models/__init__.py b/geoengine_openapi_client/models/__init__.py index 4cab5d1..3c05e6f 100644 --- a/geoengine_openapi_client/models/__init__.py +++ b/geoengine_openapi_client/models/__init__.py @@ -156,6 +156,7 @@ from geoengine_openapi_client.models.provider_layer_id import ProviderLayerId from geoengine_openapi_client.models.quota import Quota from geoengine_openapi_client.models.raster_band_descriptor import RasterBandDescriptor +from geoengine_openapi_client.models.raster_colorizer import RasterColorizer from geoengine_openapi_client.models.raster_data_type import RasterDataType from geoengine_openapi_client.models.raster_dataset_from_workflow import RasterDatasetFromWorkflow from geoengine_openapi_client.models.raster_dataset_from_workflow_result import RasterDatasetFromWorkflowResult @@ -175,6 +176,7 @@ from geoengine_openapi_client.models.running_task_status import RunningTaskStatus from geoengine_openapi_client.models.st_rectangle import STRectangle from geoengine_openapi_client.models.server_info import ServerInfo +from geoengine_openapi_client.models.single_band_raster_colorizer import SingleBandRasterColorizer from geoengine_openapi_client.models.spatial_partition2_d import SpatialPartition2D from geoengine_openapi_client.models.spatial_reference_authority import SpatialReferenceAuthority from geoengine_openapi_client.models.spatial_reference_specification import SpatialReferenceSpecification diff --git a/geoengine_openapi_client/models/raster_colorizer.py b/geoengine_openapi_client/models/raster_colorizer.py new file mode 100644 index 0000000..076e39d --- /dev/null +++ b/geoengine_openapi_client/models/raster_colorizer.py @@ -0,0 +1,146 @@ +# coding: utf-8 + +""" + Geo Engine Pro API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.7.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +from inspect import getfullargspec +import json +import pprint +import re # noqa: F401 + +from typing import Any, List, Optional +from pydantic import BaseModel, Field, StrictStr, ValidationError, validator +from geoengine_openapi_client.models.single_band_raster_colorizer import SingleBandRasterColorizer +from typing import Union, Any, List, TYPE_CHECKING +from pydantic import StrictStr, Field + +RASTERCOLORIZER_ONE_OF_SCHEMAS = ["SingleBandRasterColorizer"] + +class RasterColorizer(BaseModel): + """ + RasterColorizer + """ + # data type: SingleBandRasterColorizer + oneof_schema_1_validator: Optional[SingleBandRasterColorizer] = None + if TYPE_CHECKING: + actual_instance: Union[SingleBandRasterColorizer] + else: + actual_instance: Any + one_of_schemas: List[str] = Field(RASTERCOLORIZER_ONE_OF_SCHEMAS, const=True) + + class Config: + validate_assignment = True + + discriminator_value_class_map = { + } + + def __init__(self, *args, **kwargs) -> None: + if args: + if len(args) > 1: + raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`") + if kwargs: + raise ValueError("If a position argument is used, keyword arguments cannot be used.") + super().__init__(actual_instance=args[0]) + else: + super().__init__(**kwargs) + + @validator('actual_instance') + def actual_instance_must_validate_oneof(cls, v): + instance = RasterColorizer.construct() + error_messages = [] + match = 0 + # validate data type: SingleBandRasterColorizer + if not isinstance(v, SingleBandRasterColorizer): + error_messages.append(f"Error! Input type `{type(v)}` is not `SingleBandRasterColorizer`") + else: + match += 1 + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when setting `actual_instance` in RasterColorizer with oneOf schemas: SingleBandRasterColorizer. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when setting `actual_instance` in RasterColorizer with oneOf schemas: SingleBandRasterColorizer. Details: " + ", ".join(error_messages)) + else: + return v + + @classmethod + def from_dict(cls, obj: dict) -> RasterColorizer: + return cls.from_json(json.dumps(obj)) + + @classmethod + def from_json(cls, json_str: str) -> RasterColorizer: + """Returns the object represented by the json string""" + instance = RasterColorizer.construct() + error_messages = [] + match = 0 + + # use oneOf discriminator to lookup the data type + _data_type = json.loads(json_str).get("type") + if not _data_type: + raise ValueError("Failed to lookup data type from the field `type` in the input.") + + # check if data type is `SingleBandRasterColorizer` + if _data_type == "SingleBandRasterColorizer": + instance.actual_instance = SingleBandRasterColorizer.from_json(json_str) + return instance + + # check if data type is `SingleBandRasterColorizer` + if _data_type == "singleBand": + instance.actual_instance = SingleBandRasterColorizer.from_json(json_str) + return instance + + # deserialize data into SingleBandRasterColorizer + try: + instance.actual_instance = SingleBandRasterColorizer.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when deserializing the JSON string into RasterColorizer with oneOf schemas: SingleBandRasterColorizer. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when deserializing the JSON string into RasterColorizer with oneOf schemas: SingleBandRasterColorizer. Details: " + ", ".join(error_messages)) + else: + return instance + + def to_json(self) -> str: + """Returns the JSON representation of the actual instance""" + if self.actual_instance is None: + return "null" + + to_json = getattr(self.actual_instance, "to_json", None) + if callable(to_json): + return self.actual_instance.to_json() + else: + return json.dumps(self.actual_instance) + + def to_dict(self) -> dict: + """Returns the dict representation of the actual instance""" + if self.actual_instance is None: + return None + + to_dict = getattr(self.actual_instance, "to_dict", None) + if callable(to_dict): + return self.actual_instance.to_dict() + else: + # primitive type + return self.actual_instance + + def to_str(self) -> str: + """Returns the string representation of the actual instance""" + return pprint.pformat(self.dict()) + + diff --git a/geoengine_openapi_client/models/raster_symbology.py b/geoengine_openapi_client/models/raster_symbology.py index 45f34db..8af5f14 100644 --- a/geoengine_openapi_client/models/raster_symbology.py +++ b/geoengine_openapi_client/models/raster_symbology.py @@ -21,15 +21,15 @@ from typing import Union from pydantic import BaseModel, Field, StrictFloat, StrictInt -from geoengine_openapi_client.models.colorizer import Colorizer +from geoengine_openapi_client.models.raster_colorizer import RasterColorizer class RasterSymbology(BaseModel): """ RasterSymbology """ - colorizer: Colorizer = Field(...) opacity: Union[StrictFloat, StrictInt] = Field(...) - __properties = ["colorizer", "opacity"] + raster_colorizer: RasterColorizer = Field(..., alias="rasterColorizer") + __properties = ["opacity", "rasterColorizer"] class Config: """Pydantic configuration""" @@ -55,9 +55,9 @@ def to_dict(self): exclude={ }, exclude_none=True) - # override the default output from pydantic by calling `to_dict()` of colorizer - if self.colorizer: - _dict['colorizer'] = self.colorizer.to_dict() + # override the default output from pydantic by calling `to_dict()` of raster_colorizer + if self.raster_colorizer: + _dict['rasterColorizer'] = self.raster_colorizer.to_dict() return _dict @classmethod @@ -70,8 +70,8 @@ def from_dict(cls, obj: dict) -> RasterSymbology: return RasterSymbology.parse_obj(obj) _obj = RasterSymbology.parse_obj({ - "colorizer": Colorizer.from_dict(obj.get("colorizer")) if obj.get("colorizer") is not None else None, - "opacity": obj.get("opacity") + "opacity": obj.get("opacity"), + "raster_colorizer": RasterColorizer.from_dict(obj.get("rasterColorizer")) if obj.get("rasterColorizer") is not None else None }) return _obj diff --git a/geoengine_openapi_client/models/raster_symbology_with_type.py b/geoengine_openapi_client/models/raster_symbology_with_type.py index d638785..ea35033 100644 --- a/geoengine_openapi_client/models/raster_symbology_with_type.py +++ b/geoengine_openapi_client/models/raster_symbology_with_type.py @@ -21,16 +21,16 @@ from typing import Union from pydantic import BaseModel, Field, StrictFloat, StrictInt, StrictStr, validator -from geoengine_openapi_client.models.colorizer import Colorizer +from geoengine_openapi_client.models.raster_colorizer import RasterColorizer class RasterSymbologyWithType(BaseModel): """ RasterSymbologyWithType """ - colorizer: Colorizer = Field(...) opacity: Union[StrictFloat, StrictInt] = Field(...) + raster_colorizer: RasterColorizer = Field(..., alias="rasterColorizer") type: StrictStr = Field(...) - __properties = ["colorizer", "opacity", "type"] + __properties = ["opacity", "rasterColorizer", "type"] @validator('type') def type_validate_enum(cls, value): @@ -63,9 +63,9 @@ def to_dict(self): exclude={ }, exclude_none=True) - # override the default output from pydantic by calling `to_dict()` of colorizer - if self.colorizer: - _dict['colorizer'] = self.colorizer.to_dict() + # override the default output from pydantic by calling `to_dict()` of raster_colorizer + if self.raster_colorizer: + _dict['rasterColorizer'] = self.raster_colorizer.to_dict() return _dict @classmethod @@ -78,8 +78,8 @@ def from_dict(cls, obj: dict) -> RasterSymbologyWithType: return RasterSymbologyWithType.parse_obj(obj) _obj = RasterSymbologyWithType.parse_obj({ - "colorizer": Colorizer.from_dict(obj.get("colorizer")) if obj.get("colorizer") is not None else None, "opacity": obj.get("opacity"), + "raster_colorizer": RasterColorizer.from_dict(obj.get("rasterColorizer")) if obj.get("rasterColorizer") is not None else None, "type": obj.get("type") }) return _obj diff --git a/geoengine_openapi_client/models/single_band_raster_colorizer.py b/geoengine_openapi_client/models/single_band_raster_colorizer.py new file mode 100644 index 0000000..71b7ade --- /dev/null +++ b/geoengine_openapi_client/models/single_band_raster_colorizer.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + Geo Engine Pro API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.7.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + + + +from pydantic import BaseModel, Field, StrictStr, conint, validator +from geoengine_openapi_client.models.colorizer import Colorizer + +class SingleBandRasterColorizer(BaseModel): + """ + SingleBandRasterColorizer + """ + band: conint(strict=True, ge=0) = Field(...) + band_colorizer: Colorizer = Field(..., alias="bandColorizer") + type: StrictStr = Field(...) + __properties = ["band", "bandColorizer", "type"] + + @validator('type') + def type_validate_enum(cls, value): + """Validates the enum""" + if value not in ('singleBand'): + raise ValueError("must be one of enum values ('singleBand')") + return value + + class Config: + """Pydantic configuration""" + allow_population_by_field_name = True + validate_assignment = True + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.dict(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> SingleBandRasterColorizer: + """Create an instance of SingleBandRasterColorizer from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self): + """Returns the dictionary representation of the model using alias""" + _dict = self.dict(by_alias=True, + exclude={ + }, + exclude_none=True) + # override the default output from pydantic by calling `to_dict()` of band_colorizer + if self.band_colorizer: + _dict['bandColorizer'] = self.band_colorizer.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: dict) -> SingleBandRasterColorizer: + """Create an instance of SingleBandRasterColorizer from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return SingleBandRasterColorizer.parse_obj(obj) + + _obj = SingleBandRasterColorizer.parse_obj({ + "band": obj.get("band"), + "band_colorizer": Colorizer.from_dict(obj.get("bandColorizer")) if obj.get("bandColorizer") is not None else None, + "type": obj.get("type") + }) + return _obj + + diff --git a/test/test_raster_colorizer.py b/test/test_raster_colorizer.py new file mode 100644 index 0000000..757bd65 --- /dev/null +++ b/test/test_raster_colorizer.py @@ -0,0 +1,58 @@ +# coding: utf-8 + +""" + Geo Engine Pro API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.7.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest +import datetime + +from geoengine_openapi_client.models.raster_colorizer import RasterColorizer # noqa: E501 + +class TestRasterColorizer(unittest.TestCase): + """RasterColorizer unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RasterColorizer: + """Test RasterColorizer + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RasterColorizer` + """ + model = RasterColorizer() # noqa: E501 + if include_optional: + return RasterColorizer( + band = 0, + band_colorizer = None, + type = 'singleBand' + ) + else: + return RasterColorizer( + band = 0, + band_colorizer = None, + type = 'singleBand', + ) + """ + + def testRasterColorizer(self): + """Test RasterColorizer""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_raster_symbology.py b/test/test_raster_symbology.py index e14b279..5120e7d 100644 --- a/test/test_raster_symbology.py +++ b/test/test_raster_symbology.py @@ -37,13 +37,13 @@ def make_instance(self, include_optional) -> RasterSymbology: model = RasterSymbology() # noqa: E501 if include_optional: return RasterSymbology( - colorizer = None, - opacity = 1.337 + opacity = 1.337, + raster_colorizer = None ) else: return RasterSymbology( - colorizer = None, opacity = 1.337, + raster_colorizer = None, ) """ diff --git a/test/test_raster_symbology_with_type.py b/test/test_raster_symbology_with_type.py index 2c47d3d..6ca66a7 100644 --- a/test/test_raster_symbology_with_type.py +++ b/test/test_raster_symbology_with_type.py @@ -37,14 +37,14 @@ def make_instance(self, include_optional) -> RasterSymbologyWithType: model = RasterSymbologyWithType() # noqa: E501 if include_optional: return RasterSymbologyWithType( - colorizer = None, opacity = 1.337, + raster_colorizer = None, type = 'raster' ) else: return RasterSymbologyWithType( - colorizer = None, opacity = 1.337, + raster_colorizer = None, type = 'raster', ) """ diff --git a/test/test_single_band_raster_colorizer.py b/test/test_single_band_raster_colorizer.py new file mode 100644 index 0000000..afdf898 --- /dev/null +++ b/test/test_single_band_raster_colorizer.py @@ -0,0 +1,58 @@ +# coding: utf-8 + +""" + Geo Engine Pro API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.7.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest +import datetime + +from geoengine_openapi_client.models.single_band_raster_colorizer import SingleBandRasterColorizer # noqa: E501 + +class TestSingleBandRasterColorizer(unittest.TestCase): + """SingleBandRasterColorizer unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SingleBandRasterColorizer: + """Test SingleBandRasterColorizer + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SingleBandRasterColorizer` + """ + model = SingleBandRasterColorizer() # noqa: E501 + if include_optional: + return SingleBandRasterColorizer( + band = 0, + band_colorizer = None, + type = 'singleBand' + ) + else: + return SingleBandRasterColorizer( + band = 0, + band_colorizer = None, + type = 'singleBand', + ) + """ + + def testSingleBandRasterColorizer(self): + """Test SingleBandRasterColorizer""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_symbology.py b/test/test_symbology.py index d00f2b4..c41005a 100644 --- a/test/test_symbology.py +++ b/test/test_symbology.py @@ -37,8 +37,8 @@ def make_instance(self, include_optional) -> Symbology: model = Symbology() # noqa: E501 if include_optional: return Symbology( - colorizer = None, opacity = 1.337, + raster_colorizer = None, type = 'raster', fill_color = None, radius = None, @@ -55,8 +55,8 @@ def make_instance(self, include_optional) -> Symbology: ) else: return Symbology( - colorizer = None, opacity = 1.337, + raster_colorizer = None, type = 'raster', fill_color = None, radius = None, From b0f606b406cbb380f338be02944ec2acabb43d61 Mon Sep 17 00:00:00 2001 From: Michael Mattig Date: Mon, 11 Dec 2023 11:24:12 +0100 Subject: [PATCH 2/2] update backendtag --- .generation/config.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.generation/config.ini b/.generation/config.ini index 4d6523b..b85502e 100644 --- a/.generation/config.ini +++ b/.generation/config.ini @@ -1,5 +1,5 @@ [input] -backendtag = pro-nightly-2023-11-28 # TODO: update when backend was merged +backendtag = pro-nightly-2023-12-10 [package] name = geoengine_openapi_client