{"swagger": "2.0", "info": {"title": "Actinia", "description": "\n================================\nActinia - The GRASS GIS REST API\n================================\n\n**Actinia** is an open source REST API for scalable, distributed, high\nperformance processing of geographical data that uses GRASS GIS for\ncomputational tasks.\n\nIt provides a REST API to process satellite images, time series of satellite\nimages, arbitrary raster data with geographical relations and vector data.\n\nThe REST interface allows to access, manage and manipulate the GRASS GIS\ndatabase via HTTP GET,PUT,POST and DELETE requests and to process raster,\nvector and time series data located in a persistent GRASS GIS database.\n**Actinia** allows the processing of cloud based data, for example all Landsat\n4-8 scenes as well as all Sentinel2A scenes in an ephemeral databases. The\ncomputational results of ephemeral processing are available via object storage\nas GeoTIFF files.\n\nThe full API documentation is available here:\nhttps://redocly.github.io/redoc/?url=https://actinia.mundialis.de/latest/\nswagger.json\n\n\nExamples:\n---------\n\nTo execute the examples, first setup login information, IP address and port:\n\n    export ACTINIA_URL=https://actinia.mundialis.de/latest\n    export AUTH='-u demouser:gu3st!pa55w0rd'\n\n**Data management**\n\n- List all projects that are available in the actinia persistent database:\n\n    curl ${AUTH} -X GET \"${ACTINIA_URL}/projects\"\n\n- List all mapsets in the project latlong_wgs84:\n\n    curl ${AUTH} -X GET \"${ACTINIA_URL}/projects/latlong_wgs84/mapsets\"\n\n- List all raster layers in project latlong_wgs84 and mapset Sentinel2A\n\n    curl ${AUTH} -X GET     \"${ACTINIA_URL}/projects/latlong_wgs84/mapsets/Sentinel2A/raster_layers\"\n\n- List all space-time raster datasets (STRDS) in project ECAD and mapset\n  PERMANENT:\n\n    curl ${AUTH} -X GET     \"${ACTINIA_URL}/projects/ECAD/mapsets/PERMANENT/raster_layers\"\n\n- List all raster map layers of the STRDS precipitation_1950_2013_yearly_mm:\n\n    curl ${AUTH} -X GET     \"${ACTINIA_URL}/projects/ECAD/mapsets/PERMANENT/strds/precipitation_    1950_2013_yearly_mm/raster_layers\"\n\n**Landsat and Sentinel2A NDVI computation**\n\nThis API call will compute the NDVI of the top of atmosphere (TOAR)\ncorrected Landsat4 scene LC80440342016259LGN00:\n\n    curl ${AUTH} -X POST \"${ACTINIA_URL}/landsat_process/    LC80440342016259LGN00/TOAR/NDVI\"\n\nNDVI computation of Sentinel2A scene\nS2A_MSIL1C_20170212T104141_N0204_R008_T31TGJ_20170212T104138:\n\n    curl ${AUTH} -X POST \"${ACTINIA_URL}/sentinel2_process/ndvi/    S2A_MSIL1C_20170212T104141_N0204_R008_T31TGJ_20170212T104138\"\n\nThe results of the asynchronous computations are available as GeoTIFF file in\na cloud storage for download.\n", "termsOfService": "", "version": "v3"}, "schemes": ["https"], "consumes": ["application/gml+xml", "application/json"], "paths": {"/actinia_modules": {"get": {"tags": ["Module Viewer"], "description": "Get a list of modules. Minimum required user role: user.", "parameters": [{"in": "path", "name": "tag", "type": "string", "description": "Filter for categories"}, {"in": "path", "name": "category", "type": "string", "description": "Another filter for categories"}, {"in": "path", "name": "family", "type": "string", "description": "Type of GRASS GIS module", "enum": ["d", "db", "g", "i", "m", "ps", "r", "r3", "t", "test", "v"]}, {"in": "path", "name": "record", "type": "string", "description": "If set to 'full', all information about the returned modules are given like in the single module description. Depending on active cache, this response might run into a timeout. A filter can prevent this."}], "responses": {"200": {"description": "This response returns a list of module names and the status.", "schema": {"$ref": "#/definitions/ModuleList"}}, "400": {"description": "The error message and a detailed log why listing of modules did not succeeded", "schema": {"$ref": "#/definitions/SimpleStatusCodeResponseModel"}}}, "summary": "Get a list of all actinia modules (process chain templates)."}}, "/actinia_modules/{actiniamodule}": {"get": {"tags": ["Module Viewer"], "parameters": [{"in": "path", "name": "actiniamodule", "type": "string", "description": "The name of a module", "required": true}, {"in": "path", "name": "returns", "type": "string", "description": "Defines which outputs are returned for actinia modules. 'export' shows the exported results. 'persistent' to show persistent results might be added in the future. Without this parameter no outputs are returned. No effect for single GRASS GIS modules.", "enum": ["export"]}], "description": "Get the description of a module. Minimum required user role: user.Can be also used to reload cache for a certain modulefor the full module description in listModules.", "responses": {"200": {"description": "This response returns a description of a module.", "schema": {"$ref": "#/definitions/Module"}}, "400": {"description": "The error message and a detailed log why describing modules did not succeeded", "schema": {"$ref": "#/definitions/SimpleStatusCodeResponseModel"}}, "404": {"description": "The error message that the module was not found.", "schema": {"$ref": "#/definitions/SimpleStatusCodeResponseModel"}}}, "summary": "Describe an actinia module (process chain template)."}}, "/actinia_templates": {"get": {"tags": ["Process Chain Template Management"], "description": "Get a list of process chain templates. Minimum required user role: user.", "responses": {"200": {"description": "This response returns a list of module names"}}, "summary": "Get a list of all actinia templates (process chain templates)."}, "post": {"tags": ["Process Chain Template Management"], "description": "Create a process chain template. Minimum required user role: user.", "parameters": [{"in": "body", "name": "template", "type": "object", "schema": {"$ref": "#/definitions/ProcessChainTemplate"}, "description": "The process chain template", "required": true}], "responses": {"201": {"description": "This response returns True if creation was successfull."}, "404": {"description": "The error message and a detailed log why creation did not succeeded", "schema": {"$ref": "#/definitions/SimpleStatusCodeResponseModel"}}}, "summary": "Create an actinia template (process chain template)."}}, "/actinia_templates/{template_id}": {"get": {"tags": ["Process Chain Template Management"], "parameters": [{"in": "path", "name": "template_id", "type": "string", "description": "The name of a process chain template", "required": true}], "description": "Read a process chain template. Minimum required user role: user.", "responses": {"200": {"description": "This response returns a process chain template.", "schema": {"$ref": "#/definitions/ProcessChainTemplate"}}, "404": {"description": "The error message and a detailed log why describing did not succeeded", "schema": {"$ref": "#/definitions/SimpleStatusCodeResponseModel"}}}, "summary": "Read an actinia template (process chain template)."}, "delete": {"tags": ["Process Chain Template Management"], "parameters": [{"in": "path", "name": "template_id", "type": "string", "description": "The name of a process chain template", "required": true}], "description": "Delete a process chain template. Minimum required user role: user.", "responses": {"200": {"description": "This response returns True if deletion was successfull."}, "404": {"description": "The error message and a detailed log why deletion did not succeeded", "schema": {"$ref": "#/definitions/SimpleStatusCodeResponseModel"}}}, "summary": "Delete an actinia template (process chain template)."}, "put": {"tags": ["Process Chain Template Management"], "parameters": [{"in": "path", "name": "template_id", "type": "string", "description": "The name of a process chain template", "required": true}], "description": "Update a process chain template. Minimum required user role: user.", "responses": {"201": {"description": "This response returns True if update was successfull."}, "404": {"description": "The error message and a detailed log why update did not succeeded", "schema": {"$ref": "#/definitions/SimpleStatusCodeResponseModel"}}}, "summary": "Update an actinia template (process chain template)."}}, "/api_key": {"get": {"tags": ["Authentication Management"], "description": "Create an API key for permanent authentication. API keys have no expiration time. Minimum required user role: admin.", "responses": {"200": {"description": "The API key generation response", "schema": {"$ref": "#/definitions/TokenResponseModel"}}, "400": {"description": "The error message in case of failure", "schema": {"$ref": "#/definitions/TokenResponseModel"}}}, "summary": "Create an API key for permanent authentication."}}, "/api_log/{user_id}": {"get": {"tags": ["API Log"], "description": "Get a list of all API calls that have been called by the provided user. Admin and superadmin roles can list API calls from any user. A user role can only list API calls from itself. Minimum required user role: user.", "parameters": [{"name": "user_id", "description": "The unique user name/id", "required": true, "in": "path", "type": "string"}], "responses": {"200": {"description": "Returned a list of all API calls that have been called by the provided user.", "schema": {"$ref": "#/definitions/ApiLogListModel"}}, "400": {"description": "The error message why API log gathering did not succeeded", "schema": {"$ref": "#/definitions/SimpleResponseModel"}}}, "summary": "Get a list of all API calls that have been called by the provided user."}}, "/download_cache": {"get": {"tags": ["Cache Management"], "description": "Get the current size of the download cache. Minimum required user role: admin.", "responses": {"200": {"description": "The current state of the download cache", "schema": {"$ref": "#/definitions/StorageResponseModel"}}, "400": {"description": "The error message why cache information gathering did not succeeded", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}}, "summary": "Get the current size of the download cache"}, "delete": {"tags": ["Cache Management"], "description": "Clean the download cache and remove all cached data. Minimum required user role: admin.", "responses": {"200": {"description": "Processing status of cache deletion", "schema": {"$ref": "#/definitions/StorageResponseModel"}}, "400": {"description": "The error message why cache cleaning did not succeeded", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}}, "summary": "Clean the download cache and remove all cached data"}}, "/files": {"post": {"summary": "Upload file.", "description": "File can be uploaded, best used with https://bmvimetadaten.mundialis.de.", "tags": ["File Management"], "responses": {"200": {"description": "Success or failure of connection", "schema": {"$ref": "#/definitions/SimpleStatusCodeResponseModel"}}}}}, "/grass_modules": {"get": {"tags": ["Module Viewer"], "description": "Get a list of modules. Minimum required user role: user.", "parameters": [{"in": "path", "name": "tag", "type": "string", "description": "Filter for categories"}, {"in": "path", "name": "category", "type": "string", "description": "Another filter for categories"}, {"in": "path", "name": "family", "type": "string", "description": "Type of GRASS GIS module", "enum": ["d", "db", "g", "i", "m", "ps", "r", "r3", "t", "test", "v"]}, {"in": "path", "name": "record", "type": "string", "description": "If set to 'full', all information about the returned modules are given like in the single module description. Depending on active cache, this response might run into a timeout. A filter can prevent this."}], "responses": {"200": {"description": "This response returns a list of module names and the status.", "schema": {"$ref": "#/definitions/ModuleList"}}, "400": {"description": "The error message and a detailed log why listing of modules did not succeeded", "schema": {"$ref": "#/definitions/SimpleStatusCodeResponseModel"}}}, "summary": "Get a list of all GRASS GIS modules."}}, "/grass_modules/{grassmodule}": {"get": {"tags": ["Module Viewer"], "parameters": [{"in": "path", "name": "grassmodule", "type": "string", "description": "The name of a module", "required": true}, {"in": "path", "name": "returns", "type": "string", "description": "Defines which outputs are returned for actinia modules. 'export' shows the exported results. 'persistent' to show persistent results might be added in the future. Without this parameter no outputs are returned. No effect for single GRASS GIS modules.", "enum": ["export"]}], "description": "Get the description of a module. Minimum required user role: user.Can be also used to reload cache for a certain modulefor the full module description in listModules.", "responses": {"200": {"description": "This response returns a description of a module.", "schema": {"$ref": "#/definitions/Module"}}, "400": {"description": "The error message and a detailed log why describing modules did not succeeded", "schema": {"$ref": "#/definitions/SimpleStatusCodeResponseModel"}}, "404": {"description": "The error message that the module was not found.", "schema": {"$ref": "#/definitions/SimpleStatusCodeResponseModel"}}}, "summary": "Describe a GRASS GIS module."}}, "/landsat_process/{landsat_id}/{atcor_method}/{processing_method}": {"post": {"tags": ["Satellite Image Algorithms"], "description": "Vegetation index computation from an atmospherically corrected Landsat scene. The Landsat scene is located in the google cloud storage. The processing is as follows: A user specific Landsat scene (LT4, LT5, LE7 and LC8) will be download and imported into an ephemeral database. Then atmospheric correction will be performed, with either TOAR or DOS4, depending on the users choice. The user specific vegetation index will be computed based on the TOAR or DOS4 data. The result of the computation is available as gzipped Geotiff file. In addition, the univariate statistic will be computed as well as a preview image including a legend. Minimum required user role: user.", "parameters": [{"name": "landsat_id", "description": "The id of a Landsat scene only with sensors: LT04, LT05, LE07, LC08", "required": true, "in": "path", "type": "string", "default": "LT41970251990147XXX03"}, {"name": "atcor_method", "description": "The method for atmospheric correction", "required": true, "in": "path", "type": "string", "enum": ["TOAR", "DOS1", "DOS4"], "default": "DOS4"}, {"name": "processing_method", "description": "The method that should be used to compute the vegetation index", "required": true, "in": "path", "type": "string", "enum": ["NDVI", "ARVI", "DVI", "EVI", "EVI2", "GVI", "GARI", "GEMI", "IPVI", "PVI", "SR", "VARI", "WDVI"], "default": "NDVI"}], "responses": {"200": {"description": "This response includes all created resources as URL as well as the processing log and other metadata.", "schema": {"$ref": "#/definitions/LandsatNDVIResponseModel"}}, "400": {"description": "The error message and a detailed log why NDVI processing of a Landsat scene did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Vegetation index computation from an atmospherically corrected"}}, "/landsat_query": {"get": {"tags": ["Satellite Image Algorithms"], "description": "Query the Google Landsat archives using time interval, lat/lon coordinates, scene id, spacecraft id and cloud cover. All scenes that are located within the time interval and that intersect the given latitude/longitude coordinates are returned as a list of scene names with associated time stamps. Minimum required user role: user.", "parameters": [{"name": "scene_id", "description": "The scene id of the landsat scenes that should be searched", "required": false, "in": "query", "type": "string"}, {"name": "spacecraft_id", "description": "The spacecraft id of the landsat scenes that should be searched", "required": false, "in": "query", "type": "string", "enum": ["LANDSAT_4", "LANDSAT_5", "LANDSAT_7", "LANDSAT_8"]}, {"name": "start_time", "description": "The start time of the search interval", "required": false, "in": "query", "type": "string", "format": "dateTime"}, {"name": "end_time", "description": "The end time of the search interval", "required": false, "in": "query", "type": "string", "format": "dateTime"}, {"name": "lon", "description": "The longitude coordinate with which the scenes should intersect", "required": false, "in": "query", "type": "number", "format": "double"}, {"name": "lat", "description": "The latitude coordinate with which the scenes should intersect", "required": false, "in": "query", "type": "number", "format": "double"}, {"name": "cloud_covert", "description": "Cloud cover between 0 - 100", "required": false, "in": "query", "type": "number", "format": "double"}], "responses": {"200": {"description": "A list of satellite scenes that fit the search", "schema": {"$ref": "#/definitions/SatelliteSceneList"}}, "400": {"description": "The error message if the search did not succeeded", "schema": {"$ref": "#/definitions/SimpleResponseModel"}}}, "summary": "Query the Google Landsat archives using time interval, lat/lon"}}, "/locations": {"get": {"tags": ["Project Management"], "description": "Get a list of all available projects that are located in the GRASS database and the user has access to. Minimum required user role: user.", "responses": {"200": {"description": "This response returns a list of project names", "schema": {"$ref": "#/definitions/ProjectListResponseModel"}}, "400": {"description": "The error message", "schema": {"$ref": "#/definitions/SimpleResponseModel"}}}, "summary": "Get a list of all available projects<br/>Get a list of all available projects"}}, "/locations/{project_name}": {"delete": {"tags": ["Project Management"], "description": "Delete an existing project and everything inside from the user database. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The name of the project to be deleted", "required": true, "in": "path", "type": "string"}], "responses": {"200": {"description": "Success message for project deletion", "schema": {"$ref": "#/definitions/SimpleResponseModel"}}, "400": {"description": "The error message", "schema": {"$ref": "#/definitions/SimpleResponseModel"}}}, "summary": "Delete an existing project and everything inside from the user<br/>Delete an existing project and everything inside from the user"}, "post": {"tags": ["Project Management"], "description": "Create a new project based on EPSG code in the user database. Minimum required user role: user.", "consumes": ["application/json"], "parameters": [{"name": "project_name", "description": "The name of the project to be created", "required": true, "in": "path", "type": "string"}, {"name": "epsg_code", "description": "The EPSG code", "required": true, "in": "body", "schema": {"$ref": "#/definitions/ProjectionInfoModel"}}], "responses": {"200": {"description": "Create a new project based on EPSG code", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}, "400": {"description": "The error message", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}}, "summary": "Create a new project based on EPSG code in the user database.<br/>Create a new project based on EPSG code in the user database."}}, "/locations/{project_name}/info": {"get": {"tags": ["Project Management"], "description": "Get the project projection and current computational region of the PERMANENT mapset. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The name of the project", "required": true, "in": "path", "type": "string", "default": "nc_spm_08"}], "responses": {"200": {"description": "The project projection and current computational region of the PERMANENT mapset", "schema": {"$ref": "#/definitions/MapsetInfoResponseModel"}}, "400": {"description": "The error message", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}}, "summary": "Get the project projection and current computational region of the<br/>Get the project projection and current computational region of the"}}, "/locations/{project_name}/mapsets": {"get": {"tags": ["Mapset Management"], "description": "Get a list of all mapsets that are located in a specific project. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The name of the project", "required": true, "in": "path", "type": "string", "default": "nc_spm_08"}], "responses": {"200": {"description": "This response returns a list of mapset names and the log of the process chain that was used to create the response.", "schema": {"$ref": "#/definitions/StringListProcessingResultResponseModel"}}, "400": {"description": "The error message and a detailed log why listing of mapsets did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Get a list of all mapsets that are located in a specific project.<br/>Get a list of all mapsets that are located in a specific project."}}, "/locations/{project_name}/mapsets/{mapset_name}": {"delete": {"tags": ["Mapset Management"], "description": "Delete an existing mapset. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The name of the project", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset", "required": true, "in": "path", "type": "string"}], "responses": {"200": {"description": "Success message for mapset deletion", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}, "400": {"description": "The error message and a detailed error log", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Delete an existing mapset<br/>Delete an existing mapset"}, "post": {"tags": ["Mapset Management"], "description": "Create a new mapset in an existing project. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The name of the project", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset", "required": true, "in": "path", "type": "string"}], "responses": {"200": {"description": "Success message for mapset creation", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}, "400": {"description": "The error message and a detailed error log", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Create a new mapset in an existing project.<br/>Create a new mapset in an existing project."}}, "/locations/{project_name}/mapsets/{mapset_name}/info": {"get": {"tags": ["Mapset Management"], "description": "Get the current computational region of the mapset and the projection of the project as WKT string. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The name of the project", "required": true, "in": "path", "type": "string", "default": "nc_spm_08"}, {"name": "mapset_name", "description": "The name of the mapset", "required": true, "in": "path", "type": "string", "default": "PERMANENT"}], "responses": {"200": {"description": "The current computational region of the mapset and the projection of the project", "schema": {"$ref": "#/definitions/MapsetInfoResponseModel"}}, "400": {"description": "The error message and a detailed error log", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Get the current computational region of the mapset and the projection<br/>Get the current computational region of the mapset and the projection"}}, "/locations/{project_name}/mapsets/{mapset_name}/landsat_import": {"post": {"tags": ["Satellite Image Algorithms"], "description": "Download and import Landsat scenes into a new mapset and create a space-time raster dataset for each imported band. The resulting data will be located in a persistent user database. The project name is part of the path and must exist. The mapset will be created while importing and should not already exist in the project. The names of theLandsat scenes that should be downloaded must be specified in the HTTP body as application/json content. In addition, the basename of the STRDS that should manage the Landsat scenes must be provided in the application/json content. For each band a separate strds will be cerated and the STRDS base name will be extended with the band number. This call is performed asynchronously. The provided resource URL must be pulled to receive the status of the import. The data is available in the provided project/mapset, after the download and import finished. Minimum required user role: user.", "consumes": ["application/json"], "parameters": [{"name": "project_name", "description": "The project name to import the Landsat scenes in", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset to import the Landsat scenes in", "required": true, "in": "path", "type": "string"}, {"name": "tiles", "description": "The list of Landsat scenes, the band names and the target STRDS names", "required": true, "in": "body", "schema": {"$ref": "#/definitions/LandsatSceneListModel"}}], "responses": {"200": {"description": "The result of the Landsat time series import", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}, "400": {"description": "The error message and a detailed log why Landsat time series import did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Download and import Landsat scenes into a new mapset and create a<br/>Download and import Landsat scenes into a new mapset and create a"}}, "/locations/{project_name}/mapsets/{mapset_name}/lock": {"get": {"tags": ["Mapset Management"], "description": "Get the project/mapset lock status. Minimum required user role: admin.", "parameters": [{"name": "project_name", "description": "The name of the project", "required": true, "in": "path", "type": "string", "default": "nc_spm_08"}, {"name": "mapset_name", "description": "The name of the mapset", "required": true, "in": "path", "type": "string", "default": "PERMANENT"}], "responses": {"200": {"description": "Get the project/mapset lock status, either \"True\" or \"None\"", "schema": {"$ref": "#/definitions/MapsetLockManagementResponseModel"}}, "400": {"description": "The error message and a detailed error log", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}}, "summary": "Get the project/mapset lock status.<br/>Get the project/mapset lock status."}, "delete": {"tags": ["Mapset Management"], "description": "Delete a project/mapset lock. A project/mapset lock can be deleted so that operation can be performed on it until it is locked. Minimum required user role: admin.", "parameters": [{"name": "project_name", "description": "The name of the project", "required": true, "in": "path", "type": "string", "default": "nc_spm_08"}, {"name": "mapset_name", "description": "The name of the mapset", "required": true, "in": "path", "type": "string", "default": "PERMANENT"}], "responses": {"200": {"description": "Success message if the project/mapset was unlocked successfully", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}, "400": {"description": "The error message and a detailed error log", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}}, "summary": "Delete a project/mapset lock.<br/>Delete a project/mapset lock."}, "post": {"tags": ["Mapset Management"], "description": "Create a project/mapset lock. A project/mapset lock can be created so that no operation can be performed on it until it is unlocked. Minimum required user role: admin.", "parameters": [{"name": "project_name", "description": "The name of the project", "required": true, "in": "path", "type": "string", "default": "nc_spm_08"}, {"name": "mapset_name", "description": "The name of the mapset", "required": true, "in": "path", "type": "string", "default": "PERMANENT"}], "responses": {"200": {"description": "Success message if the project/mapset was locked successfully", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}, "400": {"description": "The error message and a detailed error log", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}}, "summary": "Create a project/mapset lock.<br/>Create a project/mapset lock."}}, "/locations/{project_name}/mapsets/{mapset_name}/processing": {"post": {"tags": ["Processing"], "description": "Execute a user defined process chain in an existing mapset\nof the persistent user database or in a new mapset that will be\ncreated by this request in the persistent user database.\n\nThe process chain is executed asynchronously. The provided status URL\nin the response must be polled to gain information about the processing\nprogress and finishing status.\n\n**Note**\n\n    Space-time dataset processing can only be performed in a new mapset\n    that is created by this resource call, since merging of temporal databases\n    of different mapsets is not supported yet.\n\nThe mapset that is used for processing will be locked until the process\nchain execution finished (successfully or not), even if the mapset is be\ncreated by the request.\nOther requests on the locked mapset will abort with a mapset lock error.\n\nThe persistent user database will not be modified if\nthe process chain does not run successfully. The processing is performed in an\nephemeral database and then merged or copied into the persistent user database.\n\n**Note**\n\n    Make sure that the process chain definition identifies all raster, vector\n    or space time datasets correctly with name and mapset: name@mapset.\n\n    All required mapsets will be identified by analysing the input parameter\n    of all module descriptions in the provided process chain\n    and mounted into the ephemeral database that is used for processing.\n\n", "consumes": ["application/json"], "parameters": [{"name": "project_name", "description": "The project name", "required": true, "in": "path", "type": "string", "default": "nc_spm_08"}, {"name": "mapset_name", "description": "The name of an existing mapset or a new mapset that should be created", "required": true, "in": "path", "type": "string"}, {"name": "process_chain", "description": "The process chain that should be executed", "required": true, "in": "body", "schema": {"$ref": "#/definitions/ProcessChainModel"}}], "responses": {"200": {"description": "The result of the process chain execution", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}, "400": {"description": "The error message and a detailed log why process chain execution did not succeed", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}}, "summary": "Execute a user defined process chain that creates a new mapset or<br/>Execute a user defined process chain that creates a new mapset or"}}, "/locations/{project_name}/mapsets/{mapset_name}/processing_async": {"post": {"tags": ["Processing"], "description": "Execute a user defined process chain in an existing mapset\nof the persistent user database or in a new mapset that will be\ncreated by this request in the persistent user database.\n\nThe process chain is executed asynchronously. The provided status URL\nin the response must be polled to gain information about the processing\nprogress and finishing status.\n\n**Note**\n\n    Space-time dataset processing can only be performed in a new mapset\n    that is created by this resource call, since merging of temporal databases\n    of different mapsets is not supported yet.\n\nThe mapset that is used for processing will be locked until the process\nchain execution finished (successfully or not), even if the mapset is be\ncreated by the request.\nOther requests on the locked mapset will abort with a mapset lock error.\n\nThe persistent user database will not be modified if\nthe process chain does not run successfully. The processing is performed in an\nephemeral database and then merged or copied into the persistent user database.\n\n**Note**\n\n    Make sure that the process chain definition identifies all raster, vector\n    or space time datasets correctly with name and mapset: name@mapset.\n\n    All required mapsets will be identified by analysing the input parameter\n    of all module descriptions in the provided process chain\n    and mounted into the ephemeral database that is used for processing.\n\n", "consumes": ["application/json"], "parameters": [{"name": "project_name", "description": "The project name", "required": true, "in": "path", "type": "string", "default": "nc_spm_08"}, {"name": "mapset_name", "description": "The name of an existing mapset or a new mapset that should be created", "required": true, "in": "path", "type": "string"}, {"name": "process_chain", "description": "The process chain that should be executed", "required": true, "in": "body", "schema": {"$ref": "#/definitions/ProcessChainModel"}}], "responses": {"200": {"description": "The result of the process chain execution", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}, "400": {"description": "The error message and a detailed log why process chain execution did not succeed", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}}, "summary": "Execute a user defined process chain that creates a new mapset or<br/>Execute a user defined process chain that creates a new mapset or"}}, "/locations/{project_name}/mapsets/{mapset_name}/raster_layers": {"get": {"tags": ["Raster Management"], "description": "Get a list of raster map layer names that are located in a specific project/mapset. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The name of the project that should be accessed", "required": true, "in": "path", "type": "string", "default": "nc_spm_08"}, {"name": "mapset_name", "description": "The name of the mapset from which the raster map layers should be listed", "required": true, "in": "path", "type": "string", "default": "PERMANENT"}, {"name": "pattern", "description": "A parameter passed to g.list for raster map layer selection, eg.: http://<url>?pattern=\"*\"", "required": false, "in": "query", "type": "string"}], "responses": {"200": {"description": "This response returns a list of raster map layers and the log of the process chain that was used to create the response.", "schema": {"$ref": "#/definitions/StringListProcessingResultResponseModel"}}, "400": {"description": "The error message and a detailed log why listing of raster map layers did not succeeded", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}}, "summary": "Get a list of raster map layer names that are located in a specific<br/>Get a list of raster map layer names that are located in a specific"}, "delete": {"tags": ["Raster Management"], "description": "Delete a single raster map layer or a list of raster map layer names that are located in a specific project/mapset. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The name of the project that should be accessed", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset from which the raster map layers should be deleted", "required": true, "in": "path", "type": "string"}, {"name": "pattern", "description": "A parameter passed for g.remove to remove a list of raster map layers, to remove all eg.: http://<url>?pattern=\"*\"", "required": false, "in": "query", "type": "string"}], "responses": {"200": {"description": "This response returns the log of the process chain that was used to create the response.", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}, "400": {"description": "The error message and a detailed log why deletion of raster map layers did not succeeded", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}}, "summary": "Delete a single raster map layer or a list of raster map layer names<br/>Delete a single raster map layer or a list of raster map layer names"}, "put": {"tags": ["Raster Management"], "description": "Rename a single raster map layer or a list of raster map layers that are located in a specific project/mapset. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The name of the project that should be accessed", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset from which the raster map layers should be renamed", "required": true, "in": "path", "type": "string"}, {"name": "rename_list", "description": "A list of raster name tuples [(a, a_new),(b, b_new),(c, c_new), ...]", "required": true, "in": "body", "schema": {"type": "string"}}], "responses": {"200": {"description": "This response returns the log of the process chain that was used to create the response.", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}, "400": {"description": "The error message and a detailed log why listing of raster map layers did not succeeded", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}}, "summary": "Rename a single raster map layer or a list of raster map layers that<br/>Rename a single raster map layer or a list of raster map layers that"}}, "/locations/{project_name}/mapsets/{mapset_name}/raster_layers/{raster_name}": {"get": {"tags": ["Raster Management"], "description": "Get information about an existing raster map layer. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The project name", "required": true, "in": "path", "type": "string", "default": "nc_spm_08"}, {"name": "mapset_name", "description": "The name of the mapset that contains the required raster map layer", "required": true, "in": "path", "type": "string", "default": "PERMANENT"}, {"name": "raster_name", "description": "The name of the raster map layer to get information about", "required": true, "in": "path", "type": "string", "default": "elevation"}], "consumes": ["application/json"], "produces": ["application/json"], "responses": {"200": {"description": "The raster map layer information", "schema": {"$ref": "#/definitions/RasterInfoResponseModel"}}, "400": {"description": "The error message and a detailed log why gathering raster map layer information did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Get information about an existing raster map layer.<br/>Get information about an existing raster map layer."}, "delete": {"tags": ["Raster Management"], "description": "Delete an existing raster map layer. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The project name", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset that contains the required raster map layer", "required": true, "in": "path", "type": "string"}, {"name": "raster_name", "description": "The name of the raster map layer to be deleted", "required": true, "in": "path", "type": "string"}], "produces": ["application/json"], "responses": {"200": {"description": "Successfuly delete a raster map layer", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}, "400": {"description": "The error message and a detailed log why raster map layer deletion did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Delete an existing raster map layer.<br/>Delete an existing raster map layer."}, "post": {"tags": ["Raster Management"], "description": "Create a new raster map layer by uploading a GeoTIFF. This method will fail if the map already exists. An example request is 'curl -L -u \"XXX:XXX\" -X POST -H \"Content-Type: multipart/form-data\" -F \"file=@/home/....tif\" http://localhost:8088/api/v3/projects/nc_spm_08/mapsets/test_mapset/raster_layers/testraster'. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The project name", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset in which the raster map layer should be created", "required": true, "in": "path", "type": "string"}, {"name": "raster_name", "description": "The name of the new raster map layer to be created", "required": true, "in": "path", "type": "string"}], "consumes": ["Content-Type: multipart/form-data"], "produces": ["application/json"], "responses": {"200": {"description": "Raster map layer import information", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}, "400": {"description": "The error message and a detailed log why raster map layer import failed", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Create a new raster layer by uploading a GeoTIFF<br/>Create a new raster layer by uploading a GeoTIFF"}}, "/locations/{project_name}/mapsets/{mapset_name}/raster_layers/{raster_name}/area_stats_async": {"post": {"tags": ["Raster Statistics"], "description": "Compute areal categorical statistics on a raster map layer based on an input polygon. The input polygon must be provided as GeoJSON content in the request body. A correct coordinate reference system must be present in the GeoJSON definition. For each category the size of the occupied area, the number of pixel of the area and the percentage of the area size in relation to all other categories inclusive NULL data are computed. Minimum required user role: user.", "consumes": ["application/json"], "parameters": [{"name": "project_name", "description": "The project name", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset that contains the required raster map layer", "required": true, "in": "path", "type": "string"}, {"name": "raster_name", "description": "The name of the raster map layer to compute the statistics from", "required": true, "in": "path", "type": "string"}, {"name": "shape", "description": "GeoJSON definition of the polygon to compute the statistics for.", "required": true, "in": "body", "schema": {"type": "string"}}], "responses": {"200": {"description": "The result of the areal raster statistical computation", "schema": {"$ref": "#/definitions/RasterAreaStatsResponseModel"}}, "400": {"description": "The error message and a detailed log why raster statistic did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Compute areal categorical statistics on a raster map layer based on<br/>Compute areal categorical statistics on a raster map layer based on"}}, "/locations/{project_name}/mapsets/{mapset_name}/raster_layers/{raster_name}/area_stats_sync": {"post": {"tags": ["Raster Statistics"], "description": "Compute areal categorical statistics on a raster map layer based on an input polygon. The input polygon must be provided as GeoJSON content in the request body. A correct coordinate reference system must be present in the GeoJSON definition. For each category the size of the occupied area, the number of pixel of the area and the percentage of the area size in relation to all other categories inclusive NULL data are computed. Minimum required user role: user.", "consumes": ["application/json"], "parameters": [{"name": "project_name", "description": "The project name", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset that contains the required raster map layer", "required": true, "in": "path", "type": "string"}, {"name": "raster_name", "description": "The name of the raster map layer to compute the statistics from", "required": true, "in": "path", "type": "string"}, {"name": "shape", "description": "GeoJSON definition of the polygon to compute the statistics for.", "required": true, "in": "body", "schema": {"type": "string"}}], "responses": {"200": {"description": "The result of the areal raster statistical computation", "schema": {"$ref": "#/definitions/RasterAreaStatsResponseModel"}}, "400": {"description": "The error message and a detailed log why raster statistic did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Compute areal categorical statistics on a raster map layer based on an<br/>Compute areal categorical statistics on a raster map layer based on an"}}, "/locations/{project_name}/mapsets/{mapset_name}/raster_layers/{raster_name}/area_stats_univar_async": {"post": {"tags": ["Raster Statistics"], "description": "Compute areal univariate statistics on a raster map layer based on an input polygon. The input polygon must be provided as GeoJSON content in the request body. A correct coordinate reference system must be present in the GeoJSON definition. Minimum required user role: user.", "consumes": ["application/json"], "parameters": [{"name": "project_name", "description": "The project name", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset that contains the required raster map layer", "required": true, "in": "path", "type": "string"}, {"name": "raster_name", "description": "The name of the raster map layer to compute the statistics from", "required": true, "in": "path", "type": "string"}, {"name": "shape", "description": "GeoJSON definition of the polygon to compute the statistics for.", "required": true, "in": "body", "schema": {"type": "string"}}], "responses": {"200": {"description": "The result of the areal raster statistical computation", "schema": {"$ref": "#/definitions/RasterAreaUnivarStatsResponseModel"}}, "400": {"description": "The error message and a detailed log why raster statistic did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Compute areal univariate statistics on a raster map layer based on an<br/>Compute areal univariate statistics on a raster map layer based on an"}}, "/locations/{project_name}/mapsets/{mapset_name}/raster_layers/{raster_name}/area_stats_univar_sync": {"post": {"tags": ["Raster Statistics"], "description": "Compute areal univariate statistics on a raster map layer based on an input polygon. The input polygon must be provided as GeoJSON content in the request body. A correct coordinate reference system must be present in the GeoJSON definition. Minimum required user role: user.", "consumes": ["application/json"], "parameters": [{"name": "project_name", "description": "The project name", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset that contains the required raster map layer", "required": true, "in": "path", "type": "string"}, {"name": "raster_name", "description": "The name of the raster map layer to compute the statistics from", "required": true, "in": "path", "type": "string"}, {"name": "shape", "description": "GeoJSON definition of the polygon to compute the statistics for.", "required": true, "in": "body", "schema": {"type": "string"}}], "responses": {"200": {"description": "The result of the areal raster statistical computation", "schema": {"$ref": "#/definitions/RasterAreaUnivarStatsResponseModel"}}, "400": {"description": "The error message and a detailed log why raster statistic did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Compute areal univariate statistics on a raster map layer based on an<br/>Compute areal univariate statistics on a raster map layer based on an"}}, "/locations/{project_name}/mapsets/{mapset_name}/raster_layers/{raster_name}/colors": {"get": {"tags": ["Raster Management"], "description": "Get the color definition of an existing raster map layer. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The project name", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset that contains the required raster map layer", "required": true, "in": "path", "type": "string"}, {"name": "raster_name", "description": "The name of the raster map layer to get the color table from", "required": true, "in": "path", "type": "string"}], "produces": ["application/json"], "responses": {"200": {"description": "A list of color rules", "schema": {"$ref": "#/definitions/StringListProcessingResultResponseModel"}}, "400": {"description": "The error message and a detailed error log", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Get the color definition of an existing raster map layer.<br/>Get the color definition of an existing raster map layer."}, "post": {"tags": ["Raster Management"], "description": "Set the color definition for an existing raster map layer. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The project name", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset that contains the required raster map layer", "required": true, "in": "path", "type": "string"}, {"name": "raster_name", "description": "The name of the raster map layer to set the color table", "required": true, "in": "path", "type": "string"}, {"name": "color", "description": "The color definition.", "required": true, "in": "body", "schema": {"$ref": "#/definitions/RasterColorModel"}}], "produces": ["application/json"], "consumes": ["application/json"], "responses": {"200": {"description": "Successfuly set the color table for a raster map layer", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}, "400": {"description": "The error message and a detailed error log", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Set the color definition for an existing raster map layer.<br/>Set the color definition for an existing raster map layer."}}, "/locations/{project_name}/mapsets/{mapset_name}/raster_layers/{raster_name}/geotiff_async": {"post": {"tags": ["Raster Management"], "description": "Export an existing raster map layer as GTiff or COG (if COG driver available). The link to the exported raster map layer is located in the JSON response.The current region settings of the mapset are used to export the raster layer. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The project name", "required": true, "in": "path", "type": "string", "default": "nc_spm_08"}, {"name": "mapset_name", "description": "The name of the mapset that contains the required raster map layer", "required": true, "in": "path", "type": "string", "default": "PERMANENT"}, {"name": "raster_name", "description": "The name of the raster map layer to export", "required": true, "in": "path", "type": "string", "default": "elevation"}], "consumes": ["application/json"], "produces": ["application/json"], "responses": {"200": {"description": "The response including the URL to the raster map layer GeoTiff file", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}, "400": {"description": "The error message and a detailed log why gathering raster map layer information did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Export an existing raster map layer as GeoTiff.<br/>Export an existing raster map layer as GeoTiff."}}, "/locations/{project_name}/mapsets/{mapset_name}/raster_layers/{raster_name}/geotiff_async_orig": {"post": {"tags": ["Raster Management"], "description": "Export an existing raster map layer as GTiff or COG (if COG driver available). The link to the exported raster map layer is located in the JSON response. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The project name", "required": true, "in": "path", "type": "string", "default": "nc_spm_08"}, {"name": "mapset_name", "description": "The name of the mapset that contains the required raster map layer", "required": true, "in": "path", "type": "string", "default": "PERMANENT"}, {"name": "raster_name", "description": "The name of the raster map layer to export", "required": true, "in": "path", "type": "string", "default": "elevation"}], "consumes": ["application/json"], "produces": ["application/json"], "responses": {"200": {"description": "The response including the URL to the raster map layer GeoTiff file", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}, "400": {"description": "The error message and a detailed log why gathering raster map layer information did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Export an existing raster map layer as GeoTiff using the raster<br/>Export an existing raster map layer as GeoTiff using the raster"}}, "/locations/{project_name}/mapsets/{mapset_name}/raster_layers/{raster_name}/legend": {"get": {"tags": ["Raster Management"], "description": "Render the legend of a raster map layer as a PNG image. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The project name", "required": true, "in": "path", "type": "string", "default": "nc_spm_08"}, {"name": "mapset_name", "description": "The name of the mapset that contains the required raster map layer", "required": true, "in": "path", "type": "string", "default": "PERMANENT"}, {"name": "raster_name", "description": "The name of the raster map layer of which the legend should be rendered", "required": true, "in": "path", "type": "string", "default": "elevation"}], "produces": ["image/png"], "responses": {"200": {"description": "The PNG image"}, "400": {"description": "The error message and a detailed log why legend rendering did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Render the legend of a raster map layer as a PNG image.<br/>Render the legend of a raster map layer as a PNG image."}}, "/locations/{project_name}/mapsets/{mapset_name}/raster_layers/{raster_name}/render": {"get": {"tags": ["Raster Management"], "description": "Render a raster map layer as a PNG image. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The project name", "required": true, "in": "path", "type": "string", "default": "nc_spm_08"}, {"name": "mapset_name", "description": "The name of the mapset that contains the required raster map layer", "required": true, "in": "path", "type": "string", "default": "PERMANENT"}, {"name": "raster_name", "description": "The name of the raster map layer to render", "required": true, "in": "path", "type": "string", "default": "elevation"}, {"name": "n", "description": "Northern border", "required": false, "in": "query", "type": "number", "format": "double"}, {"name": "s", "description": "Southern border", "required": false, "in": "query", "type": "number", "format": "double"}, {"name": "e", "description": "Eastern border", "required": false, "in": "query", "type": "number", "format": "double"}, {"name": "w", "description": "Western border", "required": false, "in": "query", "type": "number", "format": "double"}, {"name": "width", "description": "Image width in pixel, default is 800", "required": false, "in": "query", "type": "number", "format": "integer", "default": 800}, {"name": "height", "description": "Image height in pixel, default is 600", "required": false, "in": "query", "type": "number", "format": "integer", "default": 600}], "produces": ["image/png"], "responses": {"200": {"description": "The PNG image"}, "400": {"description": "The error message and a detailed log why rendering did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Render a raster map layer as a PNG image.<br/>Render a raster map layer as a PNG image."}}, "/locations/{project_name}/mapsets/{mapset_name}/raster_layers/{raster_name}/sampling_async": {"post": {"tags": ["Raster Sampling"], "description": "Spatial sampling of a raster dataset with vector points. The vector points must be in the same coordinate reference system as the project that contains the raster dataset. The result of the sampling is located in the resource responseJSON document after the processing was finished, as a list of values for each vector point. Minimum required user role: user.", "consumes": ["application/json"], "parameters": [{"name": "project_name", "description": "The project name", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset that contains the required raster map layer", "required": true, "in": "path", "type": "string"}, {"name": "raster_name", "description": "The name of the raster map layer to perform the raster map sampling from", "required": true, "in": "path", "type": "string"}, {"name": "points", "description": "The sampling point array [[id, x, y],[id, x, y]]. The coordinates of the sampling points must be in the same coordinate reference system as the project that contains the vector dataset.", "required": true, "in": "body", "schema": {"$ref": "#/definitions/PointListModel"}}], "responses": {"200": {"description": "The result of the raster map sampling", "schema": {"$ref": "#/definitions/RasterSamplingResponseModel"}}, "400": {"description": "The error message and a detailed log why raster sampling did not succeed", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Perform raster map sampling on a raster map layer based on input<br/>Perform raster map sampling on a raster map layer based on input"}}, "/locations/{project_name}/mapsets/{mapset_name}/raster_layers/{raster_name}/sampling_sync": {"post": {"tags": ["Raster Sampling"], "description": "Spatial sampling of a raster dataset with vector points. The vector points must be in the same coordinate reference system as the project that contains the raster dataset. The result of the sampling is located in the resource responseJSON document after the processing was finished, as a list of values for each vector point. Minimum required user role: user.", "consumes": ["application/json"], "parameters": [{"name": "project_name", "description": "The project name", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset that contains the required raster map layer", "required": true, "in": "path", "type": "string"}, {"name": "raster_name", "description": "The name of the raster map layer to perform the raster map sampling from", "required": true, "in": "path", "type": "string"}, {"name": "points", "description": "The sampling point array [[id, x, y],[id, x, y]]. The coordinates of the sampling points must be in the same coordinate reference system as the project that contains the vector dataset.", "required": true, "in": "body", "schema": {"$ref": "#/definitions/PointListModel"}}], "responses": {"200": {"description": "The result of the raster map sampling", "schema": {"$ref": "#/definitions/RasterSamplingResponseModel"}}, "400": {"description": "The error message and a detailed log why raster sampling did not succeed", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Perform raster map sampling on a raster map layer based on input<br/>Perform raster map sampling on a raster map layer based on input"}}, "/locations/{project_name}/mapsets/{mapset_name}/render_rgb": {"get": {"tags": ["Raster Management"], "description": "Render three raster map layer as composed RGB PNG image. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The project name", "required": true, "in": "path", "type": "string", "default": "nc_spm_08"}, {"name": "mapset_name", "description": "The name of the mapset that contains the required raster map layer", "required": true, "in": "path", "type": "string", "default": "landsat"}, {"name": "red", "description": "The name of the raster map layer to render as color red", "required": true, "in": "query", "type": "string", "default": "lsat5_1987_30"}, {"name": "green", "description": "The name of the raster map layer to render as color green", "required": true, "in": "query", "type": "string", "default": "lsat5_1987_20"}, {"name": "blue", "description": "The name of the raster map layer to render as color blue", "required": true, "in": "query", "type": "string", "default": "lsat5_1987_10"}, {"name": "n", "description": "Northern border", "required": false, "in": "query", "type": "number", "format": "double"}, {"name": "s", "description": "Southern border", "required": false, "in": "query", "type": "number", "format": "double"}, {"name": "e", "description": "Eastern border", "required": false, "in": "query", "type": "number", "format": "double"}, {"name": "w", "description": "Western border", "required": false, "in": "query", "type": "number", "format": "double"}, {"name": "width", "description": "Image width in pixel, default is 800", "required": false, "in": "query", "type": "number", "format": "integer", "default": 800}, {"name": "height", "description": "Image height in pixel, default is 600", "required": false, "in": "query", "type": "number", "format": "integer", "default": 600}], "produces": ["image/png"], "responses": {"200": {"description": "The RGB composition PNG image"}, "400": {"description": "The error message and a detailed log why rendering did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Render three raster map layer as composed RGB PNG image.<br/>Render three raster map layer as composed RGB PNG image."}}, "/locations/{project_name}/mapsets/{mapset_name}/render_shade": {"get": {"tags": ["Raster Management"], "description": "Render two raster layers as a composed shade PNG image. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The project name", "required": true, "in": "path", "type": "string", "default": "nc_spm_08"}, {"name": "mapset_name", "description": "The name of the mapset that contains the required raster map layer", "required": true, "in": "path", "type": "string", "default": "PERMANENT"}, {"name": "shade", "description": "The name of the raster map layer to be used for shading", "required": true, "in": "query", "type": "string", "default": "aspect"}, {"name": "color", "description": "The name of the raster map layer to be used for coloring", "required": true, "in": "query", "type": "string", "default": "elevation"}, {"name": "n", "description": "Northern border", "required": false, "in": "query", "type": "number", "format": "double"}, {"name": "s", "description": "Southern border", "required": false, "in": "query", "type": "number", "format": "double"}, {"name": "e", "description": "Eastern border", "required": false, "in": "query", "type": "number", "format": "double"}, {"name": "w", "description": "Western border", "required": false, "in": "query", "type": "number", "format": "double"}, {"name": "width", "description": "Image width in pixel, default is 800", "required": false, "in": "query", "type": "number", "format": "integer", "default": 800}, {"name": "height", "description": "Image height in pixel, default is 600", "required": false, "in": "query", "type": "number", "format": "integer", "default": 600}], "produces": ["image/png"], "responses": {"200": {"description": "The shade/color composition PNG image"}, "400": {"description": "The error message and a detailed log why rendering did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Render two raster layers as a composed shade PNG image<br/>Render two raster layers as a composed shade PNG image"}}, "/locations/{project_name}/mapsets/{mapset_name}/sentinel2_import": {"post": {"tags": ["Satellite Image Algorithms"], "description": "Download and import Sentinel2A scenes into a new mapset and create a space-time raster dataset for each imported band. The resulting data will be located in a persistent user database. The project name is part of the path and must exist. The mapset will be created while importing and should not already exist in the project. The names of the Sentinel-2 scenes and the band names that should be downloaded must be specified in the HTTP body as application/json content. In addition, the names of the STRDS that should manage the sentinel scenes must be provided in the application/json content. For each band a separate STRDS name must be provided. This call is performed asynchronously. The provided resource URL must be pulled to receive the status of the import. The data is available in the provided project/mapset, after the download and import finished. Minimum required user role: user.", "consumes": ["application/json"], "parameters": [{"name": "project_name", "description": "The project name to import the Sentinel2A scenes in", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset to import the Sentinel2A scenes in", "required": true, "in": "path", "type": "string"}, {"name": "tiles", "description": "The list of Sentinel-2 scenes, the band names and the target STRDS names", "required": true, "in": "body", "schema": {"$ref": "#/definitions/Sentinel2ASceneListModel"}}], "responses": {"200": {"description": "The result of the Sentinel-2 time series import", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}, "400": {"description": "The error message and a detailed log why Sentinel 2A time series import did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Download and import Sentinel2A scenes into a new mapset and create<br/>Download and import Sentinel2A scenes into a new mapset and create"}}, "/locations/{project_name}/mapsets/{mapset_name}/strds": {"get": {"tags": ["STRDS Management"], "description": "Get a list of all STRDS that are located in a specific project/mapset. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The name of the project", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset", "required": true, "in": "path", "type": "string"}, {"name": "where", "description": "A where statement to select user specific STRDS", "required": false, "in": "query", "type": "string"}], "responses": {"200": {"description": "This response returns a list of STRDS names and timestamps and the log of the process chain that was used to create the response.", "schema": {"$ref": "#/definitions/StringListProcessingResultResponseModel"}}, "400": {"description": "The error message and a detailed log why listing of STRDS did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Get a list of all STRDS that are located in a specific project/mapset.<br/>Get a list of all STRDS that are located in a specific project/mapset."}}, "/locations/{project_name}/mapsets/{mapset_name}/strds/{strds_name}": {"get": {"tags": ["STRDS Management"], "description": "Get information about a STRDS that is located in a specific project/mapset. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The name of the project", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset", "required": true, "in": "path", "type": "string"}, {"name": "strds_name", "description": "The name of the STRDS", "required": true, "in": "path", "type": "string"}], "responses": {"200": {"description": "This response returns information about a specific STRDS and the log of the process chain that was used to create the response.", "schema": {"$ref": "#/definitions/STRDSInfoResponseModel"}}, "400": {"description": "The error message and a detailed log why information gathering of the STRDS did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Get information about a STRDS that is located in a specific<br/>Get information about a STRDS that is located in a specific"}, "delete": {"tags": ["STRDS Management"], "description": "Delete a STRDS that is located in a specific project/mapset. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The name of the project", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset", "required": true, "in": "path", "type": "string"}, {"name": "strds_name", "description": "The name of the STRDS", "required": true, "in": "path", "type": "string"}, {"name": "recursive", "description": "Delete the STRDS and all registered raster map layer recursively", "required": false, "in": "query", "type": "boolean"}], "responses": {"200": {"description": "Deletion of the STRDS was successfully finished.", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}, "400": {"description": "The error message and a detailed log why deletion of the STRDS did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Delete a STRDS that is located in a specific project/mapset.<br/>Delete a STRDS that is located in a specific project/mapset."}, "post": {"tags": ["STRDS Management"], "description": "Create a new STRDS in a specific project/mapset. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The name of the project", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset", "required": true, "in": "path", "type": "string"}, {"name": "strds_name", "description": "The name of the STRDS", "required": true, "in": "path", "type": "string"}, {"name": "metadata", "description": "Temporal type, title and description of the STRDS", "required": true, "in": "body", "schema": {"$ref": "#/definitions/STRDSCreationModel"}}], "responses": {"200": {"description": "Creation of the STRDS was successfully finished.", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}, "400": {"description": "The error message and a detailed log why creation of the STRDS did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Create a new STRDS in a specific project/mapset.<br/>Create a new STRDS in a specific project/mapset."}}, "/locations/{project_name}/mapsets/{mapset_name}/strds/{strds_name}/raster_layers": {"get": {"tags": ["STRDS Management"], "description": "Get a list of all raster map layers that are registered in a STRDS that is located in a specific project/mapset. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The name of the project", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset", "required": true, "in": "path", "type": "string"}, {"name": "strds_name", "description": "The name of the STRDS", "required": true, "in": "path", "type": "string"}, {"name": "where", "description": "A where statement to select user specific raster map layers from the STRDS", "required": false, "in": "query", "type": "string"}], "responses": {"200": {"description": "This response returns a list of all raster map layers that are registered a specific STRDS and the log of the process chain that was used to create the response.", "schema": {"$ref": "#/definitions/STRDSRasterListResponseModel"}}, "400": {"description": "The error message and a detailed log why creating a list of raster map layers from STRDS did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Get a list of all raster map layers that are registered in a STRDS<br/>Get a list of all raster map layers that are registered in a STRDS"}, "delete": {"tags": ["STRDS Management"], "description": "Unregister raster map layers from a STRDS located in a specific project/mapset. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The name of the project", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset", "required": true, "in": "path", "type": "string"}, {"name": "strds_name", "description": "The name of the STRDS", "required": true, "in": "path", "type": "string"}, {"name": "raster_list", "description": "The list of raster map layers to be unregistered from the STRDS", "required": true, "in": "body", "schema": {"type": "array", "items": {"type": "string"}}}], "responses": {"200": {"description": "Unregistration of raster map layers was successfully finished.", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}, "400": {"description": "The error message and a detailed log why raster map layer unregistration did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Unregister raster map layers from a STRDS located in a specific<br/>Unregister raster map layers from a STRDS located in a specific"}, "put": {"tags": ["STRDS Management"], "description": "Register raster map layers in a STRDS located in a specific project/mapset. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The name of the project", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset", "required": true, "in": "path", "type": "string"}, {"name": "strds_name", "description": "The name of the STRDS", "required": true, "in": "path", "type": "string"}, {"name": "raster_list", "description": "The list of raster map layers to be registered in the STRDS", "required": true, "in": "body", "schema": {"$ref": "#/definitions/RasterListRegisterModel"}}], "responses": {"200": {"description": "Registration of raster map layers was successfully finished.", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}, "400": {"description": "The error message and a detailed log why raster map layer registration did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Register raster map layers in a STRDS located in a specific<br/>Register raster map layers in a STRDS located in a specific"}}, "/locations/{project_name}/mapsets/{mapset_name}/strds/{strds_name}/render": {"get": {"tags": ["STRDS Management"], "description": "Render the raster map layers of a specific STRDS as a single image. All raster layers are rendered in order of their time stamps, from past to future. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The project name", "required": true, "in": "path", "type": "string", "default": "nc_spm_08"}, {"name": "mapset_name", "description": "The name of the mapset that contains the required raster map layer", "required": true, "in": "path", "type": "string", "default": "PERMANENT"}, {"name": "strds_name", "description": "The name of the STRDS to render", "required": true, "in": "path", "type": "string", "default": "elevation"}, {"name": "n", "description": "Northern border", "required": false, "in": "query", "type": "number", "format": "double"}, {"name": "s", "description": "Southern border", "required": false, "in": "query", "type": "number", "format": "double"}, {"name": "e", "description": "Eastern border", "required": false, "in": "query", "type": "number", "format": "double"}, {"name": "w", "description": "Western border", "required": false, "in": "query", "type": "number", "format": "double"}, {"name": "width", "description": "Image width in pixel, default is 800", "required": false, "in": "query", "type": "number", "format": "integer", "default": 800}, {"name": "height", "description": "Image height in pixel, default is 600", "required": false, "in": "query", "type": "number", "format": "integer", "default": 600}, {"name": "start_time", "description": "Raster map layers that have equal or greater the start time will be rendered", "required": false, "in": "query", "type": "string"}, {"name": "end_time", "description": "Raster map layers that have equal or lower the end time will be rendered", "required": false, "in": "query", "type": "string"}], "produces": ["image/png"], "responses": {"200": {"description": "The PNG image"}, "400": {"description": "The error message and a detailed log why rendering did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Render the raster map layers of a specific STRDS as a single image.<br/>Render the raster map layers of a specific STRDS as a single image."}}, "/locations/{project_name}/mapsets/{mapset_name}/strds/{strds_name}/sampling_async": {"post": {"tags": ["STRDS Sampling"], "description": "Spatial sampling of a space-time raster dataset with vector points. The vector points must be in the same coordinate reference system as the project that contains the space-time raster dataset. The result of the sampling is located in the resource responseJSON docuement after the processing was finished, as a list of timestamped values for each vector point. Minimum required user role: user.", "consumes": ["application/json"], "parameters": [{"name": "project_name", "description": "The project name", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset that contains the required raster map layer", "required": true, "in": "path", "type": "string"}, {"name": "strds_name", "description": "The name of the space-time raster dataset that should be sampled", "required": true, "in": "path", "type": "string"}, {"name": "points", "description": "The sampling point array [[id, x, y],[id, x, y]] and an optional where statement. The coordinates of the sampling points must be the same as of the project that contains the space-time raster dataset.", "required": true, "in": "body", "schema": {"$ref": "#/definitions/PointListModel"}}], "responses": {"200": {"description": "The result of the strds sampling", "schema": {"$ref": "#/definitions/STRDSSampleResponseModel"}}, "400": {"description": "The error message and a detailed log why strds sampling did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Sample a strds by point coordinates, asynchronous call<br/>Sample a strds by point coordinates, asynchronous call"}}, "/locations/{project_name}/mapsets/{mapset_name}/strds/{strds_name}/sampling_async_geojson": {"post": {"tags": ["STRDS Sampling"], "description": "Spatial sampling of a space-time raster dataset (STRDS) with vector points. The vector points must be provided as GeoJSON vector point format that includes correct coordinate system specification. The result of the sampling is located in the resource responseJSON document after the processing was finished, as a list of timestamped values for each vector point. Minimum required user role: user.", "consumes": ["application/json"], "parameters": [{"name": "project_name", "description": "The project name", "required": true, "in": "path", "type": "string", "default": "ECAD"}, {"name": "mapset_name", "description": "The name of the mapset that contains the required raster map layer", "required": true, "in": "path", "type": "string", "default": "PERMANENT"}, {"name": "strds_name", "description": "The name of the space-time raster dataset that should be sampled", "required": true, "in": "path", "type": "string", "default": "temperature_mean_1950_2013_yearly_celsius"}, {"name": "points", "description": "GeoJSON vector input that contains the vector points for sampling", "required": true, "in": "body", "schema": "string", "default": "\n{\n\"type\": \"FeatureCollection\",\n\"crs\": {\"type\": \"name\", \"properties\": {\"name\": \"urn:ogc:def:crs:OGC:1.3:\"\n\"CRS84\"}},\n\"features\": [\n    {\"type\": \"Feature\", \"properties\": {\"cat\": 1},\n     \"geometry\": {\"type\": \"Point\", \"coordinates\": [-5.095406, 38.840583]}},\n    {\"type\": \"Feature\", \"properties\": {\"cat\": 2},\n     \"geometry\": {\"type\": \"Point\", \"coordinates\": [9.9681980, 51.666166]}},\n    {\"type\": \"Feature\", \"properties\": {\"cat\": 3},\n     \"geometry\": {\"type\": \"Point\", \"coordinates\": [24.859647, 52.699099]}}\n]\n}\n                        "}], "responses": {"200": {"description": "The result of the strds sampling", "schema": {"$ref": "#/definitions/STRDSSampleGeoJSONResponseModel"}}, "400": {"description": "The error message and a detailed log why strds sampling did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Sample a strds by point coordinates, asynchronous call<br/>Sample a strds by point coordinates, asynchronous call"}}, "/locations/{project_name}/mapsets/{mapset_name}/strds/{strds_name}/sampling_sync": {"post": {"tags": ["STRDS Sampling"], "description": "Spatial sampling of a space-time raster dataset with vector points. The vector points must be in the same coordinate reference system as the project that contains the space-time raster dataset. The result of the sampling is located in the resource responseJSON docuement after the processing was finished, as a list of timestamped values for each vector point. Minimum required user role: user.", "consumes": ["application/json"], "parameters": [{"name": "project_name", "description": "The project name", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset that contains the required raster map layer", "required": true, "in": "path", "type": "string"}, {"name": "strds_name", "description": "The name of the space-time raster dataset that should be sampled", "required": true, "in": "path", "type": "string"}, {"name": "points", "description": "The sampling point array [[id, x, y],[id, x, y]] and an optional where statement. The coordinates of the sampling points must be the same as of the project that contains the space-time raster dataset.", "required": true, "in": "body", "schema": {"$ref": "#/definitions/PointListModel"}}], "responses": {"200": {"description": "The result of the strds sampling", "schema": {"$ref": "#/definitions/STRDSSampleResponseModel"}}, "400": {"description": "The error message and a detailed log why strds sampling did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Sample a strds by point coordinates, synchronous call<br/>Sample a strds by point coordinates, synchronous call"}}, "/locations/{project_name}/mapsets/{mapset_name}/strds/{strds_name}/sampling_sync_geojson": {"post": {"tags": ["STRDS Sampling"], "description": "Spatial sampling of a space-time raster dataset (STRDS) with vector points. The vector points must be provided as GeoJSON vector point format that includes correct coordinate system specification. The result of the sampling is located in the resource responseJSON document after the processing was finished, as a list of timestamped values for each vector point. Minimum required user role: user.", "consumes": ["application/json"], "parameters": [{"name": "project_name", "description": "The project name", "required": true, "in": "path", "type": "string", "default": "ECAD"}, {"name": "mapset_name", "description": "The name of the mapset that contains the required raster map layer", "required": true, "in": "path", "type": "string", "default": "PERMANENT"}, {"name": "strds_name", "description": "The name of the space-time raster dataset that should be sampled", "required": true, "in": "path", "type": "string", "default": "temperature_mean_1950_2013_yearly_celsius"}, {"name": "points", "description": "GeoJSON vector input that contains the vector points for sampling", "required": true, "in": "body", "schema": "string", "default": "\n{\n\"type\": \"FeatureCollection\",\n\"crs\": {\"type\": \"name\", \"properties\": {\"name\": \"urn:ogc:def:crs:OGC:1.3:\"\n\"CRS84\"}},\n\"features\": [\n    {\"type\": \"Feature\", \"properties\": {\"cat\": 1},\n     \"geometry\": {\"type\": \"Point\", \"coordinates\": [-5.095406, 38.840583]}},\n    {\"type\": \"Feature\", \"properties\": {\"cat\": 2},\n     \"geometry\": {\"type\": \"Point\", \"coordinates\": [9.9681980, 51.666166]}},\n    {\"type\": \"Feature\", \"properties\": {\"cat\": 3},\n     \"geometry\": {\"type\": \"Point\", \"coordinates\": [24.859647, 52.699099]}}\n]\n}\n                        "}], "responses": {"200": {"description": "The result of the strds sampling", "schema": {"$ref": "#/definitions/STRDSSampleGeoJSONResponseModel"}}, "400": {"description": "The error message and a detailed log why strds sampling did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Sample a strds by point coordinates, synchronous call<br/>Sample a strds by point coordinates, synchronous call"}}, "/locations/{project_name}/mapsets/{mapset_name}/strds/{strds_name}/timestamp/{timestamp}/area_stats_async": {"post": {"tags": ["STRDS Statistics"], "description": "Compute areal categorical statistics on a raster map layer contained in a space-time raster dataset based on an input polygon. The input polygon must be provided as GeoJSON content in the request body. A correct coordinate reference system must be present in the GeoJSON definition. For each category the size of the occupied area, the number of pixel of the area and the percentage of the area size in relation to all other categories inclusive NULL data are computed. Minimum required user role: user.", "consumes": ["application/json"], "parameters": [{"name": "project_name", "description": "The project name", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset that contains the required space-time raster dataset", "required": true, "in": "path", "type": "string"}, {"name": "strds_name", "description": "The name of the space-time raster dataset to select the raster map layer from", "required": true, "in": "path", "type": "string"}, {"name": "timestamp", "description": "The time stamp that should be used for raster map layer selection. Required format is: YYYY-MM-DDTHH:MM:SS for example 2001-03-16T12:30:15.", "required": true, "in": "path", "type": "string", "format": "dateTime"}, {"name": "shape", "description": "GeoJSON definition of the polygon to compute the statistics for. The .", "required": true, "in": "body", "schema": {"type": "string"}}], "responses": {"200": {"description": "The result of the areal raster statistical computation", "schema": {"$ref": "#/definitions/RasterAreaStatsResponseModel"}}, "400": {"description": "The error message and a detailed log why raster statistic did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Compute area statistics based on a vector map for a single raster<br/>Compute area statistics based on a vector map for a single raster"}}, "/locations/{project_name}/mapsets/{mapset_name}/strds/{strds_name}/timestamp/{timestamp}/area_stats_sync": {"post": {"tags": ["STRDS Statistics"], "description": "Compute areal categorical statistics on a raster map layer contained in a space-time raster dataset based on an input polygon. The input polygon must be provided as GeoJSON content in the request body. A correct coordinate reference system must be present in the GeoJSON definition. For each category the size of the occupied area, the number of pixel of the area and the percentage of the area size in relation to all other categories inclusive NULL data are computed. Minimum required user role: user.", "consumes": ["application/json"], "parameters": [{"name": "project_name", "description": "The project name", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset that contains the required space-time raster dataset", "required": true, "in": "path", "type": "string"}, {"name": "strds_name", "description": "The name of the space-time raster dataset to select the raster map layer from", "required": true, "in": "path", "type": "string"}, {"name": "timestamp", "description": "The time stamp that should be used for raster map layer selection. Required format is: YYYY-MM-DDTHH:MM:SS for example 2001-03-16T12:30:15.", "required": true, "in": "path", "type": "string", "format": "dateTime"}, {"name": "shape", "description": "GeoJSON definition of the polygon to compute the statistics for. The .", "required": true, "in": "body", "schema": {"type": "string"}}], "responses": {"200": {"description": "The result of the areal raster statistical computation", "schema": {"$ref": "#/definitions/RasterAreaStatsResponseModel"}}, "400": {"description": "The error message and a detailed log why raster statistic did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Compute area statistics based on a vector map for a single raster<br/>Compute area statistics based on a vector map for a single raster"}}, "/locations/{project_name}/mapsets/{mapset_name}/strds/{strds_name}/timestamp/{timestamp}/area_stats_univar_async": {"post": {"tags": ["STRDS Statistics"], "description": "Compute areal univariate statistics on a raster map layer contained in a space-time raster dataset based on an input polygon. The input polygon must be provided as GeoJSON content in the request body. A correct coordinate reference system must be present in the GeoJSON definition. Minimum required user role: user.", "consumes": ["application/json"], "parameters": [{"name": "project_name", "description": "The project name", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset that contains the required space-time raster dataset", "required": true, "in": "path", "type": "string"}, {"name": "strds_name", "description": "The name of the space-time raster dataset to select the raster map layer from", "required": true, "in": "path", "type": "string"}, {"name": "timestamp", "description": "The time stamp that should be used for raster map layer selection. Required format is: YYYY-MM-DDTHH:MM:SS for example 2001-03-16T12:30:15.", "required": true, "in": "path", "type": "string", "format": "dateTime"}, {"name": "shape", "description": "GeoJSON definition of the polygon to compute the statistics for.", "required": true, "in": "body", "schema": {"type": "string"}}], "responses": {"200": {"description": "The result of the areal univar raster statistical computation", "schema": {"$ref": "#/definitions/RasterAreaUnivarStatsResponseModel"}}, "400": {"description": "The error message and a detailed log why univar raster statistic did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Compute areal univariate statistics on a raster map layer contained in<br/>Compute areal univariate statistics on a raster map layer contained in"}}, "/locations/{project_name}/mapsets/{mapset_name}/strds/{strds_name}/timestamp/{timestamp}/area_stats_univar_sync": {"post": {"tags": ["STRDS Statistics"], "description": "Compute areal univariate statistics on a raster map layer contained in a space-time raster dataset based on an input polygon. The input polygon must be provided as GeoJSON content in the request body. A correct coordinate reference system must be present in the GeoJSON definition. Minimum required user role: user.", "consumes": ["application/json"], "parameters": [{"name": "project_name", "description": "The project name", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset that contains the required space-time raster dataset", "required": true, "in": "path", "type": "string"}, {"name": "strds_name", "description": "The name of the space-time raster dataset to select the raster map layer from", "required": true, "in": "path", "type": "string"}, {"name": "timestamp", "description": "The time stamp that should be used for raster map layer selection. Required format is: YYYY-MM-DDTHH:MM:SS for example 2001-03-16T12:30:15.", "required": true, "in": "path", "type": "string", "format": "dateTime"}, {"name": "shape", "description": "GeoJSON definition of the polygon to compute the statistics for.", "required": true, "in": "body", "schema": {"type": "string"}}], "responses": {"200": {"description": "The result of the areal univar raster statistical computation", "schema": {"$ref": "#/definitions/RasterAreaUnivarStatsResponseModel"}}, "400": {"description": "The error message and a detailed log why univar raster statistic did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Compute areal univariate statistics on a raster map layer contained in<br/>Compute areal univariate statistics on a raster map layer contained in"}}, "/locations/{project_name}/mapsets/{mapset_name}/vector_layers": {"get": {"tags": ["Vector Management"], "description": "Get a list of vector map layer names that are located in a specific project/mapset. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The name of the project that should be accessed", "required": true, "in": "path", "type": "string", "default": "nc_spm_08"}, {"name": "mapset_name", "description": "The name of the mapset from which the vector map layers should be listed", "required": true, "in": "path", "type": "string", "default": "PERMANENT"}, {"name": "pattern", "description": "A parameter passed to g.list for vector map layer selection, eg.: http://<url>?pattern=\"*\"", "required": false, "in": "query", "type": "string"}], "responses": {"200": {"description": "This response returns a list of vector map layers and the log of the process chain that was used to create the response.", "schema": {"$ref": "#/definitions/StringListProcessingResultResponseModel"}}, "400": {"description": "The error message and a detailed log why listing of vector map layers did not succeeded", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}}, "summary": "Get a list of vector map layer names that are located in a specific<br/>Get a list of vector map layer names that are located in a specific"}, "delete": {"tags": ["Vector Management"], "description": "Delete a single vector map layer or a list of vector map layer names that are located in a specific project/mapset. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The name of the project that should be accessed", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset from which the vector map layers should be deleted", "required": true, "in": "path", "type": "string"}, {"name": "pattern", "description": "A parameter passed for g.remove to remove a list of vector map layers, to remove all eg.: http://<url>?pattern=\"*\"", "required": false, "in": "query", "type": "string"}], "responses": {"200": {"description": "This response returns the log of the process chain that was used to create the response.", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}, "400": {"description": "The error message and a detailed log why deletion of vector map layers did not succeeded", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}}, "summary": "Delete a single vector map layer or a list of vector map layer names<br/>Delete a single vector map layer or a list of vector map layer names"}, "put": {"tags": ["Vector Management"], "description": "Rename a single vector map layer or a list of vector map layers that are located in a specific project/mapset. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The name of the project that should be accessed", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset from which the vector map layers should be renamed", "required": true, "in": "path", "type": "string"}, {"name": "rename_list", "description": "A list of vector name tuples [(a, a_new),(b, b_new),(c, c_new), ...]", "required": true, "in": "body", "schema": {"type": "string"}}], "responses": {"200": {"description": "This response returns the log of the process chain that was used to create the response.", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}, "400": {"description": "The error message and a detailed log why listing of vector map layers did not succeeded", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}}, "summary": "Rename a single vector map layer or a list of vector map layers that<br/>Rename a single vector map layer or a list of vector map layers that"}}, "/locations/{project_name}/mapsets/{mapset_name}/vector_layers/{vector_name}": {"get": {"tags": ["Vector Management"], "description": "Get information about an existing vector map layer. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The project name", "required": true, "in": "path", "type": "string", "default": "nc_spm_08"}, {"name": "mapset_name", "description": "The name of the mapset that contains the required vector map layer", "required": true, "in": "path", "type": "string", "default": "PERMANENT"}, {"name": "vector_name", "description": "The name of the vector map layer to get information about", "required": true, "in": "path", "type": "string", "default": "boundary_county"}], "consumes": ["application/json"], "produces": ["application/json"], "responses": {"200": {"description": "The vector map layer information", "schema": {"$ref": "#/definitions/VectorInfoResponseModel"}}, "400": {"description": "The error message and a detailed log why gathering vector map layer information did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Get information about an existing vector map layer.<br/>Get information about an existing vector map layer."}, "delete": {"tags": ["Vector Management"], "description": "Delete an existing vector map layer. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The project name", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset that contains the required vector map layer", "required": true, "in": "path", "type": "string"}, {"name": "vector_name", "description": "The name of the vector map layer to be deleted", "required": true, "in": "path", "type": "string"}], "produces": ["application/json"], "responses": {"200": {"description": "Successfully delete a vector map layer", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}, "400": {"description": "The error message and a detailed log why vector map layer deletion did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Delete an existing vector map layer.<br/>Delete an existing vector map layer."}, "post": {"tags": ["Vector Management"], "description": "Create a new vector map layer by uploading a GPKG, zipped Shapefile or GeoJSON. This method will fail if the map already exists. An example request is 'curl -L -u \"XXX:XXX\" -X POST -H \"Content-Type: multipart/form-data\" -F \"file=@/home/....gpkg\" http://localhost:8088/api/v3/projects/nc_spm_08/mapsets/test_mapset/vector_layers/testvector'. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The project name", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset that contains the required vector map layer", "required": true, "in": "path", "type": "string"}, {"name": "vector_name", "description": "The name of the new vector map layer to be created.", "required": true, "in": "path", "type": "string"}, {"name": "creation_params", "description": "Parameters to create random vector point map layer in a specific region.", "required": true, "in": "body", "schema": {"$ref": "#/definitions/VectorRegionCreationModel"}}], "consumes": ["Content-Type: multipart/form-data"], "produces": ["application/json"], "responses": {"200": {"description": "The vector map layer import information", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}, "400": {"description": "The error message and a detailed log why vector map layer import failed", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Create a new vector layer by uploading a GPKG, zipped Shapefile,<br/>Create a new vector layer by uploading a GPKG, zipped Shapefile,"}}, "/locations/{project_name}/mapsets/{mapset_name}/vector_layers/{vector_name}/render": {"get": {"tags": ["Vector Management"], "description": "Render a single vector map layer. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The project name", "required": true, "in": "path", "type": "string", "default": "nc_spm_08"}, {"name": "mapset_name", "description": "The name of the mapset that contains the required raster map layer", "required": true, "in": "path", "type": "string", "default": "PERMANENT"}, {"name": "vector_name", "description": "The name of the vector map layer to render", "required": true, "in": "path", "type": "string", "default": "boundary_county"}, {"name": "n", "description": "Northern border", "required": false, "in": "query", "type": "number", "format": "double"}, {"name": "s", "description": "Southern border", "required": false, "in": "query", "type": "number", "format": "double"}, {"name": "e", "description": "Eastern border", "required": false, "in": "query", "type": "number", "format": "double"}, {"name": "w", "description": "Western border", "required": false, "in": "query", "type": "number", "format": "double"}, {"name": "width", "description": "Image width in pixel, default is 800", "required": false, "in": "query", "type": "number", "format": "integer", "default": 800}, {"name": "height", "description": "Image height in pixel, default is 600", "required": false, "in": "query", "type": "number", "format": "integer", "default": 600}], "produces": ["image/png"], "responses": {"200": {"description": "The PNG image"}, "400": {"description": "The error message and a detailed log why rendering did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Render a single vector map layer<br/>Render a single vector map layer"}}, "/locations/{project_name}/mapsets/{mapset_name}/vector_layers/{vector_name}/sampling_async": {"post": {"tags": ["Vector Sampling"], "description": "Spatial sampling of a vector dataset with vector points. The vector points must be in the same coordinate reference system as the project that contains the vector dataset. The result of the sampling is located in the resource response JSON document after the processing was finished, as a list of values for each vector point. Minimum required user role: user.", "consumes": ["application/json"], "parameters": [{"name": "project_name", "description": "The project name", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset that contains the required vector map layer", "required": true, "in": "path", "type": "string"}, {"name": "vector_name", "description": "The name of the vector map layer to perform the vector map sampling from", "required": true, "in": "path", "type": "string"}, {"name": "points", "description": "The sampling point array [[id, x, y],[id, x, y]]. The coordinates of the sampling points must be in the same coordinate reference system as the project that contains the vector dataset.", "required": true, "in": "body", "schema": {"$ref": "#/definitions/PointListModel"}}], "responses": {"200": {"description": "The result of the vector map sampling", "schema": {"$ref": "#/definitions/VectorSamplingResponseModel"}}, "400": {"description": "The error message and a detailed log why vector sampling did not succeed", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Perform vector map sampling on a vector map layer based on input<br/>Perform vector map sampling on a vector map layer based on input"}}, "/locations/{project_name}/mapsets/{mapset_name}/vector_layers/{vector_name}/sampling_sync": {"post": {"tags": ["Vector Sampling"], "description": "Spatial sampling of a vector dataset with vector points. The vector points must be in the same coordinate reference system as the project that contains the vector dataset. The result of the sampling is located in the resource response JSON document after the processing was finished, as a list of values for each vector point. Minimum required user role: user.", "consumes": ["application/json"], "parameters": [{"name": "project_name", "description": "The project name", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset that contains the required vector map layer", "required": true, "in": "path", "type": "string"}, {"name": "vector_name", "description": "The name of the vector map layer to perform the vector map sampling from", "required": true, "in": "path", "type": "string"}, {"name": "points", "description": "The sampling point array [[id, x, y],[id, x, y]]. The coordinates of the sampling points must be in the same coordinate reference system as the project that contains the vector dataset.", "required": true, "in": "body", "schema": {"$ref": "#/definitions/PointListModel"}}], "responses": {"200": {"description": "The result of the vector map sampling", "schema": {"$ref": "#/definitions/VectorSamplingResponseModel"}}, "400": {"description": "The error message and a detailed log why vector sampling did not succeed", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Perform vector map sampling on a vector map layer based on input<br/>Perform vector map sampling on a vector map layer based on input"}}, "/locations/{project_name}/process_chain_validation_async": {"post": {"tags": ["Processing"], "description": "Validate a process chain, check the provided sources (links)\nand the mapsets. The list of processes that were checked by Actinia are\nreturned in the JSON response.\n", "consumes": ["application/json"], "parameters": [{"name": "project_name", "description": "The project name that contains the data that should be used in the process chain", "required": true, "in": "path", "type": "string", "default": "nc_spm_08"}, {"name": "process_chain", "description": "The process chain that should be validated", "required": true, "in": "body", "schema": {"$ref": "#/definitions/ProcessChainModel"}}], "responses": {"200": {"description": "The result of the process chain validation. A list of processes that will be executed by Actinia Core", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}, "400": {"description": "The error message and a detailed log why process chain validation did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Validate a process chain asynchronously, check the provided sources<br/>Validate a process chain asynchronously, check the provided sources"}}, "/locations/{project_name}/process_chain_validation_sync": {"post": {"tags": ["Processing"], "description": "Validate a process chain, check the provided sources (links)\nand the mapsets. The list of processes that were checked by Actinia are\nreturned in the JSON response.\n", "consumes": ["application/json"], "parameters": [{"name": "project_name", "description": "The project name that contains the data that should be used in the process chain", "required": true, "in": "path", "type": "string", "default": "nc_spm_08"}, {"name": "process_chain", "description": "The process chain that should be validated", "required": true, "in": "body", "schema": {"$ref": "#/definitions/ProcessChainModel"}}], "responses": {"200": {"description": "The result of the process chain validation. A list of processes that will be executed by Actinia Core", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}, "400": {"description": "The error message and a detailed log why process chain validation did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Validate a process chain synchronously, check the provided sources<br/>Validate a process chain synchronously, check the provided sources"}}, "/locations/{project_name}/processing_async_export": {"post": {"tags": ["Processing"], "description": "Execute a user defined process chain in an ephemeral database\nand provide the generated resources as downloadable files via URL's.\nMinimum required user role: user.\n\nThe process chain is executed asynchronously. The provided status URL\nin the response must be polled to gain information about the processing\nprogress and finishing status.\n\n**Note**\n\n    Make sure that the process chain definition identifies all raster, vector\n    or space-time datasets correctly with name and mapset: name@mapset if you\n    use data from other mapsets in the specified project.\n\n    All required mapsets will be identified by analysing the input parameter\n    of all module descriptions in the provided process chain and\n    mounted read-only into the ephemeral database that is used for processing.\n\nThe persistent database will not be modified. The ephemeral database will be\nremoved after processing.\nUse the URL's provided in the finished response to download the resource that\nwere specified in the process chain for export.\n\nThis endpoint also allows the creation of STAC ITEMS through the\nACTINIA STAC PLUGIN. The STAC item is stored in a dedicated\nCATALOG following the standard from STAC specification (https://stacspec.org/).\n", "consumes": ["application/json"], "parameters": [{"name": "project_name", "description": "The project name that contains the data that should be processed", "required": true, "in": "path", "type": "string", "default": "nc_spm_08"}, {"name": "process_chain", "description": "The process chain that should be executed", "required": true, "in": "body", "schema": {"$ref": "#/definitions/ProcessChainModel"}}], "responses": {"200": {"description": "The result of the process chain execution", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}, "400": {"description": "The error message and a detailed log why process chain execution did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Execute a user defined process chain in an ephemeral project/mapset<br/>Execute a user defined process chain in an ephemeral project/mapset"}}, "/locations/{project_name}/processing_async_export_gcs": {"post": {"tags": ["Processing"], "description": "Execute a user defined process chain in an ephemeral database\nand provide the generated resources as downloadable files via URL's.\nMinimum required user role: user.\n\nThe process chain is executed asynchronously. The provided status URL\nin the response must be polled to gain information about the processing\nprogress and finishing status.\n\n**Note**\n\n    Make sure that the process chain definition identifies all raster, vector\n    or space-time datasets correctly with name and mapset: name@mapset if you\n    use data from other mapsets in the specified project.\n\n    All required mapsets will be identified by analysing the input parameter\n    of all module descriptions in the provided process chain and\n    mounted read-only into the ephemeral database that is used for processing.\n\nThe persistent database will not be modified. The ephemeral database will be\nremoved after processing.\nUse the URL's provided in the finished response to download the resource that\nwere specified in the process chain for export.\n\nThis endpoint also allows the creation of STAC ITEMS through the\nACTINIA STAC PLUGIN. The STAC item is stored in a dedicated\nCATALOG following the standard from STAC specification (https://stacspec.org/).\n", "consumes": ["application/json"], "parameters": [{"name": "project_name", "description": "The project name that contains the data that should be processed", "required": true, "in": "path", "type": "string", "default": "nc_spm_08"}, {"name": "process_chain", "description": "The process chain that should be executed", "required": true, "in": "body", "schema": {"$ref": "#/definitions/ProcessChainModel"}}], "responses": {"200": {"description": "The result of the process chain execution", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}, "400": {"description": "The error message and a detailed log why process chain execution did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Execute a user defined process chain in an ephemeral project/mapset<br/>Execute a user defined process chain in an ephemeral project/mapset"}}, "/locations/{project_name}/processing_async_export_s3": {"post": {"tags": ["Processing"], "description": "Execute a user defined process chain in an ephemeral database\nand provide the generated resources as downloadable files via URL's.\nMinimum required user role: user.\n\nThe process chain is executed asynchronously. The provided status URL\nin the response must be polled to gain information about the processing\nprogress and finishing status.\n\n**Note**\n\n    Make sure that the process chain definition identifies all raster, vector\n    or space-time datasets correctly with name and mapset: name@mapset if you\n    use data from other mapsets in the specified project.\n\n    All required mapsets will be identified by analysing the input parameter\n    of all module descriptions in the provided process chain and\n    mounted read-only into the ephemeral database that is used for processing.\n\nThe persistent database will not be modified. The ephemeral database will be\nremoved after processing.\nUse the URL's provided in the finished response to download the resource that\nwere specified in the process chain for export.\n\nThis endpoint also allows the creation of STAC ITEMS through the\nACTINIA STAC PLUGIN. The STAC item is stored in a dedicated\nCATALOG following the standard from STAC specification (https://stacspec.org/).\n", "consumes": ["application/json"], "parameters": [{"name": "project_name", "description": "The project name that contains the data that should be processed", "required": true, "in": "path", "type": "string", "default": "nc_spm_08"}, {"name": "process_chain", "description": "The process chain that should be executed", "required": true, "in": "body", "schema": {"$ref": "#/definitions/ProcessChainModel"}}], "responses": {"200": {"description": "The result of the process chain execution", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}, "400": {"description": "The error message and a detailed log why process chain execution did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Execute a user defined process chain in an ephemeral project/mapset<br/>Execute a user defined process chain in an ephemeral project/mapset"}}, "/locations/{project_name}/processing_export": {"post": {"tags": ["Processing"], "description": "Execute a user defined process chain in an ephemeral database\nand provide the generated resources as downloadable files via URL's.\nMinimum required user role: user.\n\nThe process chain is executed asynchronously. The provided status URL\nin the response must be polled to gain information about the processing\nprogress and finishing status.\n\n**Note**\n\n    Make sure that the process chain definition identifies all raster, vector\n    or space-time datasets correctly with name and mapset: name@mapset if you\n    use data from other mapsets in the specified project.\n\n    All required mapsets will be identified by analysing the input parameter\n    of all module descriptions in the provided process chain and\n    mounted read-only into the ephemeral database that is used for processing.\n\nThe persistent database will not be modified. The ephemeral database will be\nremoved after processing.\nUse the URL's provided in the finished response to download the resource that\nwere specified in the process chain for export.\n\nThis endpoint also allows the creation of STAC ITEMS through the\nACTINIA STAC PLUGIN. The STAC item is stored in a dedicated\nCATALOG following the standard from STAC specification (https://stacspec.org/).\n", "consumes": ["application/json"], "parameters": [{"name": "project_name", "description": "The project name that contains the data that should be processed", "required": true, "in": "path", "type": "string", "default": "nc_spm_08"}, {"name": "process_chain", "description": "The process chain that should be executed", "required": true, "in": "body", "schema": {"$ref": "#/definitions/ProcessChainModel"}}], "responses": {"200": {"description": "The result of the process chain execution", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}, "400": {"description": "The error message and a detailed log why process chain execution did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Execute a user defined process chain in an ephemeral project/mapset<br/>Execute a user defined process chain in an ephemeral project/mapset"}}, "/mapsets": {"get": {"tags": ["Mapsets"], "description": "List available or locked mapsets.", "parameters": [{"in": "path", "name": "mapsets", "type": "string", "description": "List all mapsets in the global database available to the authenticated user."}, {"in": "path", "name": "status", "type": "string", "description": "If set to 'locked', list all locked mapsets across all projects. Minimum required user role: admin."}, {"in": "path", "name": "user", "type": "string", "description": "List all mapsets in the global database available to the specified user. Minimum required user role: admin"}], "responses": {"200": {"description": "Returns a list of available (or locked) mapsets ", "schema": {"$ref": "#/definitions/LockedMapsetListResponseModel"}}, "500": {"description": "The error message and a detailed error log", "schema": {"$ref": "#/definitions/SimpleResponseModel"}}}}}, "/metadata/geodata/tags/{tags}": {"get": {"summary": "Get geodata object from requests to Geonetwork opensource by one or many tags.", "description": "The request will ask Geonetwork which metadata records are available for a certain tag or more tags separated by comma and returns a parsed record build from model. At the moment only the first record is returned.", "tags": ["GeoNetwork"], "parameters": [{"in": "path", "name": "tags", "type": "string", "description": "One or more Geonetwork tags, comma separated", "required": true}], "responses": {"200": {"description": "Modelled Search Results from Geonetwork", "schema": {"$ref": "#/definitions/GeodataResponseModel"}}}}}, "/metadata/geodata/uuids/{uuid}": {"get": {"summary": "Get geodata object from requests to Geonetwork opensource by uuid.", "description": "The request will ask Geonetwork which metadata records are available for a certain uuid and returns a parsed record build from model. At the moment only the first record is returned.", "tags": ["GeoNetwork"], "parameters": [{"in": "path", "name": "uuid", "type": "string", "description": "A Geonetwork uuid from a record", "required": true}], "responses": {"200": {"description": "Modelled Search Results from Geonetwork", "schema": {"$ref": "#/definitions/GeodataResponseModel"}}}}}, "/metadata/raw/categories/{category}": {"get": {"summary": "Requests a category from Geonetwork opensource.", "description": "The request will ask Geonetwork which metadata records are available for a certain category and returns the JSON response with these records. Requirement: a virtual CSW is defined in Geonetwork", "tags": ["GeoNetwork"], "parameters": [{"in": "path", "name": "category", "type": "string", "description": "A Geonetwork category", "required": true}], "responses": {"200": {"description": "The Search Results from Geonetwork", "schema": {"example": {"csw:GetRecordsResponse": {"@xmlns:csw": "http://www.opengis.net/cat/csw/2.0.2", "@xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance", "@xsi:schemaLocation": "http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd", "csw:SearchStatus": {"@timestamp": "2018-03-28T13:46:43"}, "csw:SearchResults": {"@numberOfRecordsMatched": "2", "@numberOfRecordsReturned": "2", "@elementSet": "full", "@nextRecord": "0", "csw:Record": [{"@xmlns:ows": "http://www.opengis.net/ows", "@xmlns:dc": "http://purl.org/dc/elements/1.1/", "@xmlns:geonet": "http://www.fao.org/geonetwork", "@xmlns:dct": "http://purl.org/dc/terms/", "dc:identifier": "d619aac5-6fc7-44f2-9552-7f8bb4d826e0", "dc:date": "2018-02-02T09:47:25", "dc:title": "Localities in Victoria (VMADMIN.LOCALITY_POLYGON) - Comprehensive Elements", "dc:type": "dataset", "dc:subject": ["BOUNDARIES-Administrative", "LAND-Ownership", "boundaries"], "dc:format": ["Most popular formats including ESRI shape, MapInfo Tab and Oracle Spatial", "Most popular formats including ESRI shape, MapInfo Tab and Oracle Spatial"], "dct:abstract": "This dataset is the definitive set of locality boundaries for the state of Victoria            as defined by Local Government and registered by the Registrar of Geographic Names.            The boundaries are aligned to Vicmap Property. This dataset is part of the Vicmap Admin dataset series.", "dc:description": "This dataset is the definitive set of locality boundaries for the state of Victoria            as defined by Local Government and registered by the Registrar of Geographic Names.            The boundaries are aligned to Vicmap Property. This dataset is part of the Vicmap Admin dataset series.", "dc:rights": ["intellectualPropertyRights", "otherRestrictions"], "dc:language": "eng", "dc:source": "Local Government defines suburb, town and rural district boundaries after seeking appropriate consultation with all interested parties.              Proposed boundaries/names are submitted to the Registrar of Geographic Names for approval and formal gazettal.              As boundary and name information changes are processed through the formal definition and gazettal process at the Registrar of Geographic Names, the amendments will be flagged              and the dataset will be updated by the maintainer with all new boundaries aligned to Vicmap Property.", "ows:BoundingBox": {"@crs": "urn:ogc:def:crs:::4283", "ows:LowerCorner": "150 -39", "ows:UpperCorner": "141 -34"}, "dc:URI": {"@description": "Web page listing Data Service Providers (DSP)s", "#text": "http://www.land.vic.gov.au/vicmapdsp"}}, {"@xmlns:ows": "http://www.opengis.net/ows", "@xmlns:dc": "http://purl.org/dc/elements/1.1/", "@xmlns:geonet": "http://www.fao.org/geonetwork", "@xmlns:dct": "http://purl.org/dc/terms/", "dc:identifier": "78f93047-74f8-4419-ac3d-fc62e4b0477b", "dc:date": "2018-02-02T09:47:45", "dc:title": "Physiographic Map of North and Central Eurasia (Sample record, please remove!)", "dc:subject": ["physiography, soil", "Eurasia", "geoscientificInformation"], "dct:abstract": "Physiographic maps for the CIS and Baltic States (CIS_BS), Mongolia, China and Taiwan Province of China. Between the three regions (China, Mongolia, and CIS_BS countries) DCW boundaries were introduced. There are no DCW boundaries between Russian Federation and the rest of the new countries of the CIS_BS. The original physiographic map of China includes the Chinese border between India and China, which extends beyond the Indian border line, and the South China Sea islands (no physiographic information is present for islands in the South China Sea). The use of these country boundaries does not imply the expression of any opinion whatsoever on the part of FAO concerning the legal or constitutional states of any country, territory, or sea area, or concerning delimitation of frontiers. The Maps visualize the items LANDF, HYPSO, SLOPE that correspond to Landform, Hypsometry and Slope.", "dc:description": "Physiographic maps for the CIS and Baltic States (CIS_BS), Mongolia, China and Taiwan Province of China. Between the three regions (China, Mongolia, and CIS_BS countries) DCW boundaries were introduced. There are no DCW boundaries between Russian Federation and the rest of the new countries of the CIS_BS. The original physiographic map of China includes the Chinese border between India and China, which extends beyond the Indian border line, and the South China Sea islands (no physiographic information is present for islands in the South China Sea). The use of these country boundaries does not imply the expression of any opinion whatsoever on the part of FAO concerning the legal or constitutional states of any country, territory, or sea area, or concerning delimitation of frontiers. The Maps visualize the items LANDF, HYPSO, SLOPE that correspond to Landform, Hypsometry and Slope.", "dc:rights": ["copyright", "copyright"], "dc:language": null, "dc:source": null, "ows:BoundingBox": {"@crs": "urn:ogc:def:crs:::Lambert Azimuthal Projection", "ows:LowerCorner": "156 -3", "ows:UpperCorner": "37 83"}, "dc:URI": [{"@protocol": "WWW:DOWNLOAD-1.0-http--download", "@name": "phy.zip", "@description": "Physiography of North and Central Eurasia Landform (Gif Format)", "#text": "http://localhost:8080/geonetwork/srv/api/records/78f93047-74f8-4419-ac3d-fc62e4b0477b/attachments/phy.zip"}, {"@protocol": "OGC:WMS", "@name": "GEONETWORK:phy_landf_7386", "@description": "Physiography of North and Central Eurasia Landform", "#text": "http://data.fao.org/maps/wms"}, {"@protocol": "OGC:WMS", "@name": "GEONETWORK:phy_slope_7386", "@description": "Physiography of North and Central Eurasia Slope", "#text": "http://data.fao.org/maps/wms"}, {"@protocol": "OGC:WMS", "@name": "GEONETWORK:phy_hypso_7386", "@description": "Physiography of North and Central Eurasia Hypsography", "#text": "http://data.fao.org/maps/wms"}, {"@protocol": "image/gif", "@name": "Physiographic Map (small preview)", "#text": "http://localhost:8080/geonetwork/srv/api/records/78f93047-74f8-4419-ac3d-fc62e4b0477b/attachments/phy_s.gif"}, {"@protocol": "image/gif", "@name": "Physiographic Map", "#text": "http://localhost:8080/geonetwork/srv/api/records/78f93047-74f8-4419-ac3d-fc62e4b0477b/attachments/phy.gif"}]}]}}}}}}}}, "/metadata/raw/tags/{tags}": {"get": {"summary": "Requests one or many tags from Geonetwork opensource.", "description": "The request will ask Geonetwork which metadata records are available for a certain tag or more tags separated by comma and returns the JSON response with these records.", "tags": ["GeoNetwork"], "parameters": [{"in": "path", "name": "tags", "type": "string", "description": "One or more Geonetwork tags, comma separated", "required": true}], "responses": {"200": {"description": "The Search Results from Geonetwork", "schema": {"example": {"csw:GetRecordsResponse": {"@xmlns:csw": "http://www.opengis.net/cat/csw/2.0.2", "@xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance", "@xsi:schemaLocation": "http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd", "csw:SearchStatus": {"@timestamp": "2018-03-28T13:42:41"}, "csw:SearchResults": {"@numberOfRecordsMatched": "2", "@numberOfRecordsReturned": "2", "@elementSet": "full", "@nextRecord": "0", "csw:Record": [{"@xmlns:ows": "http://www.opengis.net/ows", "@xmlns:dc": "http://purl.org/dc/elements/1.1/", "@xmlns:geonet": "http://www.fao.org/geonetwork", "@xmlns:dct": "http://purl.org/dc/terms/", "dc:identifier": "da165110-88fd-11da-a88f-000d939bc5d8", "dc:date": "2018-02-02T09:46:51", "dc:title": "Hydrological Basins in Africa (Sample record, please remove!)", "dc:subject": ["watersheds", "river basins", "water resources", "hydrology", "AQUASTAT", "AWRD", "Africa", "inlandWaters"], "dc:format": ["ShapeFile", "ShapeFile"], "dct:abstract": "Major hydrological basins and their sub-basins. This dataset divides the African continent according to its hydrological characteristics.\nThe dataset consists of the following information:- numerical code and name of the major basin (MAJ_BAS and MAJ_NAME); - area of the major basin in square km (MAJ_AREA); - numerical code and name of the sub-basin (SUB_BAS and SUB_NAME); - area of the sub-basin in square km (SUB_AREA); - numerical code of the sub-basin towards which the sub-basin flows (TO_SUBBAS) (the codes -888 and -999 have been assigned respectively to internal sub-basins and to sub-basins draining into the sea)", "dc:description": "Major hydrological basins and their sub-basins. This dataset divides the African continent according to its hydrological characteristics.\nThe dataset consists of the following information:- numerical code and name of the major basin (MAJ_BAS and MAJ_NAME); - area of the major basin in square km (MAJ_AREA); - numerical code and name of the sub-basin (SUB_BAS and SUB_NAME); - area of the sub-basin in square km (SUB_AREA); - numerical code of the sub-basin towards which the sub-basin flows (TO_SUBBAS) (the codes -888 and -999 have been assigned respectively to internal sub-basins and to sub-basins draining into the sea)", "dc:language": "eng", "dc:source": "The linework of the map is obtained by delineating drainage basin boundaries from an hydrologically corrected digital elevation model with a resolution of 1 * 1 km.", "ows:BoundingBox": {"@crs": "urn:ogc:def:crs:::WGS 1984", "ows:LowerCorner": "51.1 -34.6", "ows:UpperCorner": "-17.3 38.2"}, "dc:URI": [{"@protocol": "WWW:LINK-1.0-http--link", "@name": "", "@description": "Online link to the  'Water Resources and Irrigation in Africa'- website", "#text": "http://www.fao.org/ag/AGL/aglw/aquastat/watresafrica/index.stm"}, {"@protocol": "WWW:DOWNLOAD-1.0-http--download", "@name": "basins.zip", "@description": "Hydrological basins in Africa (Shapefile Format)", "#text": "http://localhost:8080/geonetwork/srv/api/records/da165110-88fd-11da-a88f-000d939bc5d8/attachments/basins.zip"}, {"@protocol": "OGC:WMS", "@name": "GEONETWORK:basins_296", "@description": "Hydrological basins in Africa", "#text": "http://data.fao.org/maps/wms"}, {"@protocol": "image/gif", "@name": "Hydrological Basins in Africa (small preview)", "#text": "http://localhost:8080/geonetwork/srv/api/records/da165110-88fd-11da-a88f-000d939bc5d8/attachments/thumbnail_s.gif"}, {"@protocol": "image/gif", "@name": "Hydrological Basins in Africa", "#text": "http://localhost:8080/geonetwork/srv/api/records/da165110-88fd-11da-a88f-000d939bc5d8/attachments/thumbnail.gif"}]}, {"@xmlns:ows": "http://www.opengis.net/ows", "@xmlns:dc": "http://purl.org/dc/elements/1.1/", "@xmlns:geonet": "http://www.fao.org/geonetwork", "@xmlns:dct": "http://purl.org/dc/terms/", "dc:identifier": "d619aac5-6fc7-44f2-9552-7f8bb4d826e0", "dc:date": "2018-02-02T09:47:25", "dc:title": "Localities in Victoria (VMADMIN.LOCALITY_POLYGON) - Comprehensive Elements", "dc:type": "dataset", "dc:subject": ["BOUNDARIES-Administrative", "LAND-Ownership", "boundaries"], "dc:format": ["Most popular formats including ESRI shape, MapInfo Tab and Oracle Spatial", "Most popular formats including ESRI shape, MapInfo Tab and Oracle Spatial"], "dct:abstract": "This dataset is the definitive set of locality boundaries for the state of Victoria            as defined by Local Government and registered by the Registrar of Geographic Names.            The boundaries are aligned to Vicmap Property. This dataset is part of the Vicmap Admin dataset series.", "dc:description": "This dataset is the definitive set of locality boundaries for the state of Victoria            as defined by Local Government and registered by the Registrar of Geographic Names.            The boundaries are aligned to Vicmap Property. This dataset is part of the Vicmap Admin dataset series.", "dc:rights": ["intellectualPropertyRights", "otherRestrictions"], "dc:language": "eng", "dc:source": "Local Government defines suburb, town and rural district boundaries after seeking appropriate consultation with all interested parties.              Proposed boundaries/names are submitted to the Registrar of Geographic Names for approval and formal gazettal.              As boundary and name information changes are processed through the formal definition and gazettal process at the Registrar of Geographic Names, the amendments will be flagged              and the dataset will be updated by the maintainer with all new boundaries aligned to Vicmap Property.", "ows:BoundingBox": {"@crs": "urn:ogc:def:crs:::4283", "ows:LowerCorner": "150 -39", "ows:UpperCorner": "141 -34"}, "dc:URI": {"@description": "Web page listing Data Service Providers (DSP)s", "#text": "http://www.land.vic.gov.au/vicmapdsp"}}]}}}}}}}}, "/metadata/raw/uuids/{uuid}": {"get": {"summary": "Requests an uuid from Geonetwork opensource.", "description": "The request will ask Geonetwork which metadata records are available for a certain uuid and returns the JSON response with this record.", "tags": ["GeoNetwork"], "parameters": [{"in": "path", "name": "uuid", "type": "string", "description": "A Geonetwork uuid from a record", "required": true}], "responses": {"200": {"description": "The Search Results from Geonetwork", "schema": {"example": {"csw:GetRecordByIdResponse": {"@xmlns:csw": "http://www.opengis.net/cat/csw/2.0.2", "csw:Record": {"@xmlns:ows": "http://www.opengis.net/ows", "@xmlns:dc": "http://purl.org/dc/elements/1.1/", "@xmlns:geonet": "http://www.fao.org/geonetwork", "@xmlns:dct": "http://purl.org/dc/terms/", "dc:identifier": "da165110-88fd-11da-a88f-000d939bc5d8", "dc:date": "2018-02-02T09:46:51", "dc:title": "Hydrological Basins in Africa (Sample record, please remove!)", "dc:subject": ["watersheds", "river basins", "water resources", "hydrology", "AQUASTAT", "AWRD", "Africa", "inlandWaters"], "dc:format": ["ShapeFile", "ShapeFile"], "dct:abstract": "Major hydrological basins and their sub-basins. This dataset divides the African continent according to its hydrological characteristics.\nThe dataset consists of the following information:- numerical code and name of the major basin (MAJ_BAS and MAJ_NAME); - area of the major basin in square km (MAJ_AREA); - numerical code and name of the sub-basin (SUB_BAS and SUB_NAME); - area of the sub-basin in square km (SUB_AREA); - numerical code of the sub-basin towards which the sub-basin flows (TO_SUBBAS) (the codes -888 and -999 have been assigned respectively to internal sub-basins and to sub-basins draining into the sea)", "dc:description": "Major hydrological basins and their sub-basins. This dataset divides the African continent according to its hydrological characteristics.\nThe dataset consists of the following information:- numerical code and name of the major basin (MAJ_BAS and MAJ_NAME); - area of the major basin in square km (MAJ_AREA); - numerical code and name of the sub-basin (SUB_BAS and SUB_NAME); - area of the sub-basin in square km (SUB_AREA); - numerical code of the sub-basin towards which the sub-basin flows (TO_SUBBAS) (the codes -888 and -999 have been assigned respectively to internal sub-basins and to sub-basins draining into the sea)", "dc:language": "eng", "dc:source": "The linework of the map is obtained by delineating drainage basin boundaries from an hydrologically corrected digital elevation model with a resolution of 1 * 1 km.", "ows:BoundingBox": {"@crs": "urn:ogc:def:crs:::WGS 1984", "ows:LowerCorner": "51.1 -34.6", "ows:UpperCorner": "-17.3 38.2"}, "dc:URI": [{"@protocol": "WWW:LINK-1.0-http--link", "@name": "", "@description": "Online link to the  'Water Resources and Irrigation in Africa'- website", "#text": "http://www.fao.org/ag/AGL/aglw/aquastat/watresafrica/index.stm"}, {"@protocol": "WWW:DOWNLOAD-1.0-http--download", "@name": "basins.zip", "@description": "Hydrological basins in Africa (Shapefile Format)", "#text": "http://localhost:8080/geonetwork/srv/api/records/da165110-88fd-11da-a88f-000d939bc5d8/attachments/basins.zip"}, {"@protocol": "OGC:WMS", "@name": "GEONETWORK:basins_296", "@description": "Hydrological basins in Africa", "#text": "http://data.fao.org/maps/wms"}, {"@protocol": "image/gif", "@name": "Hydrological Basins in Africa (small preview)", "#text": "http://localhost:8080/geonetwork/srv/api/records/da165110-88fd-11da-a88f-000d939bc5d8/attachments/thumbnail_s.gif"}, {"@protocol": "image/gif", "@name": "Hydrological Basins in Africa", "#text": "http://localhost:8080/geonetwork/srv/api/records/da165110-88fd-11da-a88f-000d939bc5d8/attachments/thumbnail.gif"}]}}}}}}}}, "/metadata/test/connection": {"get": {"summary": "Tests for active connection to Geonetwork opensource.", "description": "The request will ask the backend if it can successfully connect to Geonetwork.", "tags": ["GeoNetwork"], "responses": {"200": {"description": "Success or failure of connection", "schema": {"$ref": "#/definitions/SimpleStatusCodeResponseModel"}}}}, "post": {"summary": "Tests for active connection to Geonetwork opensource.", "description": "The request will ask the backend if it can successfully connect to Geonetwork.", "tags": ["GeoNetwork"], "responses": {"200": {"description": "Success or failure of connection", "schema": {"$ref": "#/definitions/SimpleStatusCodeResponseModel"}}}}}, "/modules": {"get": {"tags": ["Module Viewer"], "description": "Get a list of modules. Minimum required user role: user.", "parameters": [{"in": "path", "name": "tag", "type": "string", "description": "Filter for categories"}, {"in": "path", "name": "category", "type": "string", "description": "Another filter for categories"}, {"in": "path", "name": "family", "type": "string", "description": "Type of GRASS GIS module", "enum": ["d", "db", "g", "i", "m", "ps", "r", "r3", "t", "test", "v"]}, {"in": "path", "name": "record", "type": "string", "description": "If set to 'full', all information about the returned modules are given like in the single module description. Depending on active cache, this response might run into a timeout. A filter can prevent this."}], "responses": {"200": {"description": "This response returns a list of module names and the status.", "schema": {"$ref": "#/definitions/ModuleList"}}, "400": {"description": "The error message and a detailed log why listing of modules did not succeeded", "schema": {"$ref": "#/definitions/SimpleStatusCodeResponseModel"}}}, "summary": "Get a list of all modules."}}, "/modules/{module}": {"get": {"tags": ["Module Viewer"], "parameters": [{"in": "path", "name": "module", "type": "string", "description": "The name of a module", "required": true}, {"in": "path", "name": "returns", "type": "string", "description": "Defines which outputs are returned for actinia modules. 'export' shows the exported results. 'persistent' to show persistent results might be added in the future. Without this parameter no outputs are returned. No effect for single GRASS GIS modules.", "enum": ["export"]}], "description": "Get the description of a module. Minimum required user role: user.Can be also used to reload cache for a certain modulefor the full module description in listModules.", "responses": {"200": {"description": "This response returns a description of a module.", "schema": {"$ref": "#/definitions/Module"}}, "400": {"description": "The error message and a detailed log why describing modules did not succeeded", "schema": {"$ref": "#/definitions/SimpleStatusCodeResponseModel"}}, "404": {"description": "The error message that the module was not found.", "schema": {"$ref": "#/definitions/SimpleStatusCodeResponseModel"}}}, "summary": "Describe a module."}}, "/projects": {"get": {"tags": ["Project Management"], "description": "Get a list of all available projects that are located in the GRASS database and the user has access to. Minimum required user role: user.", "responses": {"200": {"description": "This response returns a list of project names", "schema": {"$ref": "#/definitions/ProjectListResponseModel"}}, "400": {"description": "The error message", "schema": {"$ref": "#/definitions/SimpleResponseModel"}}}, "summary": "Get a list of all available projects<br/>Get a list of all available projects"}}, "/projects/{project_name}": {"delete": {"tags": ["Project Management"], "description": "Delete an existing project and everything inside from the user database. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The name of the project to be deleted", "required": true, "in": "path", "type": "string"}], "responses": {"200": {"description": "Success message for project deletion", "schema": {"$ref": "#/definitions/SimpleResponseModel"}}, "400": {"description": "The error message", "schema": {"$ref": "#/definitions/SimpleResponseModel"}}}, "summary": "Delete an existing project and everything inside from the user<br/>Delete an existing project and everything inside from the user"}, "post": {"tags": ["Project Management"], "description": "Create a new project based on EPSG code in the user database. Minimum required user role: user.", "consumes": ["application/json"], "parameters": [{"name": "project_name", "description": "The name of the project to be created", "required": true, "in": "path", "type": "string"}, {"name": "epsg_code", "description": "The EPSG code", "required": true, "in": "body", "schema": {"$ref": "#/definitions/ProjectionInfoModel"}}], "responses": {"200": {"description": "Create a new project based on EPSG code", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}, "400": {"description": "The error message", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}}, "summary": "Create a new project based on EPSG code in the user database.<br/>Create a new project based on EPSG code in the user database."}}, "/projects/{project_name}/info": {"get": {"tags": ["Project Management"], "description": "Get the project projection and current computational region of the PERMANENT mapset. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The name of the project", "required": true, "in": "path", "type": "string", "default": "nc_spm_08"}], "responses": {"200": {"description": "The project projection and current computational region of the PERMANENT mapset", "schema": {"$ref": "#/definitions/MapsetInfoResponseModel"}}, "400": {"description": "The error message", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}}, "summary": "Get the project projection and current computational region of the<br/>Get the project projection and current computational region of the"}}, "/projects/{project_name}/mapsets": {"get": {"tags": ["Mapset Management"], "description": "Get a list of all mapsets that are located in a specific project. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The name of the project", "required": true, "in": "path", "type": "string", "default": "nc_spm_08"}], "responses": {"200": {"description": "This response returns a list of mapset names and the log of the process chain that was used to create the response.", "schema": {"$ref": "#/definitions/StringListProcessingResultResponseModel"}}, "400": {"description": "The error message and a detailed log why listing of mapsets did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Get a list of all mapsets that are located in a specific project.<br/>Get a list of all mapsets that are located in a specific project."}}, "/projects/{project_name}/mapsets/{mapset_name}": {"delete": {"tags": ["Mapset Management"], "description": "Delete an existing mapset. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The name of the project", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset", "required": true, "in": "path", "type": "string"}], "responses": {"200": {"description": "Success message for mapset deletion", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}, "400": {"description": "The error message and a detailed error log", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Delete an existing mapset<br/>Delete an existing mapset"}, "post": {"tags": ["Mapset Management"], "description": "Create a new mapset in an existing project. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The name of the project", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset", "required": true, "in": "path", "type": "string"}], "responses": {"200": {"description": "Success message for mapset creation", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}, "400": {"description": "The error message and a detailed error log", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Create a new mapset in an existing project.<br/>Create a new mapset in an existing project."}}, "/projects/{project_name}/mapsets/{mapset_name}/info": {"get": {"tags": ["Mapset Management"], "description": "Get the current computational region of the mapset and the projection of the project as WKT string. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The name of the project", "required": true, "in": "path", "type": "string", "default": "nc_spm_08"}, {"name": "mapset_name", "description": "The name of the mapset", "required": true, "in": "path", "type": "string", "default": "PERMANENT"}], "responses": {"200": {"description": "The current computational region of the mapset and the projection of the project", "schema": {"$ref": "#/definitions/MapsetInfoResponseModel"}}, "400": {"description": "The error message and a detailed error log", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Get the current computational region of the mapset and the projection<br/>Get the current computational region of the mapset and the projection"}}, "/projects/{project_name}/mapsets/{mapset_name}/landsat_import": {"post": {"tags": ["Satellite Image Algorithms"], "description": "Download and import Landsat scenes into a new mapset and create a space-time raster dataset for each imported band. The resulting data will be located in a persistent user database. The project name is part of the path and must exist. The mapset will be created while importing and should not already exist in the project. The names of theLandsat scenes that should be downloaded must be specified in the HTTP body as application/json content. In addition, the basename of the STRDS that should manage the Landsat scenes must be provided in the application/json content. For each band a separate strds will be cerated and the STRDS base name will be extended with the band number. This call is performed asynchronously. The provided resource URL must be pulled to receive the status of the import. The data is available in the provided project/mapset, after the download and import finished. Minimum required user role: user.", "consumes": ["application/json"], "parameters": [{"name": "project_name", "description": "The project name to import the Landsat scenes in", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset to import the Landsat scenes in", "required": true, "in": "path", "type": "string"}, {"name": "tiles", "description": "The list of Landsat scenes, the band names and the target STRDS names", "required": true, "in": "body", "schema": {"$ref": "#/definitions/LandsatSceneListModel"}}], "responses": {"200": {"description": "The result of the Landsat time series import", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}, "400": {"description": "The error message and a detailed log why Landsat time series import did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Download and import Landsat scenes into a new mapset and create a<br/>Download and import Landsat scenes into a new mapset and create a"}}, "/projects/{project_name}/mapsets/{mapset_name}/lock": {"get": {"tags": ["Mapset Management"], "description": "Get the project/mapset lock status. Minimum required user role: admin.", "parameters": [{"name": "project_name", "description": "The name of the project", "required": true, "in": "path", "type": "string", "default": "nc_spm_08"}, {"name": "mapset_name", "description": "The name of the mapset", "required": true, "in": "path", "type": "string", "default": "PERMANENT"}], "responses": {"200": {"description": "Get the project/mapset lock status, either \"True\" or \"None\"", "schema": {"$ref": "#/definitions/MapsetLockManagementResponseModel"}}, "400": {"description": "The error message and a detailed error log", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}}, "summary": "Get the project/mapset lock status.<br/>Get the project/mapset lock status."}, "delete": {"tags": ["Mapset Management"], "description": "Delete a project/mapset lock. A project/mapset lock can be deleted so that operation can be performed on it until it is locked. Minimum required user role: admin.", "parameters": [{"name": "project_name", "description": "The name of the project", "required": true, "in": "path", "type": "string", "default": "nc_spm_08"}, {"name": "mapset_name", "description": "The name of the mapset", "required": true, "in": "path", "type": "string", "default": "PERMANENT"}], "responses": {"200": {"description": "Success message if the project/mapset was unlocked successfully", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}, "400": {"description": "The error message and a detailed error log", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}}, "summary": "Delete a project/mapset lock.<br/>Delete a project/mapset lock."}, "post": {"tags": ["Mapset Management"], "description": "Create a project/mapset lock. A project/mapset lock can be created so that no operation can be performed on it until it is unlocked. Minimum required user role: admin.", "parameters": [{"name": "project_name", "description": "The name of the project", "required": true, "in": "path", "type": "string", "default": "nc_spm_08"}, {"name": "mapset_name", "description": "The name of the mapset", "required": true, "in": "path", "type": "string", "default": "PERMANENT"}], "responses": {"200": {"description": "Success message if the project/mapset was locked successfully", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}, "400": {"description": "The error message and a detailed error log", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}}, "summary": "Create a project/mapset lock.<br/>Create a project/mapset lock."}}, "/projects/{project_name}/mapsets/{mapset_name}/processing": {"post": {"tags": ["Processing"], "description": "Execute a user defined process chain in an existing mapset\nof the persistent user database or in a new mapset that will be\ncreated by this request in the persistent user database.\n\nThe process chain is executed asynchronously. The provided status URL\nin the response must be polled to gain information about the processing\nprogress and finishing status.\n\n**Note**\n\n    Space-time dataset processing can only be performed in a new mapset\n    that is created by this resource call, since merging of temporal databases\n    of different mapsets is not supported yet.\n\nThe mapset that is used for processing will be locked until the process\nchain execution finished (successfully or not), even if the mapset is be\ncreated by the request.\nOther requests on the locked mapset will abort with a mapset lock error.\n\nThe persistent user database will not be modified if\nthe process chain does not run successfully. The processing is performed in an\nephemeral database and then merged or copied into the persistent user database.\n\n**Note**\n\n    Make sure that the process chain definition identifies all raster, vector\n    or space time datasets correctly with name and mapset: name@mapset.\n\n    All required mapsets will be identified by analysing the input parameter\n    of all module descriptions in the provided process chain\n    and mounted into the ephemeral database that is used for processing.\n\n", "consumes": ["application/json"], "parameters": [{"name": "project_name", "description": "The project name", "required": true, "in": "path", "type": "string", "default": "nc_spm_08"}, {"name": "mapset_name", "description": "The name of an existing mapset or a new mapset that should be created", "required": true, "in": "path", "type": "string"}, {"name": "process_chain", "description": "The process chain that should be executed", "required": true, "in": "body", "schema": {"$ref": "#/definitions/ProcessChainModel"}}], "responses": {"200": {"description": "The result of the process chain execution", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}, "400": {"description": "The error message and a detailed log why process chain execution did not succeed", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}}, "summary": "Execute a user defined process chain that creates a new mapset or<br/>Execute a user defined process chain that creates a new mapset or"}}, "/projects/{project_name}/mapsets/{mapset_name}/processing_async": {"post": {"tags": ["Processing"], "description": "Execute a user defined process chain in an existing mapset\nof the persistent user database or in a new mapset that will be\ncreated by this request in the persistent user database.\n\nThe process chain is executed asynchronously. The provided status URL\nin the response must be polled to gain information about the processing\nprogress and finishing status.\n\n**Note**\n\n    Space-time dataset processing can only be performed in a new mapset\n    that is created by this resource call, since merging of temporal databases\n    of different mapsets is not supported yet.\n\nThe mapset that is used for processing will be locked until the process\nchain execution finished (successfully or not), even if the mapset is be\ncreated by the request.\nOther requests on the locked mapset will abort with a mapset lock error.\n\nThe persistent user database will not be modified if\nthe process chain does not run successfully. The processing is performed in an\nephemeral database and then merged or copied into the persistent user database.\n\n**Note**\n\n    Make sure that the process chain definition identifies all raster, vector\n    or space time datasets correctly with name and mapset: name@mapset.\n\n    All required mapsets will be identified by analysing the input parameter\n    of all module descriptions in the provided process chain\n    and mounted into the ephemeral database that is used for processing.\n\n", "consumes": ["application/json"], "parameters": [{"name": "project_name", "description": "The project name", "required": true, "in": "path", "type": "string", "default": "nc_spm_08"}, {"name": "mapset_name", "description": "The name of an existing mapset or a new mapset that should be created", "required": true, "in": "path", "type": "string"}, {"name": "process_chain", "description": "The process chain that should be executed", "required": true, "in": "body", "schema": {"$ref": "#/definitions/ProcessChainModel"}}], "responses": {"200": {"description": "The result of the process chain execution", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}, "400": {"description": "The error message and a detailed log why process chain execution did not succeed", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}}, "summary": "Execute a user defined process chain that creates a new mapset or<br/>Execute a user defined process chain that creates a new mapset or"}}, "/projects/{project_name}/mapsets/{mapset_name}/raster_layers": {"get": {"tags": ["Raster Management"], "description": "Get a list of raster map layer names that are located in a specific project/mapset. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The name of the project that should be accessed", "required": true, "in": "path", "type": "string", "default": "nc_spm_08"}, {"name": "mapset_name", "description": "The name of the mapset from which the raster map layers should be listed", "required": true, "in": "path", "type": "string", "default": "PERMANENT"}, {"name": "pattern", "description": "A parameter passed to g.list for raster map layer selection, eg.: http://<url>?pattern=\"*\"", "required": false, "in": "query", "type": "string"}], "responses": {"200": {"description": "This response returns a list of raster map layers and the log of the process chain that was used to create the response.", "schema": {"$ref": "#/definitions/StringListProcessingResultResponseModel"}}, "400": {"description": "The error message and a detailed log why listing of raster map layers did not succeeded", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}}, "summary": "Get a list of raster map layer names that are located in a specific<br/>Get a list of raster map layer names that are located in a specific"}, "delete": {"tags": ["Raster Management"], "description": "Delete a single raster map layer or a list of raster map layer names that are located in a specific project/mapset. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The name of the project that should be accessed", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset from which the raster map layers should be deleted", "required": true, "in": "path", "type": "string"}, {"name": "pattern", "description": "A parameter passed for g.remove to remove a list of raster map layers, to remove all eg.: http://<url>?pattern=\"*\"", "required": false, "in": "query", "type": "string"}], "responses": {"200": {"description": "This response returns the log of the process chain that was used to create the response.", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}, "400": {"description": "The error message and a detailed log why deletion of raster map layers did not succeeded", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}}, "summary": "Delete a single raster map layer or a list of raster map layer names<br/>Delete a single raster map layer or a list of raster map layer names"}, "put": {"tags": ["Raster Management"], "description": "Rename a single raster map layer or a list of raster map layers that are located in a specific project/mapset. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The name of the project that should be accessed", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset from which the raster map layers should be renamed", "required": true, "in": "path", "type": "string"}, {"name": "rename_list", "description": "A list of raster name tuples [(a, a_new),(b, b_new),(c, c_new), ...]", "required": true, "in": "body", "schema": {"type": "string"}}], "responses": {"200": {"description": "This response returns the log of the process chain that was used to create the response.", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}, "400": {"description": "The error message and a detailed log why listing of raster map layers did not succeeded", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}}, "summary": "Rename a single raster map layer or a list of raster map layers that<br/>Rename a single raster map layer or a list of raster map layers that"}}, "/projects/{project_name}/mapsets/{mapset_name}/raster_layers/{raster_name}": {"get": {"tags": ["Raster Management"], "description": "Get information about an existing raster map layer. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The project name", "required": true, "in": "path", "type": "string", "default": "nc_spm_08"}, {"name": "mapset_name", "description": "The name of the mapset that contains the required raster map layer", "required": true, "in": "path", "type": "string", "default": "PERMANENT"}, {"name": "raster_name", "description": "The name of the raster map layer to get information about", "required": true, "in": "path", "type": "string", "default": "elevation"}], "consumes": ["application/json"], "produces": ["application/json"], "responses": {"200": {"description": "The raster map layer information", "schema": {"$ref": "#/definitions/RasterInfoResponseModel"}}, "400": {"description": "The error message and a detailed log why gathering raster map layer information did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Get information about an existing raster map layer.<br/>Get information about an existing raster map layer."}, "delete": {"tags": ["Raster Management"], "description": "Delete an existing raster map layer. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The project name", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset that contains the required raster map layer", "required": true, "in": "path", "type": "string"}, {"name": "raster_name", "description": "The name of the raster map layer to be deleted", "required": true, "in": "path", "type": "string"}], "produces": ["application/json"], "responses": {"200": {"description": "Successfuly delete a raster map layer", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}, "400": {"description": "The error message and a detailed log why raster map layer deletion did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Delete an existing raster map layer.<br/>Delete an existing raster map layer."}, "post": {"tags": ["Raster Management"], "description": "Create a new raster map layer by uploading a GeoTIFF. This method will fail if the map already exists. An example request is 'curl -L -u \"XXX:XXX\" -X POST -H \"Content-Type: multipart/form-data\" -F \"file=@/home/....tif\" http://localhost:8088/api/v3/projects/nc_spm_08/mapsets/test_mapset/raster_layers/testraster'. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The project name", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset in which the raster map layer should be created", "required": true, "in": "path", "type": "string"}, {"name": "raster_name", "description": "The name of the new raster map layer to be created", "required": true, "in": "path", "type": "string"}], "consumes": ["Content-Type: multipart/form-data"], "produces": ["application/json"], "responses": {"200": {"description": "Raster map layer import information", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}, "400": {"description": "The error message and a detailed log why raster map layer import failed", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Create a new raster layer by uploading a GeoTIFF<br/>Create a new raster layer by uploading a GeoTIFF"}}, "/projects/{project_name}/mapsets/{mapset_name}/raster_layers/{raster_name}/area_stats_async": {"post": {"tags": ["Raster Statistics"], "description": "Compute areal categorical statistics on a raster map layer based on an input polygon. The input polygon must be provided as GeoJSON content in the request body. A correct coordinate reference system must be present in the GeoJSON definition. For each category the size of the occupied area, the number of pixel of the area and the percentage of the area size in relation to all other categories inclusive NULL data are computed. Minimum required user role: user.", "consumes": ["application/json"], "parameters": [{"name": "project_name", "description": "The project name", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset that contains the required raster map layer", "required": true, "in": "path", "type": "string"}, {"name": "raster_name", "description": "The name of the raster map layer to compute the statistics from", "required": true, "in": "path", "type": "string"}, {"name": "shape", "description": "GeoJSON definition of the polygon to compute the statistics for.", "required": true, "in": "body", "schema": {"type": "string"}}], "responses": {"200": {"description": "The result of the areal raster statistical computation", "schema": {"$ref": "#/definitions/RasterAreaStatsResponseModel"}}, "400": {"description": "The error message and a detailed log why raster statistic did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Compute areal categorical statistics on a raster map layer based on<br/>Compute areal categorical statistics on a raster map layer based on"}}, "/projects/{project_name}/mapsets/{mapset_name}/raster_layers/{raster_name}/area_stats_sync": {"post": {"tags": ["Raster Statistics"], "description": "Compute areal categorical statistics on a raster map layer based on an input polygon. The input polygon must be provided as GeoJSON content in the request body. A correct coordinate reference system must be present in the GeoJSON definition. For each category the size of the occupied area, the number of pixel of the area and the percentage of the area size in relation to all other categories inclusive NULL data are computed. Minimum required user role: user.", "consumes": ["application/json"], "parameters": [{"name": "project_name", "description": "The project name", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset that contains the required raster map layer", "required": true, "in": "path", "type": "string"}, {"name": "raster_name", "description": "The name of the raster map layer to compute the statistics from", "required": true, "in": "path", "type": "string"}, {"name": "shape", "description": "GeoJSON definition of the polygon to compute the statistics for.", "required": true, "in": "body", "schema": {"type": "string"}}], "responses": {"200": {"description": "The result of the areal raster statistical computation", "schema": {"$ref": "#/definitions/RasterAreaStatsResponseModel"}}, "400": {"description": "The error message and a detailed log why raster statistic did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Compute areal categorical statistics on a raster map layer based on an<br/>Compute areal categorical statistics on a raster map layer based on an"}}, "/projects/{project_name}/mapsets/{mapset_name}/raster_layers/{raster_name}/area_stats_univar_async": {"post": {"tags": ["Raster Statistics"], "description": "Compute areal univariate statistics on a raster map layer based on an input polygon. The input polygon must be provided as GeoJSON content in the request body. A correct coordinate reference system must be present in the GeoJSON definition. Minimum required user role: user.", "consumes": ["application/json"], "parameters": [{"name": "project_name", "description": "The project name", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset that contains the required raster map layer", "required": true, "in": "path", "type": "string"}, {"name": "raster_name", "description": "The name of the raster map layer to compute the statistics from", "required": true, "in": "path", "type": "string"}, {"name": "shape", "description": "GeoJSON definition of the polygon to compute the statistics for.", "required": true, "in": "body", "schema": {"type": "string"}}], "responses": {"200": {"description": "The result of the areal raster statistical computation", "schema": {"$ref": "#/definitions/RasterAreaUnivarStatsResponseModel"}}, "400": {"description": "The error message and a detailed log why raster statistic did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Compute areal univariate statistics on a raster map layer based on an<br/>Compute areal univariate statistics on a raster map layer based on an"}}, "/projects/{project_name}/mapsets/{mapset_name}/raster_layers/{raster_name}/area_stats_univar_sync": {"post": {"tags": ["Raster Statistics"], "description": "Compute areal univariate statistics on a raster map layer based on an input polygon. The input polygon must be provided as GeoJSON content in the request body. A correct coordinate reference system must be present in the GeoJSON definition. Minimum required user role: user.", "consumes": ["application/json"], "parameters": [{"name": "project_name", "description": "The project name", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset that contains the required raster map layer", "required": true, "in": "path", "type": "string"}, {"name": "raster_name", "description": "The name of the raster map layer to compute the statistics from", "required": true, "in": "path", "type": "string"}, {"name": "shape", "description": "GeoJSON definition of the polygon to compute the statistics for.", "required": true, "in": "body", "schema": {"type": "string"}}], "responses": {"200": {"description": "The result of the areal raster statistical computation", "schema": {"$ref": "#/definitions/RasterAreaUnivarStatsResponseModel"}}, "400": {"description": "The error message and a detailed log why raster statistic did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Compute areal univariate statistics on a raster map layer based on an<br/>Compute areal univariate statistics on a raster map layer based on an"}}, "/projects/{project_name}/mapsets/{mapset_name}/raster_layers/{raster_name}/colors": {"get": {"tags": ["Raster Management"], "description": "Get the color definition of an existing raster map layer. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The project name", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset that contains the required raster map layer", "required": true, "in": "path", "type": "string"}, {"name": "raster_name", "description": "The name of the raster map layer to get the color table from", "required": true, "in": "path", "type": "string"}], "produces": ["application/json"], "responses": {"200": {"description": "A list of color rules", "schema": {"$ref": "#/definitions/StringListProcessingResultResponseModel"}}, "400": {"description": "The error message and a detailed error log", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Get the color definition of an existing raster map layer.<br/>Get the color definition of an existing raster map layer."}, "post": {"tags": ["Raster Management"], "description": "Set the color definition for an existing raster map layer. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The project name", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset that contains the required raster map layer", "required": true, "in": "path", "type": "string"}, {"name": "raster_name", "description": "The name of the raster map layer to set the color table", "required": true, "in": "path", "type": "string"}, {"name": "color", "description": "The color definition.", "required": true, "in": "body", "schema": {"$ref": "#/definitions/RasterColorModel"}}], "produces": ["application/json"], "consumes": ["application/json"], "responses": {"200": {"description": "Successfuly set the color table for a raster map layer", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}, "400": {"description": "The error message and a detailed error log", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Set the color definition for an existing raster map layer.<br/>Set the color definition for an existing raster map layer."}}, "/projects/{project_name}/mapsets/{mapset_name}/raster_layers/{raster_name}/geotiff_async": {"post": {"tags": ["Raster Management"], "description": "Export an existing raster map layer as GTiff or COG (if COG driver available). The link to the exported raster map layer is located in the JSON response.The current region settings of the mapset are used to export the raster layer. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The project name", "required": true, "in": "path", "type": "string", "default": "nc_spm_08"}, {"name": "mapset_name", "description": "The name of the mapset that contains the required raster map layer", "required": true, "in": "path", "type": "string", "default": "PERMANENT"}, {"name": "raster_name", "description": "The name of the raster map layer to export", "required": true, "in": "path", "type": "string", "default": "elevation"}], "consumes": ["application/json"], "produces": ["application/json"], "responses": {"200": {"description": "The response including the URL to the raster map layer GeoTiff file", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}, "400": {"description": "The error message and a detailed log why gathering raster map layer information did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Export an existing raster map layer as GeoTiff.<br/>Export an existing raster map layer as GeoTiff."}}, "/projects/{project_name}/mapsets/{mapset_name}/raster_layers/{raster_name}/geotiff_async_orig": {"post": {"tags": ["Raster Management"], "description": "Export an existing raster map layer as GTiff or COG (if COG driver available). The link to the exported raster map layer is located in the JSON response. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The project name", "required": true, "in": "path", "type": "string", "default": "nc_spm_08"}, {"name": "mapset_name", "description": "The name of the mapset that contains the required raster map layer", "required": true, "in": "path", "type": "string", "default": "PERMANENT"}, {"name": "raster_name", "description": "The name of the raster map layer to export", "required": true, "in": "path", "type": "string", "default": "elevation"}], "consumes": ["application/json"], "produces": ["application/json"], "responses": {"200": {"description": "The response including the URL to the raster map layer GeoTiff file", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}, "400": {"description": "The error message and a detailed log why gathering raster map layer information did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Export an existing raster map layer as GeoTiff using the raster<br/>Export an existing raster map layer as GeoTiff using the raster"}}, "/projects/{project_name}/mapsets/{mapset_name}/raster_layers/{raster_name}/legend": {"get": {"tags": ["Raster Management"], "description": "Render the legend of a raster map layer as a PNG image. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The project name", "required": true, "in": "path", "type": "string", "default": "nc_spm_08"}, {"name": "mapset_name", "description": "The name of the mapset that contains the required raster map layer", "required": true, "in": "path", "type": "string", "default": "PERMANENT"}, {"name": "raster_name", "description": "The name of the raster map layer of which the legend should be rendered", "required": true, "in": "path", "type": "string", "default": "elevation"}], "produces": ["image/png"], "responses": {"200": {"description": "The PNG image"}, "400": {"description": "The error message and a detailed log why legend rendering did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Render the legend of a raster map layer as a PNG image.<br/>Render the legend of a raster map layer as a PNG image."}}, "/projects/{project_name}/mapsets/{mapset_name}/raster_layers/{raster_name}/render": {"get": {"tags": ["Raster Management"], "description": "Render a raster map layer as a PNG image. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The project name", "required": true, "in": "path", "type": "string", "default": "nc_spm_08"}, {"name": "mapset_name", "description": "The name of the mapset that contains the required raster map layer", "required": true, "in": "path", "type": "string", "default": "PERMANENT"}, {"name": "raster_name", "description": "The name of the raster map layer to render", "required": true, "in": "path", "type": "string", "default": "elevation"}, {"name": "n", "description": "Northern border", "required": false, "in": "query", "type": "number", "format": "double"}, {"name": "s", "description": "Southern border", "required": false, "in": "query", "type": "number", "format": "double"}, {"name": "e", "description": "Eastern border", "required": false, "in": "query", "type": "number", "format": "double"}, {"name": "w", "description": "Western border", "required": false, "in": "query", "type": "number", "format": "double"}, {"name": "width", "description": "Image width in pixel, default is 800", "required": false, "in": "query", "type": "number", "format": "integer", "default": 800}, {"name": "height", "description": "Image height in pixel, default is 600", "required": false, "in": "query", "type": "number", "format": "integer", "default": 600}], "produces": ["image/png"], "responses": {"200": {"description": "The PNG image"}, "400": {"description": "The error message and a detailed log why rendering did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Render a raster map layer as a PNG image.<br/>Render a raster map layer as a PNG image."}}, "/projects/{project_name}/mapsets/{mapset_name}/raster_layers/{raster_name}/sampling_async": {"post": {"tags": ["Raster Sampling"], "description": "Spatial sampling of a raster dataset with vector points. The vector points must be in the same coordinate reference system as the project that contains the raster dataset. The result of the sampling is located in the resource responseJSON document after the processing was finished, as a list of values for each vector point. Minimum required user role: user.", "consumes": ["application/json"], "parameters": [{"name": "project_name", "description": "The project name", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset that contains the required raster map layer", "required": true, "in": "path", "type": "string"}, {"name": "raster_name", "description": "The name of the raster map layer to perform the raster map sampling from", "required": true, "in": "path", "type": "string"}, {"name": "points", "description": "The sampling point array [[id, x, y],[id, x, y]]. The coordinates of the sampling points must be in the same coordinate reference system as the project that contains the vector dataset.", "required": true, "in": "body", "schema": {"$ref": "#/definitions/PointListModel"}}], "responses": {"200": {"description": "The result of the raster map sampling", "schema": {"$ref": "#/definitions/RasterSamplingResponseModel"}}, "400": {"description": "The error message and a detailed log why raster sampling did not succeed", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Perform raster map sampling on a raster map layer based on input<br/>Perform raster map sampling on a raster map layer based on input"}}, "/projects/{project_name}/mapsets/{mapset_name}/raster_layers/{raster_name}/sampling_sync": {"post": {"tags": ["Raster Sampling"], "description": "Spatial sampling of a raster dataset with vector points. The vector points must be in the same coordinate reference system as the project that contains the raster dataset. The result of the sampling is located in the resource responseJSON document after the processing was finished, as a list of values for each vector point. Minimum required user role: user.", "consumes": ["application/json"], "parameters": [{"name": "project_name", "description": "The project name", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset that contains the required raster map layer", "required": true, "in": "path", "type": "string"}, {"name": "raster_name", "description": "The name of the raster map layer to perform the raster map sampling from", "required": true, "in": "path", "type": "string"}, {"name": "points", "description": "The sampling point array [[id, x, y],[id, x, y]]. The coordinates of the sampling points must be in the same coordinate reference system as the project that contains the vector dataset.", "required": true, "in": "body", "schema": {"$ref": "#/definitions/PointListModel"}}], "responses": {"200": {"description": "The result of the raster map sampling", "schema": {"$ref": "#/definitions/RasterSamplingResponseModel"}}, "400": {"description": "The error message and a detailed log why raster sampling did not succeed", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Perform raster map sampling on a raster map layer based on input<br/>Perform raster map sampling on a raster map layer based on input"}}, "/projects/{project_name}/mapsets/{mapset_name}/render_rgb": {"get": {"tags": ["Raster Management"], "description": "Render three raster map layer as composed RGB PNG image. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The project name", "required": true, "in": "path", "type": "string", "default": "nc_spm_08"}, {"name": "mapset_name", "description": "The name of the mapset that contains the required raster map layer", "required": true, "in": "path", "type": "string", "default": "landsat"}, {"name": "red", "description": "The name of the raster map layer to render as color red", "required": true, "in": "query", "type": "string", "default": "lsat5_1987_30"}, {"name": "green", "description": "The name of the raster map layer to render as color green", "required": true, "in": "query", "type": "string", "default": "lsat5_1987_20"}, {"name": "blue", "description": "The name of the raster map layer to render as color blue", "required": true, "in": "query", "type": "string", "default": "lsat5_1987_10"}, {"name": "n", "description": "Northern border", "required": false, "in": "query", "type": "number", "format": "double"}, {"name": "s", "description": "Southern border", "required": false, "in": "query", "type": "number", "format": "double"}, {"name": "e", "description": "Eastern border", "required": false, "in": "query", "type": "number", "format": "double"}, {"name": "w", "description": "Western border", "required": false, "in": "query", "type": "number", "format": "double"}, {"name": "width", "description": "Image width in pixel, default is 800", "required": false, "in": "query", "type": "number", "format": "integer", "default": 800}, {"name": "height", "description": "Image height in pixel, default is 600", "required": false, "in": "query", "type": "number", "format": "integer", "default": 600}], "produces": ["image/png"], "responses": {"200": {"description": "The RGB composition PNG image"}, "400": {"description": "The error message and a detailed log why rendering did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Render three raster map layer as composed RGB PNG image.<br/>Render three raster map layer as composed RGB PNG image."}}, "/projects/{project_name}/mapsets/{mapset_name}/render_shade": {"get": {"tags": ["Raster Management"], "description": "Render two raster layers as a composed shade PNG image. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The project name", "required": true, "in": "path", "type": "string", "default": "nc_spm_08"}, {"name": "mapset_name", "description": "The name of the mapset that contains the required raster map layer", "required": true, "in": "path", "type": "string", "default": "PERMANENT"}, {"name": "shade", "description": "The name of the raster map layer to be used for shading", "required": true, "in": "query", "type": "string", "default": "aspect"}, {"name": "color", "description": "The name of the raster map layer to be used for coloring", "required": true, "in": "query", "type": "string", "default": "elevation"}, {"name": "n", "description": "Northern border", "required": false, "in": "query", "type": "number", "format": "double"}, {"name": "s", "description": "Southern border", "required": false, "in": "query", "type": "number", "format": "double"}, {"name": "e", "description": "Eastern border", "required": false, "in": "query", "type": "number", "format": "double"}, {"name": "w", "description": "Western border", "required": false, "in": "query", "type": "number", "format": "double"}, {"name": "width", "description": "Image width in pixel, default is 800", "required": false, "in": "query", "type": "number", "format": "integer", "default": 800}, {"name": "height", "description": "Image height in pixel, default is 600", "required": false, "in": "query", "type": "number", "format": "integer", "default": 600}], "produces": ["image/png"], "responses": {"200": {"description": "The shade/color composition PNG image"}, "400": {"description": "The error message and a detailed log why rendering did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Render two raster layers as a composed shade PNG image<br/>Render two raster layers as a composed shade PNG image"}}, "/projects/{project_name}/mapsets/{mapset_name}/sentinel2_import": {"post": {"tags": ["Satellite Image Algorithms"], "description": "Download and import Sentinel2A scenes into a new mapset and create a space-time raster dataset for each imported band. The resulting data will be located in a persistent user database. The project name is part of the path and must exist. The mapset will be created while importing and should not already exist in the project. The names of the Sentinel-2 scenes and the band names that should be downloaded must be specified in the HTTP body as application/json content. In addition, the names of the STRDS that should manage the sentinel scenes must be provided in the application/json content. For each band a separate STRDS name must be provided. This call is performed asynchronously. The provided resource URL must be pulled to receive the status of the import. The data is available in the provided project/mapset, after the download and import finished. Minimum required user role: user.", "consumes": ["application/json"], "parameters": [{"name": "project_name", "description": "The project name to import the Sentinel2A scenes in", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset to import the Sentinel2A scenes in", "required": true, "in": "path", "type": "string"}, {"name": "tiles", "description": "The list of Sentinel-2 scenes, the band names and the target STRDS names", "required": true, "in": "body", "schema": {"$ref": "#/definitions/Sentinel2ASceneListModel"}}], "responses": {"200": {"description": "The result of the Sentinel-2 time series import", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}, "400": {"description": "The error message and a detailed log why Sentinel 2A time series import did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Download and import Sentinel2A scenes into a new mapset and create<br/>Download and import Sentinel2A scenes into a new mapset and create"}}, "/projects/{project_name}/mapsets/{mapset_name}/strds": {"get": {"tags": ["STRDS Management"], "description": "Get a list of all STRDS that are located in a specific project/mapset. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The name of the project", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset", "required": true, "in": "path", "type": "string"}, {"name": "where", "description": "A where statement to select user specific STRDS", "required": false, "in": "query", "type": "string"}], "responses": {"200": {"description": "This response returns a list of STRDS names and timestamps and the log of the process chain that was used to create the response.", "schema": {"$ref": "#/definitions/StringListProcessingResultResponseModel"}}, "400": {"description": "The error message and a detailed log why listing of STRDS did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Get a list of all STRDS that are located in a specific project/mapset.<br/>Get a list of all STRDS that are located in a specific project/mapset."}}, "/projects/{project_name}/mapsets/{mapset_name}/strds/{strds_name}": {"get": {"tags": ["STRDS Management"], "description": "Get information about a STRDS that is located in a specific project/mapset. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The name of the project", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset", "required": true, "in": "path", "type": "string"}, {"name": "strds_name", "description": "The name of the STRDS", "required": true, "in": "path", "type": "string"}], "responses": {"200": {"description": "This response returns information about a specific STRDS and the log of the process chain that was used to create the response.", "schema": {"$ref": "#/definitions/STRDSInfoResponseModel"}}, "400": {"description": "The error message and a detailed log why information gathering of the STRDS did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Get information about a STRDS that is located in a specific<br/>Get information about a STRDS that is located in a specific"}, "delete": {"tags": ["STRDS Management"], "description": "Delete a STRDS that is located in a specific project/mapset. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The name of the project", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset", "required": true, "in": "path", "type": "string"}, {"name": "strds_name", "description": "The name of the STRDS", "required": true, "in": "path", "type": "string"}, {"name": "recursive", "description": "Delete the STRDS and all registered raster map layer recursively", "required": false, "in": "query", "type": "boolean"}], "responses": {"200": {"description": "Deletion of the STRDS was successfully finished.", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}, "400": {"description": "The error message and a detailed log why deletion of the STRDS did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Delete a STRDS that is located in a specific project/mapset.<br/>Delete a STRDS that is located in a specific project/mapset."}, "post": {"tags": ["STRDS Management"], "description": "Create a new STRDS in a specific project/mapset. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The name of the project", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset", "required": true, "in": "path", "type": "string"}, {"name": "strds_name", "description": "The name of the STRDS", "required": true, "in": "path", "type": "string"}, {"name": "metadata", "description": "Temporal type, title and description of the STRDS", "required": true, "in": "body", "schema": {"$ref": "#/definitions/STRDSCreationModel"}}], "responses": {"200": {"description": "Creation of the STRDS was successfully finished.", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}, "400": {"description": "The error message and a detailed log why creation of the STRDS did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Create a new STRDS in a specific project/mapset.<br/>Create a new STRDS in a specific project/mapset."}}, "/projects/{project_name}/mapsets/{mapset_name}/strds/{strds_name}/raster_layers": {"get": {"tags": ["STRDS Management"], "description": "Get a list of all raster map layers that are registered in a STRDS that is located in a specific project/mapset. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The name of the project", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset", "required": true, "in": "path", "type": "string"}, {"name": "strds_name", "description": "The name of the STRDS", "required": true, "in": "path", "type": "string"}, {"name": "where", "description": "A where statement to select user specific raster map layers from the STRDS", "required": false, "in": "query", "type": "string"}], "responses": {"200": {"description": "This response returns a list of all raster map layers that are registered a specific STRDS and the log of the process chain that was used to create the response.", "schema": {"$ref": "#/definitions/STRDSRasterListResponseModel"}}, "400": {"description": "The error message and a detailed log why creating a list of raster map layers from STRDS did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Get a list of all raster map layers that are registered in a STRDS<br/>Get a list of all raster map layers that are registered in a STRDS"}, "delete": {"tags": ["STRDS Management"], "description": "Unregister raster map layers from a STRDS located in a specific project/mapset. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The name of the project", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset", "required": true, "in": "path", "type": "string"}, {"name": "strds_name", "description": "The name of the STRDS", "required": true, "in": "path", "type": "string"}, {"name": "raster_list", "description": "The list of raster map layers to be unregistered from the STRDS", "required": true, "in": "body", "schema": {"type": "array", "items": {"type": "string"}}}], "responses": {"200": {"description": "Unregistration of raster map layers was successfully finished.", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}, "400": {"description": "The error message and a detailed log why raster map layer unregistration did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Unregister raster map layers from a STRDS located in a specific<br/>Unregister raster map layers from a STRDS located in a specific"}, "put": {"tags": ["STRDS Management"], "description": "Register raster map layers in a STRDS located in a specific project/mapset. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The name of the project", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset", "required": true, "in": "path", "type": "string"}, {"name": "strds_name", "description": "The name of the STRDS", "required": true, "in": "path", "type": "string"}, {"name": "raster_list", "description": "The list of raster map layers to be registered in the STRDS", "required": true, "in": "body", "schema": {"$ref": "#/definitions/RasterListRegisterModel"}}], "responses": {"200": {"description": "Registration of raster map layers was successfully finished.", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}, "400": {"description": "The error message and a detailed log why raster map layer registration did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Register raster map layers in a STRDS located in a specific<br/>Register raster map layers in a STRDS located in a specific"}}, "/projects/{project_name}/mapsets/{mapset_name}/strds/{strds_name}/render": {"get": {"tags": ["STRDS Management"], "description": "Render the raster map layers of a specific STRDS as a single image. All raster layers are rendered in order of their time stamps, from past to future. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The project name", "required": true, "in": "path", "type": "string", "default": "nc_spm_08"}, {"name": "mapset_name", "description": "The name of the mapset that contains the required raster map layer", "required": true, "in": "path", "type": "string", "default": "PERMANENT"}, {"name": "strds_name", "description": "The name of the STRDS to render", "required": true, "in": "path", "type": "string", "default": "elevation"}, {"name": "n", "description": "Northern border", "required": false, "in": "query", "type": "number", "format": "double"}, {"name": "s", "description": "Southern border", "required": false, "in": "query", "type": "number", "format": "double"}, {"name": "e", "description": "Eastern border", "required": false, "in": "query", "type": "number", "format": "double"}, {"name": "w", "description": "Western border", "required": false, "in": "query", "type": "number", "format": "double"}, {"name": "width", "description": "Image width in pixel, default is 800", "required": false, "in": "query", "type": "number", "format": "integer", "default": 800}, {"name": "height", "description": "Image height in pixel, default is 600", "required": false, "in": "query", "type": "number", "format": "integer", "default": 600}, {"name": "start_time", "description": "Raster map layers that have equal or greater the start time will be rendered", "required": false, "in": "query", "type": "string"}, {"name": "end_time", "description": "Raster map layers that have equal or lower the end time will be rendered", "required": false, "in": "query", "type": "string"}], "produces": ["image/png"], "responses": {"200": {"description": "The PNG image"}, "400": {"description": "The error message and a detailed log why rendering did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Render the raster map layers of a specific STRDS as a single image.<br/>Render the raster map layers of a specific STRDS as a single image."}}, "/projects/{project_name}/mapsets/{mapset_name}/strds/{strds_name}/sampling_async": {"post": {"tags": ["STRDS Sampling"], "description": "Spatial sampling of a space-time raster dataset with vector points. The vector points must be in the same coordinate reference system as the project that contains the space-time raster dataset. The result of the sampling is located in the resource responseJSON docuement after the processing was finished, as a list of timestamped values for each vector point. Minimum required user role: user.", "consumes": ["application/json"], "parameters": [{"name": "project_name", "description": "The project name", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset that contains the required raster map layer", "required": true, "in": "path", "type": "string"}, {"name": "strds_name", "description": "The name of the space-time raster dataset that should be sampled", "required": true, "in": "path", "type": "string"}, {"name": "points", "description": "The sampling point array [[id, x, y],[id, x, y]] and an optional where statement. The coordinates of the sampling points must be the same as of the project that contains the space-time raster dataset.", "required": true, "in": "body", "schema": {"$ref": "#/definitions/PointListModel"}}], "responses": {"200": {"description": "The result of the strds sampling", "schema": {"$ref": "#/definitions/STRDSSampleResponseModel"}}, "400": {"description": "The error message and a detailed log why strds sampling did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Sample a strds by point coordinates, asynchronous call<br/>Sample a strds by point coordinates, asynchronous call"}}, "/projects/{project_name}/mapsets/{mapset_name}/strds/{strds_name}/sampling_async_geojson": {"post": {"tags": ["STRDS Sampling"], "description": "Spatial sampling of a space-time raster dataset (STRDS) with vector points. The vector points must be provided as GeoJSON vector point format that includes correct coordinate system specification. The result of the sampling is located in the resource responseJSON document after the processing was finished, as a list of timestamped values for each vector point. Minimum required user role: user.", "consumes": ["application/json"], "parameters": [{"name": "project_name", "description": "The project name", "required": true, "in": "path", "type": "string", "default": "ECAD"}, {"name": "mapset_name", "description": "The name of the mapset that contains the required raster map layer", "required": true, "in": "path", "type": "string", "default": "PERMANENT"}, {"name": "strds_name", "description": "The name of the space-time raster dataset that should be sampled", "required": true, "in": "path", "type": "string", "default": "temperature_mean_1950_2013_yearly_celsius"}, {"name": "points", "description": "GeoJSON vector input that contains the vector points for sampling", "required": true, "in": "body", "schema": "string", "default": "\n{\n\"type\": \"FeatureCollection\",\n\"crs\": {\"type\": \"name\", \"properties\": {\"name\": \"urn:ogc:def:crs:OGC:1.3:\"\n\"CRS84\"}},\n\"features\": [\n    {\"type\": \"Feature\", \"properties\": {\"cat\": 1},\n     \"geometry\": {\"type\": \"Point\", \"coordinates\": [-5.095406, 38.840583]}},\n    {\"type\": \"Feature\", \"properties\": {\"cat\": 2},\n     \"geometry\": {\"type\": \"Point\", \"coordinates\": [9.9681980, 51.666166]}},\n    {\"type\": \"Feature\", \"properties\": {\"cat\": 3},\n     \"geometry\": {\"type\": \"Point\", \"coordinates\": [24.859647, 52.699099]}}\n]\n}\n                        "}], "responses": {"200": {"description": "The result of the strds sampling", "schema": {"$ref": "#/definitions/STRDSSampleGeoJSONResponseModel"}}, "400": {"description": "The error message and a detailed log why strds sampling did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Sample a strds by point coordinates, asynchronous call<br/>Sample a strds by point coordinates, asynchronous call"}}, "/projects/{project_name}/mapsets/{mapset_name}/strds/{strds_name}/sampling_sync": {"post": {"tags": ["STRDS Sampling"], "description": "Spatial sampling of a space-time raster dataset with vector points. The vector points must be in the same coordinate reference system as the project that contains the space-time raster dataset. The result of the sampling is located in the resource responseJSON docuement after the processing was finished, as a list of timestamped values for each vector point. Minimum required user role: user.", "consumes": ["application/json"], "parameters": [{"name": "project_name", "description": "The project name", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset that contains the required raster map layer", "required": true, "in": "path", "type": "string"}, {"name": "strds_name", "description": "The name of the space-time raster dataset that should be sampled", "required": true, "in": "path", "type": "string"}, {"name": "points", "description": "The sampling point array [[id, x, y],[id, x, y]] and an optional where statement. The coordinates of the sampling points must be the same as of the project that contains the space-time raster dataset.", "required": true, "in": "body", "schema": {"$ref": "#/definitions/PointListModel"}}], "responses": {"200": {"description": "The result of the strds sampling", "schema": {"$ref": "#/definitions/STRDSSampleResponseModel"}}, "400": {"description": "The error message and a detailed log why strds sampling did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Sample a strds by point coordinates, synchronous call<br/>Sample a strds by point coordinates, synchronous call"}}, "/projects/{project_name}/mapsets/{mapset_name}/strds/{strds_name}/sampling_sync_geojson": {"post": {"tags": ["STRDS Sampling"], "description": "Spatial sampling of a space-time raster dataset (STRDS) with vector points. The vector points must be provided as GeoJSON vector point format that includes correct coordinate system specification. The result of the sampling is located in the resource responseJSON document after the processing was finished, as a list of timestamped values for each vector point. Minimum required user role: user.", "consumes": ["application/json"], "parameters": [{"name": "project_name", "description": "The project name", "required": true, "in": "path", "type": "string", "default": "ECAD"}, {"name": "mapset_name", "description": "The name of the mapset that contains the required raster map layer", "required": true, "in": "path", "type": "string", "default": "PERMANENT"}, {"name": "strds_name", "description": "The name of the space-time raster dataset that should be sampled", "required": true, "in": "path", "type": "string", "default": "temperature_mean_1950_2013_yearly_celsius"}, {"name": "points", "description": "GeoJSON vector input that contains the vector points for sampling", "required": true, "in": "body", "schema": "string", "default": "\n{\n\"type\": \"FeatureCollection\",\n\"crs\": {\"type\": \"name\", \"properties\": {\"name\": \"urn:ogc:def:crs:OGC:1.3:\"\n\"CRS84\"}},\n\"features\": [\n    {\"type\": \"Feature\", \"properties\": {\"cat\": 1},\n     \"geometry\": {\"type\": \"Point\", \"coordinates\": [-5.095406, 38.840583]}},\n    {\"type\": \"Feature\", \"properties\": {\"cat\": 2},\n     \"geometry\": {\"type\": \"Point\", \"coordinates\": [9.9681980, 51.666166]}},\n    {\"type\": \"Feature\", \"properties\": {\"cat\": 3},\n     \"geometry\": {\"type\": \"Point\", \"coordinates\": [24.859647, 52.699099]}}\n]\n}\n                        "}], "responses": {"200": {"description": "The result of the strds sampling", "schema": {"$ref": "#/definitions/STRDSSampleGeoJSONResponseModel"}}, "400": {"description": "The error message and a detailed log why strds sampling did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Sample a strds by point coordinates, synchronous call<br/>Sample a strds by point coordinates, synchronous call"}}, "/projects/{project_name}/mapsets/{mapset_name}/strds/{strds_name}/timestamp/{timestamp}/area_stats_async": {"post": {"tags": ["STRDS Statistics"], "description": "Compute areal categorical statistics on a raster map layer contained in a space-time raster dataset based on an input polygon. The input polygon must be provided as GeoJSON content in the request body. A correct coordinate reference system must be present in the GeoJSON definition. For each category the size of the occupied area, the number of pixel of the area and the percentage of the area size in relation to all other categories inclusive NULL data are computed. Minimum required user role: user.", "consumes": ["application/json"], "parameters": [{"name": "project_name", "description": "The project name", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset that contains the required space-time raster dataset", "required": true, "in": "path", "type": "string"}, {"name": "strds_name", "description": "The name of the space-time raster dataset to select the raster map layer from", "required": true, "in": "path", "type": "string"}, {"name": "timestamp", "description": "The time stamp that should be used for raster map layer selection. Required format is: YYYY-MM-DDTHH:MM:SS for example 2001-03-16T12:30:15.", "required": true, "in": "path", "type": "string", "format": "dateTime"}, {"name": "shape", "description": "GeoJSON definition of the polygon to compute the statistics for. The .", "required": true, "in": "body", "schema": {"type": "string"}}], "responses": {"200": {"description": "The result of the areal raster statistical computation", "schema": {"$ref": "#/definitions/RasterAreaStatsResponseModel"}}, "400": {"description": "The error message and a detailed log why raster statistic did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Compute area statistics based on a vector map for a single raster<br/>Compute area statistics based on a vector map for a single raster"}}, "/projects/{project_name}/mapsets/{mapset_name}/strds/{strds_name}/timestamp/{timestamp}/area_stats_sync": {"post": {"tags": ["STRDS Statistics"], "description": "Compute areal categorical statistics on a raster map layer contained in a space-time raster dataset based on an input polygon. The input polygon must be provided as GeoJSON content in the request body. A correct coordinate reference system must be present in the GeoJSON definition. For each category the size of the occupied area, the number of pixel of the area and the percentage of the area size in relation to all other categories inclusive NULL data are computed. Minimum required user role: user.", "consumes": ["application/json"], "parameters": [{"name": "project_name", "description": "The project name", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset that contains the required space-time raster dataset", "required": true, "in": "path", "type": "string"}, {"name": "strds_name", "description": "The name of the space-time raster dataset to select the raster map layer from", "required": true, "in": "path", "type": "string"}, {"name": "timestamp", "description": "The time stamp that should be used for raster map layer selection. Required format is: YYYY-MM-DDTHH:MM:SS for example 2001-03-16T12:30:15.", "required": true, "in": "path", "type": "string", "format": "dateTime"}, {"name": "shape", "description": "GeoJSON definition of the polygon to compute the statistics for. The .", "required": true, "in": "body", "schema": {"type": "string"}}], "responses": {"200": {"description": "The result of the areal raster statistical computation", "schema": {"$ref": "#/definitions/RasterAreaStatsResponseModel"}}, "400": {"description": "The error message and a detailed log why raster statistic did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Compute area statistics based on a vector map for a single raster<br/>Compute area statistics based on a vector map for a single raster"}}, "/projects/{project_name}/mapsets/{mapset_name}/strds/{strds_name}/timestamp/{timestamp}/area_stats_univar_async": {"post": {"tags": ["STRDS Statistics"], "description": "Compute areal univariate statistics on a raster map layer contained in a space-time raster dataset based on an input polygon. The input polygon must be provided as GeoJSON content in the request body. A correct coordinate reference system must be present in the GeoJSON definition. Minimum required user role: user.", "consumes": ["application/json"], "parameters": [{"name": "project_name", "description": "The project name", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset that contains the required space-time raster dataset", "required": true, "in": "path", "type": "string"}, {"name": "strds_name", "description": "The name of the space-time raster dataset to select the raster map layer from", "required": true, "in": "path", "type": "string"}, {"name": "timestamp", "description": "The time stamp that should be used for raster map layer selection. Required format is: YYYY-MM-DDTHH:MM:SS for example 2001-03-16T12:30:15.", "required": true, "in": "path", "type": "string", "format": "dateTime"}, {"name": "shape", "description": "GeoJSON definition of the polygon to compute the statistics for.", "required": true, "in": "body", "schema": {"type": "string"}}], "responses": {"200": {"description": "The result of the areal univar raster statistical computation", "schema": {"$ref": "#/definitions/RasterAreaUnivarStatsResponseModel"}}, "400": {"description": "The error message and a detailed log why univar raster statistic did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Compute areal univariate statistics on a raster map layer contained in<br/>Compute areal univariate statistics on a raster map layer contained in"}}, "/projects/{project_name}/mapsets/{mapset_name}/strds/{strds_name}/timestamp/{timestamp}/area_stats_univar_sync": {"post": {"tags": ["STRDS Statistics"], "description": "Compute areal univariate statistics on a raster map layer contained in a space-time raster dataset based on an input polygon. The input polygon must be provided as GeoJSON content in the request body. A correct coordinate reference system must be present in the GeoJSON definition. Minimum required user role: user.", "consumes": ["application/json"], "parameters": [{"name": "project_name", "description": "The project name", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset that contains the required space-time raster dataset", "required": true, "in": "path", "type": "string"}, {"name": "strds_name", "description": "The name of the space-time raster dataset to select the raster map layer from", "required": true, "in": "path", "type": "string"}, {"name": "timestamp", "description": "The time stamp that should be used for raster map layer selection. Required format is: YYYY-MM-DDTHH:MM:SS for example 2001-03-16T12:30:15.", "required": true, "in": "path", "type": "string", "format": "dateTime"}, {"name": "shape", "description": "GeoJSON definition of the polygon to compute the statistics for.", "required": true, "in": "body", "schema": {"type": "string"}}], "responses": {"200": {"description": "The result of the areal univar raster statistical computation", "schema": {"$ref": "#/definitions/RasterAreaUnivarStatsResponseModel"}}, "400": {"description": "The error message and a detailed log why univar raster statistic did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Compute areal univariate statistics on a raster map layer contained in<br/>Compute areal univariate statistics on a raster map layer contained in"}}, "/projects/{project_name}/mapsets/{mapset_name}/vector_layers": {"get": {"tags": ["Vector Management"], "description": "Get a list of vector map layer names that are located in a specific project/mapset. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The name of the project that should be accessed", "required": true, "in": "path", "type": "string", "default": "nc_spm_08"}, {"name": "mapset_name", "description": "The name of the mapset from which the vector map layers should be listed", "required": true, "in": "path", "type": "string", "default": "PERMANENT"}, {"name": "pattern", "description": "A parameter passed to g.list for vector map layer selection, eg.: http://<url>?pattern=\"*\"", "required": false, "in": "query", "type": "string"}], "responses": {"200": {"description": "This response returns a list of vector map layers and the log of the process chain that was used to create the response.", "schema": {"$ref": "#/definitions/StringListProcessingResultResponseModel"}}, "400": {"description": "The error message and a detailed log why listing of vector map layers did not succeeded", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}}, "summary": "Get a list of vector map layer names that are located in a specific<br/>Get a list of vector map layer names that are located in a specific"}, "delete": {"tags": ["Vector Management"], "description": "Delete a single vector map layer or a list of vector map layer names that are located in a specific project/mapset. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The name of the project that should be accessed", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset from which the vector map layers should be deleted", "required": true, "in": "path", "type": "string"}, {"name": "pattern", "description": "A parameter passed for g.remove to remove a list of vector map layers, to remove all eg.: http://<url>?pattern=\"*\"", "required": false, "in": "query", "type": "string"}], "responses": {"200": {"description": "This response returns the log of the process chain that was used to create the response.", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}, "400": {"description": "The error message and a detailed log why deletion of vector map layers did not succeeded", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}}, "summary": "Delete a single vector map layer or a list of vector map layer names<br/>Delete a single vector map layer or a list of vector map layer names"}, "put": {"tags": ["Vector Management"], "description": "Rename a single vector map layer or a list of vector map layers that are located in a specific project/mapset. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The name of the project that should be accessed", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset from which the vector map layers should be renamed", "required": true, "in": "path", "type": "string"}, {"name": "rename_list", "description": "A list of vector name tuples [(a, a_new),(b, b_new),(c, c_new), ...]", "required": true, "in": "body", "schema": {"type": "string"}}], "responses": {"200": {"description": "This response returns the log of the process chain that was used to create the response.", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}, "400": {"description": "The error message and a detailed log why listing of vector map layers did not succeeded", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}}, "summary": "Rename a single vector map layer or a list of vector map layers that<br/>Rename a single vector map layer or a list of vector map layers that"}}, "/projects/{project_name}/mapsets/{mapset_name}/vector_layers/{vector_name}": {"get": {"tags": ["Vector Management"], "description": "Get information about an existing vector map layer. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The project name", "required": true, "in": "path", "type": "string", "default": "nc_spm_08"}, {"name": "mapset_name", "description": "The name of the mapset that contains the required vector map layer", "required": true, "in": "path", "type": "string", "default": "PERMANENT"}, {"name": "vector_name", "description": "The name of the vector map layer to get information about", "required": true, "in": "path", "type": "string", "default": "boundary_county"}], "consumes": ["application/json"], "produces": ["application/json"], "responses": {"200": {"description": "The vector map layer information", "schema": {"$ref": "#/definitions/VectorInfoResponseModel"}}, "400": {"description": "The error message and a detailed log why gathering vector map layer information did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Get information about an existing vector map layer.<br/>Get information about an existing vector map layer."}, "delete": {"tags": ["Vector Management"], "description": "Delete an existing vector map layer. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The project name", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset that contains the required vector map layer", "required": true, "in": "path", "type": "string"}, {"name": "vector_name", "description": "The name of the vector map layer to be deleted", "required": true, "in": "path", "type": "string"}], "produces": ["application/json"], "responses": {"200": {"description": "Successfully delete a vector map layer", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}, "400": {"description": "The error message and a detailed log why vector map layer deletion did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Delete an existing vector map layer.<br/>Delete an existing vector map layer."}, "post": {"tags": ["Vector Management"], "description": "Create a new vector map layer by uploading a GPKG, zipped Shapefile or GeoJSON. This method will fail if the map already exists. An example request is 'curl -L -u \"XXX:XXX\" -X POST -H \"Content-Type: multipart/form-data\" -F \"file=@/home/....gpkg\" http://localhost:8088/api/v3/projects/nc_spm_08/mapsets/test_mapset/vector_layers/testvector'. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The project name", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset that contains the required vector map layer", "required": true, "in": "path", "type": "string"}, {"name": "vector_name", "description": "The name of the new vector map layer to be created.", "required": true, "in": "path", "type": "string"}, {"name": "creation_params", "description": "Parameters to create random vector point map layer in a specific region.", "required": true, "in": "body", "schema": {"$ref": "#/definitions/VectorRegionCreationModel"}}], "consumes": ["Content-Type: multipart/form-data"], "produces": ["application/json"], "responses": {"200": {"description": "The vector map layer import information", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}, "400": {"description": "The error message and a detailed log why vector map layer import failed", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Create a new vector layer by uploading a GPKG, zipped Shapefile,<br/>Create a new vector layer by uploading a GPKG, zipped Shapefile,"}}, "/projects/{project_name}/mapsets/{mapset_name}/vector_layers/{vector_name}/render": {"get": {"tags": ["Vector Management"], "description": "Render a single vector map layer. Minimum required user role: user.", "parameters": [{"name": "project_name", "description": "The project name", "required": true, "in": "path", "type": "string", "default": "nc_spm_08"}, {"name": "mapset_name", "description": "The name of the mapset that contains the required raster map layer", "required": true, "in": "path", "type": "string", "default": "PERMANENT"}, {"name": "vector_name", "description": "The name of the vector map layer to render", "required": true, "in": "path", "type": "string", "default": "boundary_county"}, {"name": "n", "description": "Northern border", "required": false, "in": "query", "type": "number", "format": "double"}, {"name": "s", "description": "Southern border", "required": false, "in": "query", "type": "number", "format": "double"}, {"name": "e", "description": "Eastern border", "required": false, "in": "query", "type": "number", "format": "double"}, {"name": "w", "description": "Western border", "required": false, "in": "query", "type": "number", "format": "double"}, {"name": "width", "description": "Image width in pixel, default is 800", "required": false, "in": "query", "type": "number", "format": "integer", "default": 800}, {"name": "height", "description": "Image height in pixel, default is 600", "required": false, "in": "query", "type": "number", "format": "integer", "default": 600}], "produces": ["image/png"], "responses": {"200": {"description": "The PNG image"}, "400": {"description": "The error message and a detailed log why rendering did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Render a single vector map layer<br/>Render a single vector map layer"}}, "/projects/{project_name}/mapsets/{mapset_name}/vector_layers/{vector_name}/sampling_async": {"post": {"tags": ["Vector Sampling"], "description": "Spatial sampling of a vector dataset with vector points. The vector points must be in the same coordinate reference system as the project that contains the vector dataset. The result of the sampling is located in the resource response JSON document after the processing was finished, as a list of values for each vector point. Minimum required user role: user.", "consumes": ["application/json"], "parameters": [{"name": "project_name", "description": "The project name", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset that contains the required vector map layer", "required": true, "in": "path", "type": "string"}, {"name": "vector_name", "description": "The name of the vector map layer to perform the vector map sampling from", "required": true, "in": "path", "type": "string"}, {"name": "points", "description": "The sampling point array [[id, x, y],[id, x, y]]. The coordinates of the sampling points must be in the same coordinate reference system as the project that contains the vector dataset.", "required": true, "in": "body", "schema": {"$ref": "#/definitions/PointListModel"}}], "responses": {"200": {"description": "The result of the vector map sampling", "schema": {"$ref": "#/definitions/VectorSamplingResponseModel"}}, "400": {"description": "The error message and a detailed log why vector sampling did not succeed", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Perform vector map sampling on a vector map layer based on input<br/>Perform vector map sampling on a vector map layer based on input"}}, "/projects/{project_name}/mapsets/{mapset_name}/vector_layers/{vector_name}/sampling_sync": {"post": {"tags": ["Vector Sampling"], "description": "Spatial sampling of a vector dataset with vector points. The vector points must be in the same coordinate reference system as the project that contains the vector dataset. The result of the sampling is located in the resource response JSON document after the processing was finished, as a list of values for each vector point. Minimum required user role: user.", "consumes": ["application/json"], "parameters": [{"name": "project_name", "description": "The project name", "required": true, "in": "path", "type": "string"}, {"name": "mapset_name", "description": "The name of the mapset that contains the required vector map layer", "required": true, "in": "path", "type": "string"}, {"name": "vector_name", "description": "The name of the vector map layer to perform the vector map sampling from", "required": true, "in": "path", "type": "string"}, {"name": "points", "description": "The sampling point array [[id, x, y],[id, x, y]]. The coordinates of the sampling points must be in the same coordinate reference system as the project that contains the vector dataset.", "required": true, "in": "body", "schema": {"$ref": "#/definitions/PointListModel"}}], "responses": {"200": {"description": "The result of the vector map sampling", "schema": {"$ref": "#/definitions/VectorSamplingResponseModel"}}, "400": {"description": "The error message and a detailed log why vector sampling did not succeed", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Perform vector map sampling on a vector map layer based on input<br/>Perform vector map sampling on a vector map layer based on input"}}, "/projects/{project_name}/process_chain_validation_async": {"post": {"tags": ["Processing"], "description": "Validate a process chain, check the provided sources (links)\nand the mapsets. The list of processes that were checked by Actinia are\nreturned in the JSON response.\n", "consumes": ["application/json"], "parameters": [{"name": "project_name", "description": "The project name that contains the data that should be used in the process chain", "required": true, "in": "path", "type": "string", "default": "nc_spm_08"}, {"name": "process_chain", "description": "The process chain that should be validated", "required": true, "in": "body", "schema": {"$ref": "#/definitions/ProcessChainModel"}}], "responses": {"200": {"description": "The result of the process chain validation. A list of processes that will be executed by Actinia Core", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}, "400": {"description": "The error message and a detailed log why process chain validation did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Validate a process chain asynchronously, check the provided sources<br/>Validate a process chain asynchronously, check the provided sources"}}, "/projects/{project_name}/process_chain_validation_sync": {"post": {"tags": ["Processing"], "description": "Validate a process chain, check the provided sources (links)\nand the mapsets. The list of processes that were checked by Actinia are\nreturned in the JSON response.\n", "consumes": ["application/json"], "parameters": [{"name": "project_name", "description": "The project name that contains the data that should be used in the process chain", "required": true, "in": "path", "type": "string", "default": "nc_spm_08"}, {"name": "process_chain", "description": "The process chain that should be validated", "required": true, "in": "body", "schema": {"$ref": "#/definitions/ProcessChainModel"}}], "responses": {"200": {"description": "The result of the process chain validation. A list of processes that will be executed by Actinia Core", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}, "400": {"description": "The error message and a detailed log why process chain validation did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Validate a process chain synchronously, check the provided sources<br/>Validate a process chain synchronously, check the provided sources"}}, "/projects/{project_name}/processing_async_export": {"post": {"tags": ["Processing"], "description": "Execute a user defined process chain in an ephemeral database\nand provide the generated resources as downloadable files via URL's.\nMinimum required user role: user.\n\nThe process chain is executed asynchronously. The provided status URL\nin the response must be polled to gain information about the processing\nprogress and finishing status.\n\n**Note**\n\n    Make sure that the process chain definition identifies all raster, vector\n    or space-time datasets correctly with name and mapset: name@mapset if you\n    use data from other mapsets in the specified project.\n\n    All required mapsets will be identified by analysing the input parameter\n    of all module descriptions in the provided process chain and\n    mounted read-only into the ephemeral database that is used for processing.\n\nThe persistent database will not be modified. The ephemeral database will be\nremoved after processing.\nUse the URL's provided in the finished response to download the resource that\nwere specified in the process chain for export.\n\nThis endpoint also allows the creation of STAC ITEMS through the\nACTINIA STAC PLUGIN. The STAC item is stored in a dedicated\nCATALOG following the standard from STAC specification (https://stacspec.org/).\n", "consumes": ["application/json"], "parameters": [{"name": "project_name", "description": "The project name that contains the data that should be processed", "required": true, "in": "path", "type": "string", "default": "nc_spm_08"}, {"name": "process_chain", "description": "The process chain that should be executed", "required": true, "in": "body", "schema": {"$ref": "#/definitions/ProcessChainModel"}}], "responses": {"200": {"description": "The result of the process chain execution", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}, "400": {"description": "The error message and a detailed log why process chain execution did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Execute a user defined process chain in an ephemeral project/mapset<br/>Execute a user defined process chain in an ephemeral project/mapset"}}, "/projects/{project_name}/processing_async_export_gcs": {"post": {"tags": ["Processing"], "description": "Execute a user defined process chain in an ephemeral database\nand provide the generated resources as downloadable files via URL's.\nMinimum required user role: user.\n\nThe process chain is executed asynchronously. The provided status URL\nin the response must be polled to gain information about the processing\nprogress and finishing status.\n\n**Note**\n\n    Make sure that the process chain definition identifies all raster, vector\n    or space-time datasets correctly with name and mapset: name@mapset if you\n    use data from other mapsets in the specified project.\n\n    All required mapsets will be identified by analysing the input parameter\n    of all module descriptions in the provided process chain and\n    mounted read-only into the ephemeral database that is used for processing.\n\nThe persistent database will not be modified. The ephemeral database will be\nremoved after processing.\nUse the URL's provided in the finished response to download the resource that\nwere specified in the process chain for export.\n\nThis endpoint also allows the creation of STAC ITEMS through the\nACTINIA STAC PLUGIN. The STAC item is stored in a dedicated\nCATALOG following the standard from STAC specification (https://stacspec.org/).\n", "consumes": ["application/json"], "parameters": [{"name": "project_name", "description": "The project name that contains the data that should be processed", "required": true, "in": "path", "type": "string", "default": "nc_spm_08"}, {"name": "process_chain", "description": "The process chain that should be executed", "required": true, "in": "body", "schema": {"$ref": "#/definitions/ProcessChainModel"}}], "responses": {"200": {"description": "The result of the process chain execution", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}, "400": {"description": "The error message and a detailed log why process chain execution did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Execute a user defined process chain in an ephemeral project/mapset<br/>Execute a user defined process chain in an ephemeral project/mapset"}}, "/projects/{project_name}/processing_async_export_s3": {"post": {"tags": ["Processing"], "description": "Execute a user defined process chain in an ephemeral database\nand provide the generated resources as downloadable files via URL's.\nMinimum required user role: user.\n\nThe process chain is executed asynchronously. The provided status URL\nin the response must be polled to gain information about the processing\nprogress and finishing status.\n\n**Note**\n\n    Make sure that the process chain definition identifies all raster, vector\n    or space-time datasets correctly with name and mapset: name@mapset if you\n    use data from other mapsets in the specified project.\n\n    All required mapsets will be identified by analysing the input parameter\n    of all module descriptions in the provided process chain and\n    mounted read-only into the ephemeral database that is used for processing.\n\nThe persistent database will not be modified. The ephemeral database will be\nremoved after processing.\nUse the URL's provided in the finished response to download the resource that\nwere specified in the process chain for export.\n\nThis endpoint also allows the creation of STAC ITEMS through the\nACTINIA STAC PLUGIN. The STAC item is stored in a dedicated\nCATALOG following the standard from STAC specification (https://stacspec.org/).\n", "consumes": ["application/json"], "parameters": [{"name": "project_name", "description": "The project name that contains the data that should be processed", "required": true, "in": "path", "type": "string", "default": "nc_spm_08"}, {"name": "process_chain", "description": "The process chain that should be executed", "required": true, "in": "body", "schema": {"$ref": "#/definitions/ProcessChainModel"}}], "responses": {"200": {"description": "The result of the process chain execution", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}, "400": {"description": "The error message and a detailed log why process chain execution did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Execute a user defined process chain in an ephemeral project/mapset<br/>Execute a user defined process chain in an ephemeral project/mapset"}}, "/projects/{project_name}/processing_export": {"post": {"tags": ["Processing"], "description": "Execute a user defined process chain in an ephemeral database\nand provide the generated resources as downloadable files via URL's.\nMinimum required user role: user.\n\nThe process chain is executed asynchronously. The provided status URL\nin the response must be polled to gain information about the processing\nprogress and finishing status.\n\n**Note**\n\n    Make sure that the process chain definition identifies all raster, vector\n    or space-time datasets correctly with name and mapset: name@mapset if you\n    use data from other mapsets in the specified project.\n\n    All required mapsets will be identified by analysing the input parameter\n    of all module descriptions in the provided process chain and\n    mounted read-only into the ephemeral database that is used for processing.\n\nThe persistent database will not be modified. The ephemeral database will be\nremoved after processing.\nUse the URL's provided in the finished response to download the resource that\nwere specified in the process chain for export.\n\nThis endpoint also allows the creation of STAC ITEMS through the\nACTINIA STAC PLUGIN. The STAC item is stored in a dedicated\nCATALOG following the standard from STAC specification (https://stacspec.org/).\n", "consumes": ["application/json"], "parameters": [{"name": "project_name", "description": "The project name that contains the data that should be processed", "required": true, "in": "path", "type": "string", "default": "nc_spm_08"}, {"name": "process_chain", "description": "The process chain that should be executed", "required": true, "in": "body", "schema": {"$ref": "#/definitions/ProcessChainModel"}}], "responses": {"200": {"description": "The result of the process chain execution", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}, "400": {"description": "The error message and a detailed log why process chain execution did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Execute a user defined process chain in an ephemeral project/mapset<br/>Execute a user defined process chain in an ephemeral project/mapset"}}, "/resource_storage": {"get": {"tags": ["Resource Management"], "description": "Get the current size of the resource storage. Minimum required user role: admin.", "responses": {"200": {"description": "The current state of the resource storage", "schema": {"$ref": "#/definitions/StorageResponseModel"}}, "400": {"description": "The error message why resource storage information gathering did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Get the current size of the resource storage"}, "delete": {"tags": ["Resource Management"], "description": "Clean the resource storage and remove all cached data. Minimum required user role: admin.", "parameters": [{"name": "olderthan", "description": "Number of days to delete the resource files. If this parameter is set all resources older than this number of days will be deleted.", "required": false, "in": "query", "type": "number", "format": "integer"}], "responses": {"200": {"description": "Processing status of resource storage deletion", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}, "400": {"description": "The error message why resource storage cleaning did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "Clean the resource storage and remove all cached data"}}, "/resources/{user_id}": {"get": {"tags": ["Resource Management"], "description": "Get a list of resources that have been generated by the specified user. Minimum required user role: user.", "parameters": [{"name": "user_id", "description": "The unique user name/id", "required": true, "in": "path", "type": "string"}, {"name": "num", "description": "The maximum number of jobs that should be returned", "required": false, "in": "query", "type": "integer"}, {"name": "type", "description": "The type of job that should be returned: accepted, running, error, terminated, finished", "required": false, "in": "query", "type": "string"}], "responses": {"200": {"description": "Returned a list of resources that have been generated by the specified user.", "schema": {"$ref": "#/definitions/ProcessingResponseListModel"}}, "401": {"description": "The error message why resource gathering did not succeeded", "schema": {"$ref": "#/definitions/SimpleResponseModel"}}}, "summary": "Get a list of resources that have been generated by the specified user."}, "delete": {"tags": ["Resource Management"], "description": "Terminate all accepted and running resources of the specified user. Minimum required user role: user.", "parameters": [{"name": "user_id", "description": "The unique user name/id", "required": true, "in": "path", "type": "string"}], "responses": {"200": {"description": "Termination requests have been successfully committed. Be aware that does not mean, that the resources have been successfully terminated.", "schema": {"$ref": "#/definitions/SimpleResponseModel"}}, "401": {"description": "The error message why the resource termination did not succeeded", "schema": {"$ref": "#/definitions/SimpleResponseModel"}}}, "summary": "Terminate all accepted and running resources of the specified user."}}, "/resources/{user_id}/{resource_id}": {"get": {"tags": ["Resource Management"], "description": "Get the status of a resource. Minimum required user role: user.", "parameters": [{"name": "user_id", "description": "The unique user name/id", "required": true, "in": "path", "type": "string"}, {"name": "resource_id", "description": "The id of the resource", "required": true, "in": "path", "type": "string"}], "responses": {"200": {"description": "The current state of the resource", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}, "400": {"description": "The error message if the resource does not exists", "schema": {"$ref": "#/definitions/SimpleResponseModel"}}}, "summary": "Get the status of a resource."}, "delete": {"tags": ["Resource Management"], "description": "Request the termination of a resource. Minimum required user role: user.", "parameters": [{"name": "user_id", "description": "The unique user name/id", "required": true, "in": "path", "type": "string"}, {"name": "resource_id", "description": "The id of the resource", "required": true, "in": "path", "type": "string"}], "responses": {"200": {"description": "Returned if termination request of the resource was successfully committed. Be aware that this does not mean, that the resource was successfully terminated.", "schema": {"$ref": "#/definitions/SimpleResponseModel"}}, "400": {"description": "The error message why resource storage information gathering did not succeeded", "schema": {"$ref": "#/definitions/SimpleResponseModel"}}}, "summary": "Request the termination of a resource."}, "put": {"tags": ["Resource Management"], "description": "Updates/Resumes the status of a failed resource. This assumes that 'save_interim_results' is configured. The job will restart at the step before the failed one and execute these steps in the possibly corrected process chain sent along with it. If 'save_interim_results' is set to 'True' the temporary mapset is saved before the failed step and the resumption should work without any problem. But if 'save_interim_results' is set to 'onError' the temporary mapset is only saved if an error occurs and so the mapset may contain changes from the failed step what may make resumption difficult or impossible. In the event of such an error, the process chain can then be adjusted so that the missing data is generated again, or the entire process can be started as a new job.Minimum required user role: user.", "parameters": [{"name": "user_id", "description": "The unique user name/id", "required": true, "in": "path", "type": "string"}, {"name": "resource_id", "description": "The id of the resource", "required": true, "in": "path", "type": "string"}, {"name": "process_chain", "description": "The process chain that should be executed", "required": true, "in": "body", "schema": {"$ref": "#/definitions/ProcessChainModel"}}], "responses": {"200": {"description": "The current state of the resource", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}, "400": {"description": "The error message if the resource does not exists", "schema": {"$ref": "#/definitions/SimpleResponseModel"}}}, "summary": "Updates/Resumes the status of a resource."}}, "/resources/{user_id}/{resource_id}/mapsetsizes": {"get": {"tags": ["Process Chain Monitoring"], "description": "Get the mapset sizes of a resource. Minimum required user role: user.", "parameters": [{"name": "user_id", "description": "The unique user name/id", "required": true, "in": "path", "type": "string"}, {"name": "resource_id", "description": "The id of the resource", "required": true, "in": "path", "type": "string"}], "responses": {"200": {"description": "The current state of the resource", "schema": {"$ref": "#/definitions/MapsetSizeResponseModel"}}, "400": {"description": "The error message if the resource does not exist", "schema": {"$ref": "#/definitions/SimpleResponseModel"}}}, "summary": "Get the sizes of mapset of a resource."}}, "/resources/{user_id}/{resource_id}/mapsetsizes/diffs": {"get": {"tags": ["Process Chain Monitoring"], "description": "Get the step-by-step mapset size differences of a resource. Minimum required user role: user.", "parameters": [{"name": "user_id", "description": "The unique user name/id", "required": true, "in": "path", "type": "string"}, {"name": "resource_id", "description": "The id of the resource", "required": true, "in": "path", "type": "string"}], "responses": {"200": {"description": "The current state of the resource", "schema": {"$ref": "#/definitions/MapsetSizeResponseModel"}}, "400": {"description": "The error message if the resource does not exists", "schema": {"$ref": "#/definitions/SimpleResponseModel"}}}, "summary": "Get the step-by-step mapset size differences of a resource."}}, "/resources/{user_id}/{resource_id}/mapsetsizes/diffs/render": {"get": {"tags": ["Process Chain Monitoring"], "description": "Render the step-by-step mapset size differences of a resource. Minimum required user role: user.", "parameters": [{"name": "user_id", "description": "The unique user name/id", "required": true, "in": "path", "type": "string"}, {"name": "resource_id", "description": "The id of the resource", "required": true, "in": "path", "type": "string"}], "produces": ["image/png"], "responses": {"200": {"description": "The PNG image"}, "400": {"description": "The error message and a detailed log why rendering did not succeed", "schema": {"$ref": "#/definitions/SimpleResponseModel"}}}, "summary": "Render the step-by-step mapset size differences of a resource."}}, "/resources/{user_id}/{resource_id}/mapsetsizes/max": {"get": {"tags": ["Process Chain Monitoring"], "description": "Get the maximum mapset size of a resource. Minimum required user role: user.", "parameters": [{"name": "user_id", "description": "The unique user name/id", "required": true, "in": "path", "type": "string"}, {"name": "resource_id", "description": "The id of the resource", "required": true, "in": "path", "type": "string"}], "responses": {"200": {"description": "The current state of the resource", "schema": {"$ref": "#/definitions/MaxMapsetSizeResponseModel"}}, "400": {"description": "The error message if the resource does not exist", "schema": {"$ref": "#/definitions/SimpleResponseModel"}}}, "summary": "Get the maximum size of mapset of a resource."}}, "/resources/{user_id}/{resource_id}/mapsetsizes/render": {"get": {"tags": ["Process Chain Monitoring"], "description": "Render the mapset sizes of a resource. Minimum required user role: user.", "parameters": [{"name": "user_id", "description": "The unique user name/id", "required": true, "in": "path", "type": "string"}, {"name": "resource_id", "description": "The id of the resource", "required": true, "in": "path", "type": "string"}], "produces": ["image/png"], "responses": {"200": {"description": "The PNG image"}, "400": {"description": "The error message and a detailed log why rendering did not succeed", "schema": {"$ref": "#/definitions/SimpleResponseModel"}}}, "summary": "Render the mapset sizes of a resource."}}, "/resources/{user_id}/{resource_id}/{iteration}": {"get": {"tags": ["Resource Iteration Management"], "description": "Get the status of a resource with the iterations. Minimum required user role: user.", "parameters": [{"name": "user_id", "description": "The unique user name/id", "required": true, "in": "path", "type": "string"}, {"name": "resource_id", "description": "The id of the resource", "required": true, "in": "path", "type": "string"}, {"name": "iteration", "description": "The id of the resource", "required": true, "in": "path", "type": "integer"}], "responses": {"200": {"description": "The current state of the resource", "schema": {"$ref": "#/definitions/ProcessingResponseModel"}}, "400": {"description": "The error message if the resource does not exists", "schema": {"$ref": "#/definitions/SimpleResponseModel"}}}, "summary": "Get the status of a resource of a given iteration."}}, "/sentinel2_process/ndvi/{product_id}": {"post": {"tags": ["Satellite Image Algorithms"], "description": "NDVI computation of an arbitrary Sentinel-2 scene.The processing is as follows: A user specific Sentinel-2 scene (Bands 04 and 08)will be download and imported into an ephemeral database.. The NDVI will be computed via r.mapcalc. The result of the computation is available as gzipped geotiff file. In addition, the univariate statistic will be computed as well as a preview image including a legend and scale. Minimum required user role: user.", "parameters": [{"name": "product_id", "description": "The product id of a sentinel scene", "required": true, "in": "path", "type": "string", "default": "S2A_MSIL1C_20170212T104141_N0204_R008_T31TGJ_20170212T104138"}], "responses": {"200": {"description": "This response includes all created resources as URL as well as the processing log and other metadata.", "schema": {"$ref": "#/definitions/SentinelNDVIResponseModel"}}, "400": {"description": "The error message and a detailed log why NDVI processing of a sentinel2 scene did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "NDVI computation of an arbitrary Sentinel-2 scene."}}, "/sentinel2_process_gcs/ndvi/{product_id}": {"post": {"tags": ["Satellite Image Algorithms"], "description": "NDVI computation of an arbitrary Sentinel-2 scene.The processing is as follows: A user specific Sentinel-2 scene (Bands 04 and 08)will be download and imported into an ephemeral database.. The NDVI will be computed via r.mapcalc. The result of the computation is available as gzipped geotiff file. In addition, the univariate statistic will be computed as well as a preview image including a legend and scale. Minimum required user role: user.", "parameters": [{"name": "product_id", "description": "The product id of a sentinel scene", "required": true, "in": "path", "type": "string", "default": "S2A_MSIL1C_20170212T104141_N0204_R008_T31TGJ_20170212T104138"}], "responses": {"200": {"description": "This response includes all created resources as URL as well as the processing log and other metadata.", "schema": {"$ref": "#/definitions/SentinelNDVIResponseModel"}}, "400": {"description": "The error message and a detailed log why NDVI processing of a sentinel2 scene did not succeeded", "schema": {"$ref": "#/definitions/ProcessingErrorResponseModel"}}}, "summary": "NDVI computation of an arbitrary Sentinel-2 scene. The results are"}}, "/sentinel2_query": {"get": {"tags": ["Satellite Image Algorithms"], "description": "Query the Google Sentinel2 archives using time interval, lat/lon coordinates, scene id and cloud cover. All scenes that are located within the time interval and that intersect the given latitude/longitude coordinates are returned as a list of scene names with associated time stamps. Minimum required user role: user.", "parameters": [{"name": "scene_id", "description": "The scene id also named product id of the Sentinel2A scenes that should be searched", "required": false, "in": "query", "type": "string"}, {"name": "start_time", "description": "The start time of the search interval", "required": false, "in": "query", "type": "string", "format": "dateTime"}, {"name": "end_time", "description": "The end time of the search interval", "required": false, "in": "query", "type": "string", "format": "dateTime"}, {"name": "lon", "description": "The longitude coordinate with which the scenes should intersect", "required": false, "in": "query", "type": "number", "format": "double"}, {"name": "lat", "description": "The latitude coordinate with which the scenes should intersect", "required": false, "in": "query", "type": "number", "format": "double"}, {"name": "cloud_covert", "description": "Cloud cover between 0 - 100", "required": false, "in": "query", "type": "number", "format": "double"}], "responses": {"200": {"description": "A list of satellite scenes that fit the search", "schema": {"$ref": "#/definitions/SatelliteSceneList"}}, "400": {"description": "The error message if the search did not succeeded", "schema": {"$ref": "#/definitions/SimpleResponseModel"}}}, "summary": "Query the Google Sentinel2 archives using time interval, lat/lon"}}, "/sentinel2a_aws_query": {"post": {"tags": ["Satellite Image Algorithms"], "description": "Generate the download urls for a list of sentinel2A scenes and band numbers. Minimum required user role: user.", "consumes": ["application/json"], "parameters": [{"name": "scenes", "description": "The list of Sentinel-2 scenes and the band names", "required": true, "in": "body", "schema": {"$ref": "#/definitions/Sentinel2ASceneListModel"}}], "responses": {"200": {"description": "The result of the Sentinel-2 time series import", "schema": {"$ref": "#/definitions/Sentinel2ASceneList"}}, "400": {"description": "The error message and a detailed log why Sentinel 2A scene download url creation did not succeeded", "schema": {"$ref": "#/definitions/SimpleResponseModel"}}}, "summary": "Generate the download urls for a list of sentinel2A scenes and band"}}, "/stac": {"get": {"tags": ["STAC"], "description": "Get a list of STAC instances. Minimum required user role: user.", "parameters": [], "responses": {"200": {"description": "This response returns a list of STAC instances"}}, "summary": "Get a list of instances and its notation."}}, "/stac/catalogs/catalog.json": {"get": {"tags": ["STAC"], "description": "Get a list of STAC result-catalog. Minimum required user role: user.", "parameters": [], "responses": {"200": {"description": "This response returns a list of STAC catalogs"}}, "summary": "Get a list of all instances."}}, "/stac/catalogs/{item}/{item_id}.json": {"get": {"tags": ["STAC"], "description": "Get an item of STAC result-catalog. Minimum required user role: user", "parameters": [{"in": "path", "name": "item_id", "type": "string", "description": "the STAC Item id to be obtained", "required": true}], "responses": {"200": {"description": "This response returns a STAC Item"}}, "summary": "Get a list of all instances."}}, "/stac/collections": {"get": {"tags": ["STAC"], "description": "Get a list of STAC collectionsMinimum required user role: user.", "parameters": [], "responses": {"200": {"description": "This response returns a list of STAC collections"}}, "summary": "Get a list of all Collection."}, "post": {"tags": ["STAC"], "description": "Add a new STAC collection to the user instance", "parameters": [{"in": "body", "name": "body", "type": "object", "description": "the instance id where the collection will be stored", "schema": {"type": "object", "properties": {"stac_instance_id": {"type": "string", "description": "instance id where the collection will be stored", "example": "ProjectInstance"}, "stac_url": {"type": "string", "description": "url where the collection is located", "example": "https://earth-search.aws.element84.com/v0/collections/sentinel-s2-l2a"}}}, "required": true}], "responses": {"200": {"description": "This response returns a message with the STAC collection successfully added"}, "400": {"description": "This response returns a detail error message", "schema": {"type": "object", "properties": {"message": {"type": "string", "description": "detailed message", "example": "Please check the URL provided (Should be a STAC Collection)"}}}}}, "summary": "Add a new stac to the user collection"}}, "/stac/collections/{stac_collection_id}": {"get": {"tags": ["STAC"], "description": "Get the STAC collection with the id given Minimum required user role: user.", "parameters": [{"in": "path", "name": "stac_collection_id", "type": "string", "description": "the STAC collection id of the collection to be obtained", "required": true}], "responses": {"200": {"description": "This response returns a STAC collection"}, "400": {"description": "This response returns a detail error message", "schema": {"type": "object", "properties": {"message": {"type": "string", "description": "detailed message", "example": "Please check the collection id provide"}}}}}, "summary": "Get a list of specified Collection."}, "delete": {"tags": ["STAC"], "description": "Delete a new STAC collection to the user instance", "parameters": [{"in": "path", "name": "stac_collection_id", "type": "string", "description": "the STAC collection id of the collection to be deleted", "required": true}], "responses": {"200": {"description": "This response returns a message with the STAC collection successfully deleted"}, "400": {"description": "This response returns a detail error message", "schema": {"type": "object", "properties": {"message": {"type": "string", "description": "detailed message", "example": "stac_collection_id does not match the pattern stac.<stac_instance_id>.rastercube.<stac_collection_id"}}}}}, "summary": "This function deletes the STAC collection with the given id."}}, "/stac/instances": {"get": {"tags": ["STAC"], "description": "Get a list of STAC instances. Minimum required user role: user.", "parameters": [], "responses": {"200": {"description": "This response returns a list of STAC instances"}}, "summary": "Get a list of all instances."}, "post": {"tags": ["STAC"], "description": "Add a new STAC instances to the user", "parameters": [{"in": "body", "name": "body", "type": "object", "schema": {"type": "object", "properties": {"stac_instance_id": {"type": "string", "description": "name of the instance id to create", "example": "ProjectIntance"}}}, "description": "the instance id where the collection will be stored", "required": true}], "responses": {"200": {"description": "This response returns a message with the instance successfully added"}, "400": {"description": "This response returns a detail error message", "schema": {"type": "object", "properties": {"message": {"type": "string", "description": "detailed message", "example": "Please check the ID given (no spaces or undercore characters)"}}}}}, "summary": "Add a new stac to the user collection"}}, "/stac/instances/{stac_instance_id}": {"get": {"tags": ["STAC"], "description": "Get the instance with the id given Minimum required user role: user.", "parameters": [{"in": "path", "name": "stac_instance_id", "type": "string", "description": "the instance id of the collection to be obtained", "required": true}], "responses": {"200": {"description": "This response returns a instance with its collections"}, "400": {"description": "This response returns a detail error message", "schema": {"type": "object", "properties": {"message": {"type": "string", "description": "detailed message", "example": "stac instance ID does not match with the instences stored"}}}}}, "summary": "Get a list of collection that are inside a instance and its notation."}, "delete": {"tags": ["STAC"], "description": "Delete an instance", "parameters": [{"in": "path", "name": "stac_instance_id", "type": "string", "description": "the instance id to be deleted (All collections will be removed)", "required": true}], "responses": {"200": {"description": "This response returns a message with the instance and the STAC collections deleted"}, "400": {"description": "This response returns a detail error message", "schema": {"type": "object", "properties": {"message": {"type": "string", "description": "detailed message", "example": "Something went wrong please check that the element is well typed"}}}}}, "summary": "This function delete the STAC Collection stored before on ID basis."}}, "/token": {"get": {"tags": ["Authentication Management"], "description": "Create an authentication token. Tokens have an expiration time. The default expiration time is one day (86400s). maximum length is 365 days. Minimum required user role: user.", "parameters": [{"name": "expiration_time", "description": "The expiration time in seconds for the generated token.", "required": false, "in": "query", "type": "integer", "default": 86400}], "responses": {"200": {"description": "The token generation response", "schema": {"$ref": "#/definitions/TokenResponseModel"}}, "400": {"description": "The error message in case of failure", "schema": {"$ref": "#/definitions/TokenResponseModel"}}}, "summary": "Create an authentication token."}}, "/users": {"get": {"tags": ["User Management"], "description": "Get a list of all users. Minimum required user role: admin.", "responses": {"200": {"description": "This response returns a list of user names.", "schema": {"$ref": "#/definitions/UserListResponseModel"}}}, "summary": "List all users in the database"}}, "/users/{user_id}": {"get": {"tags": ["User Management"], "description": "Get information about the group, role and permissions of a certain user. Minimum required user role: admin.", "parameters": [{"name": "user", "description": "The unique name of the user", "required": true, "in": "path", "type": "string"}], "responses": {"200": {"description": "This response returns information about a certain user.", "schema": {"$ref": "#/definitions/UserInfoResponseModel"}}, "400": {"description": "The error message", "schema": {"$ref": "#/definitions/SimpleResponseModel"}}}, "summary": "Return the credentials of a single user"}, "delete": {"tags": ["User Management"], "description": "Deletes a user. Minimum required user role: admin.", "parameters": [{"name": "user_id", "description": "The unique name of the user", "required": true, "in": "path", "type": "string"}], "responses": {"200": {"description": "This response returns the status of user deletion.", "schema": {"$ref": "#/definitions/SimpleResponseModel"}}, "400": {"description": "The error message", "schema": {"$ref": "#/definitions/SimpleResponseModel"}}}, "summary": "Delete a specific user"}, "post": {"tags": ["User Management"], "description": "Creates a new user in the database. Minimum required user role: admin.", "parameters": [{"name": "user_id", "description": "The unique name of the user", "required": true, "in": "path", "type": "string"}, {"name": "password", "description": "The password of the new user", "required": true, "in": "query", "type": "string"}, {"name": "group", "description": "The group of the new user", "required": true, "in": "query", "type": "string"}], "responses": {"200": {"description": "This response returns the status of user creation.", "schema": {"$ref": "#/definitions/SimpleResponseModel"}}, "400": {"description": "The error message", "schema": {"$ref": "#/definitions/SimpleResponseModel"}}}, "summary": "Create a user in the database"}}}, "definitions": {"ProjectListResponseModel": {"type": "object", "properties": {"status": {"type": "string", "description": "The status of the resource, values: accepted, running, finished, terminated, error"}, "locations": {"type": "array", "items": {"type": "string"}, "description": "The list of projects in the GRASS database"}, "projects": {"type": "array", "items": {"type": "string"}, "description": "The list of projects in the GRASS database"}}, "example": {"locations": ["nc_spm_08", "latlong_wgs84", "ECAD"], "projects": ["nc_spm_08", "latlong_wgs84", "ECAD"], "status": "success"}, "grass_version_s": "8.6.0dev", "grass_version": [8, 6], "required": ["status", "projects"], "description": "Response schema for projects lists."}, "SimpleResponseModel": {"type": "object", "properties": {"status": {"type": "string", "description": "The status of the resource, values: accepted, running, finished, terminated, error"}, "message": {"type": "string", "description": "A simple message to describes the status of the resource"}}, "required": ["status", "message"], "description": "Response schema that is used in cases that no asynchronous run was"}, "MapsetInfoResponseModel": {"type": "object", "properties": {"status": {"type": "string", "description": "The status of the response"}, "user_id": {"type": "string", "description": "The id of the user that issued a request"}, "resource_id": {"type": "string", "description": "The unique resource id"}, "queue": {"type": "string", "description": "The name of the queue in which the job is queued"}, "process_log": {"type": "array", "items": {"$ref": "#/definitions/ProcessLogModel"}, "description": "A list of ProcessLogModels"}, "process_chain_list": {"type": "array", "items": {"$ref": "#/definitions/GrassModule"}, "description": "The list of GRASS modules that were used in the processing"}, "process_results": {"$ref": "#/definitions/MapsetInfoModel"}, "progress": {"$ref": "#/definitions/ProgressInfoModel"}, "message": {"type": "string", "description": "Message for the user, maybe status, finished or error message"}, "exception": {"$ref": "#/definitions/ExceptionTracebackModel"}, "accept_timestamp": {"type": "number", "format": "double", "description": "The acceptance timestamp in seconds of the response"}, "accept_datetime": {"type": "string", "description": "The acceptance timestamp of the response in human readable format"}, "timestamp": {"type": "number", "format": "double", "description": "The current timestamp in seconds of the response"}, "time_delta": {"type": "number", "format": "double", "description": "The time delta of the processing in seconds"}, "datetime": {"type": "string", "description": "The current timestamp of the response in human readable format"}, "start_timestamp": {"type": "number", "format": "double", "description": "The processing start time in seconds of the response"}, "start_datetime": {"type": "string", "description": "The processing start timestamp of the response in human readable format"}, "process_time_delta": {"type": "number", "format": "double", "description": "The time delta of the processing in seconds"}, "http_code": {"type": "number", "format": "int32", "description": "The HTTP code of the response"}, "urls": {"$ref": "#/definitions/UrlModel"}, "api_info": {"$ref": "#/definitions/ApiInfoModel"}}, "required": ["status", "user_id", "resource_id", "timestamp", "datetime", "accept_timestamp", "accept_datetime", "message"], "example": {"accept_datetime": "2018-05-02 10:53:20.254387", "accept_timestamp": 1525258400.2543857, "api_info": {"endpoint": "mapsetmanagementresourceuser", "method": "GET", "path": "/api/v3/projects/ECAD/mapsets/PERMANENT/info", "request_url": "http://localhost/api/v3/projects/ECAD/mapsets/PERMANENT/info"}, "datetime": "2018-05-02 10:53:20.392509", "http_code": 200, "message": "Processing successfully finished", "process_chain_list": [{"1": {"flags": "ug3", "module": "g.region"}, "2": {"flags": "fw", "module": "g.proj"}}], "process_log": [{"executable": "g.region", "parameter": ["-ug3"], "return_code": 0, "run_time": 0.05018115043640137, "stderr": [""], "stdout": "..."}, {"executable": "g.proj", "parameter": ["-fw"], "return_code": 0, "run_time": 0.05016374588012695, "stderr": [""], "stdout": "..."}], "process_results": {"projection": "GEOGCS[\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]]\n", "region": {"b": 0.0, "cells": 1, "cells3": 1, "cols": 1, "cols3": 1, "depths": 1, "e": 1.0, "ewres": 1.0, "ewres3": 1.0, "n": 1.0, "nsres": 1.0, "nsres3": 1.0, "projection": 3, "rows": 1, "rows3": 1, "s": 0.0, "t": 1.0, "tbres": 1.0, "w": 0.0, "zone": 0}}, "progress": {"num_of_steps": 2, "step": 2}, "resource_id": "resource_id-2222cdb7-06f5-460d-a38f-5745a3c3b518", "status": "finished", "time_delta": 0.13819408416748047, "timestamp": 1525258400.392495, "urls": {"resources": [], "status": "http://localhost/api/v3/resources/user/resource_id-2222cdb7-06f5-460d-a38f-5745a3c3b518"}, "user_id": "user"}, "description": "Response schema that includes projection and region information"}, "ProcessLogModel": {"type": "object", "properties": {"id": {"type": "string", "description": "The ID of the executable"}, "executable": {"type": "string", "description": "The name of the executable"}, "parameter": {"type": "array", "items": {"type": "string"}, "description": "The parameter of the executable"}, "stdout": {"type": "string", "description": "The stdout output of the executable"}, "stderr": {"type": "array", "items": {"type": "string"}, "description": "The stderr output of the executable as list of strings"}, "return_code": {"type": "number", "format": "int32", "description": "The return code of the executable"}, "run_time": {"type": "number", "format": "float", "description": "The runtime of the executable in seconds"}, "mapset_size": {"type": "number", "format": "float", "description": "The size of the mapset in bytes"}}, "required": ["executable", "parameter", "stdout", "stderr", "return_code"], "example": {"executable": "g.list", "parameter": ["type=raster", "mapset=PERMANENT"], "return_code": 0, "run_time": 0.05017662048339844, "stderr": [""], "stdout": "aspect\nbasin_50K\n"}, "description": "This class defines the model for Unix process information."}, "GrassModule": {"type": "object", "properties": {"id": {"type": "string", "description": "A unique id to identify the module call in the process chain to reference its stdout and stderr output as stdin in other modules."}, "module": {"type": "string", "description": "The name of the GRASS GIS module (r.univar, r.slope.aspect, v.select, ...) that should be executed. Use as module names \"importer\" or \"exporter\" to import or export raster layer, vector layer or other file based data without calling a GRASS GIS module."}, "inputs": {"type": "array", "items": {"$ref": "#/definitions/InputParameter"}, "description": "A list of input parameters of a GRASS GIS module."}, "outputs": {"type": "array", "items": {"$ref": "#/definitions/OutputParameter"}, "description": "A list of output parameters of a GRASS GIS module."}, "flags": {"type": "string", "description": "The flags that should be set for the GRASS GIS module."}, "stdin": {"type": "string", "description": "Use the stdout output of a GRASS GIS module or executable of the process chain as input for this module. Refer to the module/executable output as *id::stderr* or *id::stdout*, the \"id\" is the unique identifier of a GRASS GIS module definition."}, "stdout": {"$ref": "#/definitions/StdoutParser"}, "overwrite": {"type": "boolean", "description": "Set True to overwrite existing data."}, "verbose": {"type": "boolean", "description": "Set True to activate verbosity output of the module."}, "superquiet": {"type": "boolean", "description": "Set True to silence the output of the module."}, "interface-description": {"type": "boolean", "description": "Set True to print interface description and exit."}}, "required": ["id", "module"], "description": "The definition of a single GRASS GIS module and its inputs, outputs and flags. This module will be run in a project/mapset environment and is part of a process chain. The stdout and stderr output of modules that were run before this module in the process chain can be used as stdin for this module. The stdout of a module can be automatically transformed in list, table or key/value JSON representations in the HTTP response.", "example": {"module": "r.slope.aspect", "id": "r_slope_aspect_1", "inputs": [{"import_descr": {"source": "https://storage.googleapis.com/graas-geodata/elev_ned_30m.tif", "type": "raster"}, "param": "raster", "value": "elev_ned_30m_new"}], "outputs": [{"export": {"format": "GTiff", "type": "raster"}, "param": "slope", "value": "elev_ned_30m_new_slope"}], "flags": "a"}}, "InputParameter": {"properties": {"param": {"type": "string", "description": "The name of a GRASS GIS module parameter like *map* or *elevation*. "}, "value": {"type": "string", "description": "The value of the GRASS GIS module parameter. Raster, vector and STDS inputs must contain the mapset name in their id: *slope@PERMANENT*, if they are not located in the working mapset. Do not contain the mapset name in map names that are processed, since the mapsets are generated on demand using random names. Outputs are not allowed to contain mapset names.Files that are created in the process chain to exchange data can be specified using the *$file::unique_id* identifier. The **unique_id** will be replaced with a temporary file name, that is available in the whole process chain at runtime. The **unique_id**  is the identifier that can be used by different modules in a process chain to access the same temporary file or to prepare it for export."}, "import_descr": {"type": "object", "description": "Definition of sources to be imported as raster or vector map layer.", "properties": {"type": {"type": "string", "description": "The type of the input that should be downloaded and imported. In case of raster or vector types a download URL must be provided as source using http, https or ftp protocols. In case of sentinel2  scenes the scene name and the band must be provided. The Landsat approach is different. <br><br>In case a Landsat scene is requested, all bands will be download, in the target project imported and an atmospheric correction is applied. The atmospheric correction must be specified. The resulting raster map layers have a specific name scheme, that is independent from the provided map name in the process description. The name scheme is always: <p>\\<landsat scene id\\>_\\<atcor\\>.\\<band\\></p>For example, if the scene <p>LT52170762005240COA00</p> was requested, the resulting name for the DOS1 atmospheric corrected band 1 would be: <p>LT52170762005240COA00_dos1.1</p>.For the DOS1 atmospheric corrected band 2 it would be: <p>LT52170762005240COA00_dos1.2</p> and so on. All other process steps must use these raster map layer names to refer to the imported Landsat bands. Use the file option to download any kind of files that should be processed by a grass gis module. ", "enum": ["raster", "vector", "landsat", "sentinel2", "postgis", "file", "stac"]}, "sentinel_band": {"type": "string", "description": "The band of the sentinel2 scene that should be imported", "enum": ["B01", "B02", "B03", "B04", "B05", "B06", "B07", "B08", "B8A", "B09", "B10", "B11", "B12"]}, "landsat_atcor": {"type": "string", "description": "The atmospheric correction that should be applied to the landsat scene", "enum": ["uncorrected", "dos1", "dos2", "dos2b", "dos3", "dos4"]}, "vector_layer": {"type": "string", "description": "The name of the layer that should be imported from the vector file or postGIS database"}, "source": {"type": "string", "description": "The input source that may be a landsat scene name, a sentinel2 scene name, a postGIS database string,a stac collection ID or an URL that points to an accessible raster or vector file. A HTTP, HTTPS or FTP connection must be specified in case of raster or vector types. In this case the source string must contain the protocol that will used for connection: http:// or https:// or ftp://. PostGIS vector layer can be imported by defining a database string as source and a layer name."}, "semantic_label": {"type": "string", "description": "Refers to the common names used tocall the bands of an image,for example: red, blue, nir, swirHowever, this property also accepts the band namesuch as B1, B8 etc. The semantic labeling should matchthe labels register in the stac collection.", "example": "red, blue, nir or B1, B2, B8A"}, "extent": {"type": "string", "description": "Spatio-temporal constraint defined by the userthroughout bbox and interval concept.", "enum": ["spatial", "temporal"], "example": {"spatial": {"bbox": [[30.192, -16.369, 42.834, -0.264]]}, "temporal": {"interval": [["2021-09-09", "2021-09-12"]]}}}, "filter": {"type": "string", "description": "Constrain in any other propertyor metadata.", "example": {"query": {"eo:cloud_cover": {"lt": 50}}}}, "resample": {"type": "string", "description": "Resampling method to use for reprojection of raster map (default: nearest).", "enum": ["nearest", "bilinear", "bicubic", "lanczos", "bilinear_f", "bicubic_f", "lanczos_f"]}, "resolution": {"type": "string", "description": "Resolution of output raster map. Estimated, user-specified or current region resolution (default: estimated).", "enum": ["estimated", "value", "region"]}, "resolution_value": {"type": "string", "description": "Resolution of output raster map (use with option \"resolution\": \"value\") in units of the target coordinate reference system, not in map units. Must be convertible to float.", "example": {"import_descr": {"source": "https://example.tiff", "type": "raster", "resample": "bilinear_f", "resolution": "value", "resolution_value": "100"}}}, "basic_auth": {"type": "string", "description": "User name and password for basic HTTP, HTTPS and FTP authentication of the source connection. The user name and password must be separated by a colon: username:password"}}}}, "required": ["param", "value"], "description": "Parameter definition of a GRASS GIS module that should be executed in the actinia environment. Parameters can be of type input or output. A GRASS GIS module will be usually called like: <p>g.region raster=elevation30m@PERMANENT</p> The GRASS GIS module *g.region* parameter *raster* has the value *elevation30m@PERMANENT*. This is reflected by the *param* and *value* properties that can specify input and output parameters.", "example": {"import_descr": {"source": "LT52170762005240COA00", "type": "landsat", "landsat_atcor": "dos1"}, "param": "map", "value": "ignored"}}, "OutputParameter": {"type": "object", "properties": {"param": {"type": "string", "description": "The name of a GRASS GIS module parameter like *map* or *elevation*. "}, "value": {"type": "string", "description": "The value of the GRASS GIS module parameter. Raster, vector and STDS inputs must contain the mapset name in their id: *slope@PERMANENT*, if they are not located in the working mapset. Do not contain the mapset name in map names that are processed, since the mapsets are generated on demand using random names. Outputs are not allowed to contain mapset names.Files that are created in the process chain to exchange data can be specified using the *$file::unique_id* identifier. The **unique_id** will be replaced with a temporary file name, that is available in the whole process chain at runtime. The **unique_id**  is the identifier that can be used by different modules in a process chain to access the same temporary file or to prepare it for export."}, "export": {"type": "object", "properties": {"format": {"type": "string", "description": "The format of the output file in case of raster, strds, vector layer or text file export. Raster layer export supports only GTiff and COG format, STRDS layer export supports only GTiff format and all other formats are vector layer export formats. If the *PostgeSQL* format was chosen, a postgis database string *dbstring* must be provided  so that the GRASS GIS module *v.out.ogr knows to which PostgreSQL database it should be connect. The name of the output layer can be specified as *output_layer* for PostgreSQL database exports. Some GRASS GIS modules allow the export of text files. These files can be exported and provided as downloadable link as well. Also PDF files as GRASS GIS output are supported.", "enum": ["COG", "GTiff", "GPKG", "SQLite", "GML", "GeoJSON", "ESRI_Shapefile", "CSV", "TXT", "PDF", "PostgreSQL"]}, "type": {"type": "string", "description": "The type of the output. In case of the *file* option only text files and PDF are supported for export. In addition the *$file::unique_id* option must be used in the value parameter to export a file that was generated by a GRASS GIS module. Exported text and vector files will always be compressed with zip", "enum": ["raster", "vector", "file", "strds"]}, "dbstring": {"type": "string", "description": "The database string to be used to connect to a PostgreSQL database for vector export."}, "output_layer": {"type": "string", "description": "Name for output PostgreSQL layer. If not specified, GRASS GIS vector map layer name is used."}}, "description": "The raster, vector or text file export parameter.", "required": ["format", "type"], "example": {"format": "PostgreSQL", "type": "vector", "dbstring": "PG:host=localhost dbname=postgis user=postgres", "output_layer": "roads"}}, "metadata": {"type": "object", "properties": {"format": {"type": "string", "description": "Format of the metadata file. Only STAC is supported. The STAC item builder works just on raster export file.These files are accessible through a STAC Catalogand each export is stored as STAC Item", "enum": ["STAC"]}}, "description": "The STAC file export parameter.", "required": ["format", "type"], "example": {"format": "STAC"}}}, "required": ["param", "value"], "description": "Parameter definition of a GRASS GIS module that should be executed in the actinia environment. Parameters can be of type input or output. A GRASS GIS module will be usually called like: <p>g.region raster=elevation30m@PERMANENT</p> The GRASS GIS module *g.region* parameter *raster* has the value *elevation30m@PERMANENT*. This is reflected by the *param* and *value* properties that can specify input and output parameters.", "example": {"param": "slope", "value": "elev_10m_slope", "export": {"type": "raster", "format": "GTiff"}}}, "StdoutParser": {"type": "object", "properties": {"id": {"type": "string", "description": "The unique id that is used to identify the parsed output in the result dictionary."}, "format": {"type": "string", "description": "The stdout format to be parsed.", "enum": ["table", "list", "kv", "json"]}, "delimiter": {"type": "string", "description": "The delimiter that should be used to parse table, list and key/value module output. Many GRASS GIS  modules use by default \"|\" in tables and \"=\" in key/value pairs. A new line \"\\n\" is always the delimiter between rows in the output."}}, "required": ["id", "format", "delimiter"], "description": "Use this parameter to automatically parse the output of GRASS GIS modules and convert the output into tables, lists or key/value pairs in the result section of the response.If the property type is set to *table*, *list* or *kv* then the stdout of the current command will be parsed and the result of the parse operation will be added to the result dictionary using the provided id as key. GRASS GIS modules produce regular output. Many modules have the flag *-g* to create key value pairs as stdout output. Other create a list of values or a table with/without header.", "example": {"id": "stats", "format": "table", "delimiter": "|"}}, "MapsetInfoModel": {"type": "object", "properties": {"projection": {"type": "string", "description": "The project projection WKT string"}, "region": {"$ref": "#/definitions/RegionModel"}}, "required": ["projection", "region"], "example": {"projection": "PROJCS[\"NAD83(HARN) / North Carolina\",GEOGCS[\"NAD83(HARN)\",DATUM[\"NAD83_High_Accuracy_Reference_Network\",SPHEROID[\"GRS1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6152\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4152\"]],PROJECTION[\"Lambert_Conformal_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",36.16666666666666],PARAMETER[\"standard_parallel_2\",34.33333333333334],PARAMETER[\"latitude_of_origin\",33.75],PARAMETER[\"central_meridian\",-79],PARAMETER[\"false_easting\",609601.22],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"3358\"]]\n", "region": {"b": 0.0, "cells": 29535, "cells3": 29535, "cols": 179, "cols3": 179, "depths": 1, "e": 639530.0, "ewres": 10.0, "ewres3": 10.0, "n": 221230.0, "nsres": 10.0, "nsres3": 10.0, "projection": 99, "rows": 165, "rows3": 165, "s": 219580.0, "t": 1.0, "tbres": 1.0, "w": 637740.0, "zone": 0}}, "description": "Schema for projection and region information from a specific mapset."}, "RegionModel": {"type": "object", "properties": {"projection": {"type": "number", "format": "integer"}, "zone": {"type": "number", "format": "integer"}, "n": {"type": "number", "format": "double"}, "s": {"type": "number", "format": "double"}, "w": {"type": "number", "format": "double"}, "e": {"type": "number", "format": "double"}, "t": {"type": "number", "format": "double"}, "b": {"type": "number", "format": "double"}, "nsres": {"type": "number", "format": "double"}, "nsres3": {"type": "number", "format": "double"}, "ewres": {"type": "number", "format": "double"}, "ewres3": {"type": "number", "format": "double"}, "tbres": {"type": "number", "format": "double"}, "rows": {"type": "number", "format": "integer"}, "rows3": {"type": "number", "format": "integer"}, "cols": {"type": "number", "format": "integer"}, "cols3": {"type": "number", "format": "integer"}, "depths": {"type": "number", "format": "integer"}, "cells": {"type": "number", "format": "integer"}, "cells3": {"type": "number", "format": "integer"}}, "example": {"b": 0.0, "cells": 29535, "cells3": 29535, "cols": 179, "cols3": 179, "depths": 1, "e": 639530.0, "ewres": 10.0, "ewres3": 10.0, "n": 221230.0, "nsres": 10.0, "nsres3": 10.0, "projection": 99, "rows": 165, "rows3": 165, "s": 219580.0, "t": 1.0, "tbres": 1.0, "w": 637740.0, "zone": 0}, "description": "Output of GRASS GIS module g.region -gu3"}, "ProgressInfoModel": {"type": "object", "properties": {"step": {"type": "integer", "format": "int64", "description": "The current processing step"}, "num_of_steps": {"type": "integer", "format": "int64", "description": "The total number of processing steps"}, "sub_step": {"type": "integer", "format": "int64", "description": "The current sub step of the current processing step"}, "num_of_sub_steps": {"type": "integer", "format": "int32", "description": "The total number of sub steps of the current processing step"}}, "required": ["step", "num_of_steps"], "example": {"num_of_steps": 6, "step": 6}, "description": "This class defines the model for progress information."}, "ExceptionTracebackModel": {"type": "object", "properties": {"message": {"type": "string", "description": "The message that was send with the exception"}, "type": {"type": "string", "description": "The type of the exception"}, "traceback": {"type": "array", "items": {"type": "string"}, "description": "The full traceback of the exception"}}, "required": ["message", "type", "traceback"], "example": {"message": "Error", "type": "exceptions.Exception", "traceback": "File \"main.py\", line 2, in <module>\n    raise Exception(\"Error\")\n"}, "description": "Response schema that contains python3 exception information of the called"}, "UrlModel": {"type": "object", "properties": {"status": {"type": "string", "description": "The URL to check the status of the resource"}, "resources": {"type": "array", "items": {"type": "string"}, "description": "A list of URLs to generated resources, that may be GeoTiff files, vector files, ASCII files or png images"}}, "required": ["status", "resources"], "example": {"resources": ["http://localhost/api/v3/resource/user/resource_id-4846cbcc-3918-4654-bf4d-7e1ba2b59ce6/my_slope.tiff"], "status": "http://localhost/api/v3/resources/user/resource_id-4846cbcc-3918-4654-bf4d-7e1ba2b59ce6"}, "description": "URL schema that points to the status URL"}, "ApiInfoModel": {"type": "object", "properties": {"endpoint": {"type": "string", "description": "The endpoint of the API call"}, "method": {"type": "string", "description": "The HTTP method of the request"}, "path": {"type": "string", "description": "The path of the REST API call"}, "request_url": {"type": "string", "description": "The request URL"}, "post_url": {"type": "string", "description": "The post URL"}}, "required": ["endpoint", "method", "path", "request_url"], "example": {"endpoint": "asyncephemeralresource", "method": "POST", "path": "/api/v3/projects/nc_spm_08/processing_async", "request_url": "http://localhost/api/v3/projects/nc_spm_08/processing_async"}, "description": "Response schema that contains API information of the called endpoint."}, "ProcessingResponseModel": {"type": "object", "properties": {"status": {"type": "string", "description": "The status of the response"}, "user_id": {"type": "string", "description": "The id of the user that issued a request"}, "resource_id": {"type": "string", "description": "The unique resource id"}, "queue": {"type": "string", "description": "The name of the queue in which the job is queued"}, "process_log": {"type": "array", "items": {"$ref": "#/definitions/ProcessLogModel"}, "description": "A list of ProcessLogModels"}, "process_chain_list": {"type": "array", "items": {"$ref": "#/definitions/GrassModule"}, "description": "The list of GRASS modules that were used in the processing"}, "process_results": {"type": "string", "description": "An arbitrary class that stores the processing results"}, "progress": {"$ref": "#/definitions/ProgressInfoModel"}, "message": {"type": "string", "description": "Message for the user, maybe status, finished or error message"}, "exception": {"$ref": "#/definitions/ExceptionTracebackModel"}, "accept_timestamp": {"type": "number", "format": "double", "description": "The acceptance timestamp in seconds of the response"}, "accept_datetime": {"type": "string", "description": "The acceptance timestamp of the response in human readable format"}, "timestamp": {"type": "number", "format": "double", "description": "The current timestamp in seconds of the response"}, "time_delta": {"type": "number", "format": "double", "description": "The time delta of the processing in seconds"}, "datetime": {"type": "string", "description": "The current timestamp of the response in human readable format"}, "start_timestamp": {"type": "number", "format": "double", "description": "The processing start time in seconds of the response"}, "start_datetime": {"type": "string", "description": "The processing start timestamp of the response in human readable format"}, "process_time_delta": {"type": "number", "format": "double", "description": "The time delta of the processing in seconds"}, "http_code": {"type": "number", "format": "int32", "description": "The HTTP code of the response"}, "urls": {"$ref": "#/definitions/UrlModel"}, "api_info": {"$ref": "#/definitions/ApiInfoModel"}}, "required": ["status", "user_id", "resource_id", "timestamp", "datetime", "accept_timestamp", "accept_datetime", "message"], "example": {"accept_datetime": "2017-05-24 22:37:21.607255", "accept_timestamp": 1495658241.607252, "api_info": {"endpoint": "asyncephemeralresource", "method": "POST", "path": "/projects/nc_spm_08/processing_async", "request_url": "http://localhost/api/v3/projects/nc_spm_08/processing_async"}, "datetime": "2017-05-24 22:37:21.608717", "http_code": 200, "message": "Resource accepted", "process_results": {}, "resource_id": "resource_id-2be8cafe-b451-46a0-be15-f61d95c5efa1", "status": "accepted", "timestamp": 1495658241.608716, "urls": {"resources": [], "status": "http://localhost/api/v3/resources/admin/resource_id-2be8cafe-b451-46a0-be15-f61d95c5efa1"}, "user_id": "admin"}, "description": "This is the base class for ALL response models."}, "ProjectionInfoModel": {"type": "object", "properties": {"epsg": {"type": "string", "description": "The EPSG code of the projection that should be used to create a project"}}, "example": {"epsg": "4326"}, "required": ["epsg"], "description": "Schema to define projection information as JSON input in POST requests."}, "StringListProcessingResultResponseModel": {"type": "object", "properties": {"status": {"type": "string", "description": "The status of the response"}, "user_id": {"type": "string", "description": "The id of the user that issued a request"}, "resource_id": {"type": "string", "description": "The unique resource id"}, "queue": {"type": "string", "description": "The name of the queue in which the job is queued"}, "process_log": {"type": "array", "items": {"$ref": "#/definitions/ProcessLogModel"}, "description": "A list of ProcessLogModels"}, "process_chain_list": {"type": "array", "items": {"$ref": "#/definitions/GrassModule"}, "description": "The list of GRASS modules that were used in the processing"}, "process_results": {"type": "array", "items": {"type": "string"}}, "progress": {"$ref": "#/definitions/ProgressInfoModel"}, "message": {"type": "string", "description": "Message for the user, maybe status, finished or error message"}, "exception": {"$ref": "#/definitions/ExceptionTracebackModel"}, "accept_timestamp": {"type": "number", "format": "double", "description": "The acceptance timestamp in seconds of the response"}, "accept_datetime": {"type": "string", "description": "The acceptance timestamp of the response in human readable format"}, "timestamp": {"type": "number", "format": "double", "description": "The current timestamp in seconds of the response"}, "time_delta": {"type": "number", "format": "double", "description": "The time delta of the processing in seconds"}, "datetime": {"type": "string", "description": "The current timestamp of the response in human readable format"}, "start_timestamp": {"type": "number", "format": "double", "description": "The processing start time in seconds of the response"}, "start_datetime": {"type": "string", "description": "The processing start timestamp of the response in human readable format"}, "process_time_delta": {"type": "number", "format": "double", "description": "The time delta of the processing in seconds"}, "http_code": {"type": "number", "format": "int32", "description": "The HTTP code of the response"}, "urls": {"$ref": "#/definitions/UrlModel"}, "api_info": {"$ref": "#/definitions/ApiInfoModel"}}, "required": ["status", "user_id", "resource_id", "timestamp", "datetime", "accept_timestamp", "accept_datetime", "message"], "example": {"accept_datetime": "2018-05-02 12:02:20.746845", "accept_timestamp": 1525255340.746844, "api_info": {"endpoint": "listmapsetsresource", "method": "GET", "path": "/projects/nc_spm_08/mapsets", "request_url": "http://localhost:5000/projects/nc_spm_08/mapsets"}, "datetime": "2018-05-02 12:02:20.861017", "http_code": 200, "message": "Processing successfully finished", "process_chain_list": [{"1": {"flags": "l", "inputs": {"separator": "newline"}, "module": "g.mapsets"}}], "process_log": [{"executable": "g.mapsets", "parameter": ["separator=newline", "-l"], "return_code": 0, "run_time": 0.0501406192779541, "stderr": ["Available mapsets:", ""], "stdout": "PERMANENT\nSource_A\nSource_B\nTarget\nlandsat\nraster_test_mapset\nuser1\n"}], "process_results": ["PERMANENT", "Source_A", "Source_B", "Target", "landsat", "raster_test_mapset", "user1"], "progress": {"num_of_steps": 1, "step": 1}, "resource_id": "resource_id-715530fe-53e2-4b2b-87b2-3777c90fec7c", "status": "finished", "time_delta": 0.11421895027160645, "timestamp": 1525255340.8610027, "urls": {"resources": [], "status": "http://localhost:5000/resources/user/resource_id-715530fe-53e2-4b2b-87b2-3777c90fec7c"}, "user_id": "user"}, "description": "Response schema for resources that generate string list"}, "ProcessingErrorResponseModel": {"type": "object", "properties": {"status": {"type": "string", "description": "The status of the response"}, "user_id": {"type": "string", "description": "The id of the user that issued a request"}, "resource_id": {"type": "string", "description": "The unique resource id"}, "queue": {"type": "string", "description": "The name of the queue in which the job is queued"}, "process_log": {"type": "array", "items": {"$ref": "#/definitions/ProcessLogModel"}, "description": "A list of ProcessLogModels"}, "process_chain_list": {"type": "array", "items": {"$ref": "#/definitions/GrassModule"}, "description": "The list of GRASS modules that were used in the processing"}, "process_results": {"type": "string", "description": "An arbitrary class that stores the processing results"}, "progress": {"$ref": "#/definitions/ProgressInfoModel"}, "message": {"type": "string", "description": "Message for the user, maybe status, finished or error message"}, "exception": {"$ref": "#/definitions/ExceptionTracebackModel"}, "accept_timestamp": {"type": "number", "format": "double", "description": "The acceptance timestamp in seconds of the response"}, "accept_datetime": {"type": "string", "description": "The acceptance timestamp of the response in human readable format"}, "timestamp": {"type": "number", "format": "double", "description": "The current timestamp in seconds of the response"}, "time_delta": {"type": "number", "format": "double", "description": "The time delta of the processing in seconds"}, "datetime": {"type": "string", "description": "The current timestamp of the response in human readable format"}, "start_timestamp": {"type": "number", "format": "double", "description": "The processing start time in seconds of the response"}, "start_datetime": {"type": "string", "description": "The processing start timestamp of the response in human readable format"}, "process_time_delta": {"type": "number", "format": "double", "description": "The time delta of the processing in seconds"}, "http_code": {"type": "number", "format": "int32", "description": "The HTTP code of the response"}, "urls": {"$ref": "#/definitions/UrlModel"}, "api_info": {"$ref": "#/definitions/ApiInfoModel"}}, "required": ["status", "user_id", "resource_id", "timestamp", "datetime", "accept_timestamp", "accept_datetime", "message"], "example": {"accept_datetime": "2018-05-06 22:02:14.323815", "accept_timestamp": 1525636934.3238132, "api_info": {"endpoint": "mapsetmanagementresourceuser", "method": "GET", "path": "/projects/nc_spm_08/mapsets/PERMANE/info", "request_url": "http://localhost/api/v3/projects/nc_spm_08/mapsets/PERMANENT/info"}, "datetime": "2018-05-06 22:02:14.398927", "exception": {"message": "AsyncProcessError:  Error while running executable <g.region>", "traceback": ["  File \"/home/soeren/src/GRaaS/actinia_venv/lib/python3.5/site-packages/actinia_core-0.0.post0.dev37+g216eeae.dirty-py3.5.egg/actinia_core/resources/ephemeral_processing.py\", line 1063, in _run_executable\nraise AsyncProcessError(\"Error while running executable<%s>\" % process.executable)\n"], "type": "<class 'actinia_core.core.common.exceptions.AsyncProcessError'>"}, "http_code": 400, "message": "AsyncProcessError:  Error while running executable <g.region>", "process_chain_list": [{"1": {"flags": "ug3", "module": "g.region"}, "2": {"flags": "fw", "module": "g.proj"}}], "process_log": [{"executable": "g.region", "parameter": ["-ug3"], "return_code": 1, "run_time": 0.05020904541015625, "stderr": ["ERROR: MAPSET PERMANE not found at /home/soeren/actinia/workspace/temp_db/gisdbase_5c4c13bce6e54207aea2e1705cba0b8b/nc_spm_08", ""], "stdout": ""}], "progress": {"num_of_steps": 2, "step": 1}, "resource_id": "resource_id-79608249-521c-4a98-9e1f-9201f693870b", "status": "error", "time_delta": 0.07516026496887207, "timestamp": 1525636934.3989098, "urls": {"resources": [], "status": "http://localhost/api/v3/resources/user/resource_id-79608249-521c-4a98-9e1f-9201f693870b"}, "user_id": "user"}, "description": "Response schema that returns error messages from a failed process execution"}, "MapsetLockManagementResponseModel": {"type": "object", "properties": {"status": {"type": "string", "description": "The status of the response"}, "user_id": {"type": "string", "description": "The id of the user that issued a request"}, "resource_id": {"type": "string", "description": "The unique resource id"}, "queue": {"type": "string", "description": "The name of the queue in which the job is queued"}, "process_log": {"type": "array", "items": {"$ref": "#/definitions/ProcessLogModel"}, "description": "A list of ProcessLogModels"}, "process_chain_list": {"type": "array", "items": {"$ref": "#/definitions/GrassModule"}, "description": "The list of GRASS modules that were used in the processing"}, "process_results": {"type": "boolean"}, "progress": {"$ref": "#/definitions/ProgressInfoModel"}, "message": {"type": "string", "description": "Message for the user, maybe status, finished or error message"}, "exception": {"$ref": "#/definitions/ExceptionTracebackModel"}, "accept_timestamp": {"type": "number", "format": "double", "description": "The acceptance timestamp in seconds of the response"}, "accept_datetime": {"type": "string", "description": "The acceptance timestamp of the response in human readable format"}, "timestamp": {"type": "number", "format": "double", "description": "The current timestamp in seconds of the response"}, "time_delta": {"type": "number", "format": "double", "description": "The time delta of the processing in seconds"}, "datetime": {"type": "string", "description": "The current timestamp of the response in human readable format"}, "start_timestamp": {"type": "number", "format": "double", "description": "The processing start time in seconds of the response"}, "start_datetime": {"type": "string", "description": "The processing start timestamp of the response in human readable format"}, "process_time_delta": {"type": "number", "format": "double", "description": "The time delta of the processing in seconds"}, "http_code": {"type": "number", "format": "int32", "description": "The HTTP code of the response"}, "urls": {"$ref": "#/definitions/UrlModel"}, "api_info": {"$ref": "#/definitions/ApiInfoModel"}}, "required": ["status", "user_id", "resource_id", "timestamp", "datetime", "accept_timestamp", "accept_datetime", "message"], "example": {"accept_datetime": "2018-05-02 11:03:26.529673", "accept_timestamp": 1525259006.5296717, "api_info": {"endpoint": "mapsetlockmanagementresource", "method": "GET", "path": "/projects/nc_spm_08/mapsets/PERMANENT/lock", "request_url": "http://localhost:8080/projects/nc_spm_08/mapsets/PERMANENT/lock"}, "datetime": "2018-05-02 11:03:26.586348", "http_code": 200, "message": "Mapset lock state: False", "process_chain_list": [], "process_log": [], "process_results": false, "progress": {"num_of_steps": 0, "step": 0}, "resource_id": "resource_id-162101d9-2abc-417e-83ef-dc6f52ed7aaf", "status": "finished", "time_delta": 0.056743621826171875, "timestamp": 1525259006.5863316, "urls": {"resources": [], "status": "http://localhost:8080/resources/admin/resource_id-162101d9-2abc-417e-83ef-dc6f52ed7aaf"}, "user_id": "admin"}, "description": "The response content that is returned by the GET request."}, "ProcessChainModel": {"type": "object", "properties": {"version": {"type": "string", "default": "1", "description": "The version string of the process chain"}, "list": {"type": "array", "items": {"$ref": "#/definitions/GrassModule"}, "description": "A list of process definitions that should be executed in the order provided by the list."}, "webhooks": {"$ref": "#/definitions/Webhooks"}}, "required": ["version", "list"], "example": {"list": [{"module": "g.region", "id": "g_region_1", "inputs": [{"import_descr": {"source": "https://storage.googleapis.com/graas-geodata/elev_ned_30m.tif", "type": "raster"}, "param": "raster", "value": "elev_ned_30m_new"}], "flags": "p"}, {"module": "r.slope.aspect", "id": "r_slope_aspect_1", "inputs": [{"param": "elevation", "value": "elev_ned_30m_new"}], "outputs": [{"export": {"format": "GTiff", "type": "raster"}, "param": "slope", "value": "elev_ned_30m_new_slope"}], "flags": "a"}, {"module": "r.univar", "id": "r_univar_1", "inputs": [{"import_descr": {"source": "LT52170762005240COA00", "type": "landsat", "landsat_atcor": "dos1"}, "param": "map", "value": "LT52170762005240COA00_dos1.1"}], "stdout": {"id": "stats", "format": "kv", "delimiter": "="}, "flags": "a"}, {"module": "exporter", "id": "exporter_1", "outputs": [{"export": {"format": "GTiff", "type": "raster"}, "metadata": {"format": "STAC", "type": "metadata", "output_layer": "stac_result"}, "param": "map", "value": "LT52170762005240COA00_dos1.1"}]}, {"id": "ascii_out", "module": "r.out.ascii", "inputs": [{"param": "input", "value": "elevation@PERMANENT"}, {"param": "precision", "value": "0"}], "stdout": {"id": "elev_1", "format": "table", "delimiter": " "}, "flags": "h"}, {"id": "ascii_export", "module": "r.out.ascii", "inputs": [{"param": "input", "value": "elevation@PERMANENT"}], "outputs": [{"export": {"type": "file", "format": "TXT"}, "param": "output", "value": "$file::out1"}]}, {"id": "raster_list", "module": "g.list", "inputs": [{"param": "type", "value": "raster"}], "stdout": {"id": "raster", "format": "list", "delimiter": "\n"}}, {"module": "r.what", "id": "r_what_1", "verbose": true, "flags": "nfic", "inputs": [{"param": "map", "value": "landuse96_28m@PERMANENT"}, {"param": "coordinates", "value": "633614.08,224125.12,632972.36,225382.87"}, {"param": "null_value", "value": "null"}, {"param": "separator", "value": "pipe"}], "stdout": {"id": "sample", "format": "table", "delimiter": "|"}}], "webhooks": {"update": "http://business-logic.company.com/api/v3/actinia-update-webhook", "finished": "http://business-logic.company.com/api/v3/actinia-finished-webhook"}, "version": "1"}, "description": "Definition of the actinia process chain that includes GRASS GIS modules"}, "Webhooks": {"type": "object", "properties": {"update": {"type": "string", "description": "Specify a HTTP(S) GET/POST endpoint that should be called when a status update is available while the process chain is executed. The actinia JSON status response will be send as JSON content to the POST endpoint for each status update until the process finished. The GET endpoint, that must be available by the same URL as the POST endpoint, will be used to check if the webhook endpoint is available."}, "finished": {"type": "string", "description": "Specify a HTTP(S) GET/POST endpoint that should be called when the process chain was executed successful or unsuccessfully. The actinia JSON response will be send as JSON content to the POST endpoint after processing finished. The GET endpoint, that must be available by the same URL as the POST endpoint, will be used to check if the webhook endpoint is available."}}, "required": ["finished"], "description": "Specify HTTP(S) GET/POST endpoints that should be called when the process chain was executed successful or unsuccessfully (finished) or when a status/progress update is available (update). The actinia JSON response will be send as JSON content to the POST endpoints after processing finished or the status was updated. The GET endpoints, that must be available by the same URL as the POST endpoints (update/finished), will be used to check if the webhooks endpoints are available. The finished endpoint is mandatory, the update endpoint is optional.", "example": {"update": "http://business-logic.company.com/api/v3/actinia-update-webhook", "finished": "http://business-logic.company.com/api/v3/actinia-finished-webhook"}}, "LockedMapsetListResponseModel": {"type": "object", "properties": {"status": {"type": "string", "description": "The status of the request"}, "locked_mapsets_list": {"type": "array", "items": {"type": "string"}, "description": "The names of all locked mapsets"}, "message": {"type": "string", "description": "A simple message to describes the status of the resource"}}, "required": ["status", "locked_mapsets_list", "message"], "example": {"status": "success", "locked_mapsets_list": ["utm32n/test_mapset"], "message": "number of locked mapsets: 1"}, "description": "Response schema that is used to list all locked mapsets."}, "UserListResponseModel": {"type": "object", "properties": {"status": {"type": "string", "description": "The status of the request"}, "user_list": {"type": "array", "items": {"type": "string"}, "description": "The names of all users"}}, "required": ["status", "user_list"], "example": {"status": "success", "user_list": ["actinia-gdi"]}, "description": "Response schema that is used to list all users."}, "UserInfoResponseModel": {"type": "object", "properties": {"status": {"type": "string", "description": "The status of the request"}, "permissions": {"type": "object", "properties": {"cell_limit": {"type": "string", "description": "The limit of number of raster cells the user is allowed to process"}, "process_num_limit": {"type": "string", "description": "The limit of number of processes the user is allowed to integrate into one process chain"}, "process_time_limit": {"type": "string", "description": "The time a process must not exceed"}, "accessible_datasets": {"type": "object", "properties": {}, "description": "The persistent GRASS GIS databases the user is allowed to use. Contains one object for each project name with an array of strings containing all allowed mapset names. See example for more information."}, "accessible_modules": {"type": "array", "items": {"type": "string"}, "description": "The GRASS GIS modules the user is allowed to use"}}, "description": "The names of all users"}, "user_id": {"type": "string", "description": "The identifier of the user"}, "user_role": {"type": "string", "description": "The role of the user"}, "user_group": {"type": "string", "description": "The group of the user"}}, "required": ["status"], "example": {"Permissions": {"accessible_datasets": {"nc_spm_08": ["PERMANENT", "user1", "landsat"]}, "accessible_modules": ["r.blend", "r.buffer", "...", "t.rast.univar", "importer", "exporter"], "cell_limit": 100000000000, "process_num_limit": 1000, "process_time_limit": 31536000}, "Status": "success", "User group": "superadmin", "User id": "actinia-gdi", "User role": "superadmin"}, "description": "Response schema that is used to show information about a user."}, "TokenResponseModel": {"type": "object", "properties": {"status": {"type": "string", "description": "The status of the resource, values: success, error"}, "token": {"type": "string", "description": "The generated token for authentication"}, "message": {"type": "string", "description": "The message of the token generation"}}, "required": ["status", "token"], "description": "Response schema that is used for authentication token generation."}, "ApiLogListModel": {"type": "object", "properties": {"api_log_list": {"type": "array", "items": {"$ref": "#/definitions/ApiLogEntryModel"}, "description": "A list of ApiLogEntryModel objects"}}, "required": ["api_log_list"], "description": "Response schema that represents a list of API log entries."}, "ApiLogEntryModel": {"type": "object", "properties": {"time_stamp": {"type": "string", "description": "The time stamp of the API call"}, "node": {"type": "string", "description": "The node that executed the API call"}, "endpoint": {"type": "string", "description": "The endpoint of the API call"}, "method": {"type": "string", "description": "The HTTP method of the request"}, "path": {"type": "string", "description": "The path of the REST API call"}, "url": {"type": "string", "description": "The request URL"}, "request_str": {"type": "string", "description": "The request string"}}, "required": ["time_stamp", "node", "endpoint", "method", "path", "url", "request_str"], "description": "Response schema for a single API log entry that is used to track all API"}, "ProcessingResponseListModel": {"type": "object", "properties": {"resource_list": {"type": "array", "items": {"$ref": "#/definitions/ProcessingResponseModel"}, "description": "A list of ProcessingResponseModel objects"}}, "required": ["resource_list"], "description": "Response schema that represent a list of ProcessingResponseModel's"}, "StorageResponseModel": {"type": "object", "properties": {"status": {"type": "string", "description": "The status of the response"}, "user_id": {"type": "string", "description": "The id of the user that issued a request"}, "resource_id": {"type": "string", "description": "The unique resource id"}, "queue": {"type": "string", "description": "The name of the queue in which the job is queued"}, "process_log": {"type": "array", "items": {"$ref": "#/definitions/ProcessLogModel"}, "description": "A list of ProcessLogModels"}, "process_chain_list": {"type": "array", "items": {"$ref": "#/definitions/GrassModule"}, "description": "The list of GRASS modules that were used in the processing"}, "process_results": {"$ref": "#/definitions/StorageModel"}, "progress": {"$ref": "#/definitions/ProgressInfoModel"}, "message": {"type": "string", "description": "Message for the user, maybe status, finished or error message"}, "exception": {"$ref": "#/definitions/ExceptionTracebackModel"}, "accept_timestamp": {"type": "number", "format": "double", "description": "The acceptance timestamp in seconds of the response"}, "accept_datetime": {"type": "string", "description": "The acceptance timestamp of the response in human readable format"}, "timestamp": {"type": "number", "format": "double", "description": "The current timestamp in seconds of the response"}, "time_delta": {"type": "number", "format": "double", "description": "The time delta of the processing in seconds"}, "datetime": {"type": "string", "description": "The current timestamp of the response in human readable format"}, "start_timestamp": {"type": "number", "format": "double", "description": "The processing start time in seconds of the response"}, "start_datetime": {"type": "string", "description": "The processing start timestamp of the response in human readable format"}, "process_time_delta": {"type": "number", "format": "double", "description": "The time delta of the processing in seconds"}, "http_code": {"type": "number", "format": "int32", "description": "The HTTP code of the response"}, "urls": {"$ref": "#/definitions/UrlModel"}, "api_info": {"$ref": "#/definitions/ApiInfoModel"}}, "required": ["status", "user_id", "resource_id", "timestamp", "datetime", "accept_timestamp", "accept_datetime", "message"], "example": {"accept_datetime": "2018-05-02 10:51:27.988969", "accept_timestamp": 1525258287.9889677, "api_info": {"endpoint": "syncresourcestorageresource", "method": "GET", "path": "/resource_storage", "request_url": "http://localhost:8080/resource_storage"}, "datetime": "2018-05-02 10:51:28.100659", "http_code": 200, "message": "Resource storage size successfully computed", "process_chain_list": [], "process_log": [{"executable": "/usr/bin/du", "parameter": ["-sb", "/actinia/resources/superadmin"], "return_code": 0, "run_time": 0.05042886734008789, "stderr": [""], "stdout": "4096\t/actinia/resources/superadmin\n"}], "process_results": {"free": 107374178304, "free_percent": 99, "quota": 107374182400, "used": 4096}, "progress": {"num_of_steps": 0, "step": 1}, "resource_id": "resource_id-f9463d91-04a6-497c-b107-37c4ee013530", "status": "finished", "time_delta": 0.11174893379211426, "timestamp": 1525258288.1006439, "urls": {"resources": [], "status": "http://localhost:8080/resources/superadmin/resource_id-f9463d91-04a6-497c-b107-37c4ee013530"}, "user_id": "superadmin"}, "description": "Response schema for storage management calls."}, "StorageModel": {"type": "object", "properties": {"used": {"type": "number", "format": "int64", "description": "The used storage in bytes"}, "free": {"type": "number", "format": "int64", "description": "The free storage in bytes"}, "quota": {"type": "number", "format": "int64", "description": "The current quota in bytes"}, "free_percent": {"type": "number", "format": "int32", "description": "The free storage in percent"}}, "required": ["used", "free", "quota", "free_percent"], "description": "This class defines the model to inform about available storage"}, "MapsetSizeResponseModel": {"type": "object", "properties": {"status": {"type": "string", "description": "The status of the resource, values: success, error"}, "mapset_sizes": {"type": "array", "items": {"type": "integer"}, "description": "The list of mapset sizes of a resource in bytes"}}, "example": {"mapset_sizes": [29946, 29946], "status": "success"}, "required": ["status", "mapset_sizes"], "description": "Response schema for mapset sizes of a resource."}, "MaxMapsetSizeResponseModel": {"type": "object", "properties": {"status": {"type": "string", "description": "The status of the resource, values: success, error"}, "max_mapset_size": {"type": "integer", "description": "The maximum mapset size of a resource in bytes"}}, "example": {"max_mapset_size": 29949, "status": "success"}, "required": ["status", "max_mapset_size"], "description": "Response schema for maximum mapset size of a resoucre."}, "RasterInfoResponseModel": {"type": "object", "properties": {"status": {"type": "string", "description": "The status of the response"}, "user_id": {"type": "string", "description": "The id of the user that issued a request"}, "resource_id": {"type": "string", "description": "The unique resource id"}, "queue": {"type": "string", "description": "The name of the queue in which the job is queued"}, "process_log": {"type": "array", "items": {"$ref": "#/definitions/ProcessLogModel"}, "description": "A list of ProcessLogModels"}, "process_chain_list": {"type": "array", "items": {"$ref": "#/definitions/GrassModule"}, "description": "The list of GRASS modules that were used in the processing"}, "process_results": {"$ref": "#/definitions/RasterInfoModel"}, "progress": {"$ref": "#/definitions/ProgressInfoModel"}, "message": {"type": "string", "description": "Message for the user, maybe status, finished or error message"}, "exception": {"$ref": "#/definitions/ExceptionTracebackModel"}, "accept_timestamp": {"type": "number", "format": "double", "description": "The acceptance timestamp in seconds of the response"}, "accept_datetime": {"type": "string", "description": "The acceptance timestamp of the response in human readable format"}, "timestamp": {"type": "number", "format": "double", "description": "The current timestamp in seconds of the response"}, "time_delta": {"type": "number", "format": "double", "description": "The time delta of the processing in seconds"}, "datetime": {"type": "string", "description": "The current timestamp of the response in human readable format"}, "start_timestamp": {"type": "number", "format": "double", "description": "The processing start time in seconds of the response"}, "start_datetime": {"type": "string", "description": "The processing start timestamp of the response in human readable format"}, "process_time_delta": {"type": "number", "format": "double", "description": "The time delta of the processing in seconds"}, "http_code": {"type": "number", "format": "int32", "description": "The HTTP code of the response"}, "urls": {"$ref": "#/definitions/UrlModel"}, "api_info": {"$ref": "#/definitions/ApiInfoModel"}}, "required": ["status", "user_id", "resource_id", "timestamp", "datetime", "accept_timestamp", "accept_datetime", "message"], "example": {"accept_datetime": "2018-05-02 10:44:11.764375", "accept_timestamp": 1525257851.7643716, "api_info": {"endpoint": "rasterlayerresource", "method": "GET", "path": "/projects/nc_spm_08/mapsets/PERMANENT/raster_layers/elevation", "request_url": "http://localhost:8080/projects/nc_spm_08/mapsets/PERMANENT/raster_layers/elevation"}, "datetime": "2018-05-02 10:44:11.897704", "http_code": 200, "message": "Processing successfully finished", "process_chain_list": [{"1": {"flags": "gre", "inputs": {"map": "elevation@PERMANENT"}, "module": "r.info"}}], "process_log": [{"executable": "r.info", "parameter": ["map=elevation@PERMANENT", "-gre"], "return_code": 0, "run_time": 0.050168514251708984, "stderr": [""], "stdout": "..."}], "process_results": {"cells": "2025000", "cols": "1500", "comments": "\"r.proj input=\"ned03arcsec\" project=\"northcarolina_latlong\" mapset=\"\\helena\" output=\"elev_ned10m\" method=\"cubic\" resolution=10\"", "creator": "\"helena\"", "database": "/actinia/workspace/temp_db/gisdbase_5f1a5262c8bf4d4789348ffa2406ec3e", "datatype": "FCELL", "date": "\"Tue Nov  7 01:09:51 2006\"", "description": "\"generated by r.proj\"", "east": "645000", "ewres": "10", "location": "nc_spm_08", "map": "elevation", "mapset": "PERMANENT", "max": "156.3299", "min": "55.57879", "ncats": "255", "north": "228500", "nsres": "10", "project": "nc_spm_08", "rows": "1350", "source1": "\"\"", "source2": "\"\"", "south": "215000", "timestamp": "\"none\"", "title": "\"South-West Wake county: Elevation NED 10m\"", "units": "\"none\"", "vdatum": "\"none\"", "west": "630000"}, "progress": {"num_of_steps": 1, "step": 1}, "resource_id": "resource_id-0a3d6b2b-0962-4d01-8993-7997f15d1595", "status": "finished", "time_delta": 0.13338971138000488, "timestamp": 1525257851.8976946, "urls": {"resources": [], "status": "http://localhost:8080/resources/user/resource_id-0a3d6b2b-0962-4d01-8993-7997f15d1595"}, "user_id": "user"}, "description": "Response schema for raster map layer information."}, "RasterInfoModel": {"type": "object", "properties": {"cells": {"type": "string"}, "cols": {"type": "string"}, "comments": {"type": "string"}, "creator": {"type": "string"}, "database": {"type": "string"}, "datatype": {"type": "string"}, "maptype": {"type": "string"}, "east": {"type": "string"}, "date": {"type": "string"}, "description": {"type": "string"}, "ewres": {"type": "string"}, "max": {"type": "string"}, "min": {"type": "string"}, "ncats": {"type": "string"}, "nsres": {"type": "string"}, "location": {"type": "string"}, "map": {"type": "string"}, "mapset": {"type": "string"}, "project": {"type": "string"}, "rows": {"type": "string"}, "source1": {"type": "string"}, "north": {"type": "string"}, "source2": {"type": "string"}, "units": {"type": "string"}, "vdatum": {"type": "string"}, "south": {"type": "string"}, "timestamp": {"type": "string"}, "title": {"type": "string"}, "west": {"type": "string"}, "semantic_label": {"type": "string"}}, "example": {"cells": "2025000", "cols": "1500", "comments": "\"r.proj input=\"ned03arcsec\" project=\"northcarolina_latlong\" mapset=\"\\helena\" output=\"elev_ned10m\" method=\"cubic\" resolution=10\"", "creator": "\"helena\"", "database": "/tmp/gisdbase_75bc0828", "datatype": "FCELL", "date": "\"Tue Nov  7 01:09:51 2006\"", "description": "\"generated by r.proj\"", "east": "645000", "ewres": "10", "location": "nc_spm_08", "map": "elevation", "mapset": "PERMANENT", "max": "156.3299", "min": "55.57879", "ncats": "255", "north": "228500", "nsres": "10", "project": "nc_spm_08", "rows": "1350", "source1": "\"\"", "source2": "\"\"", "south": "215000", "timestamp": "\"none\"", "title": "\"South-West Wake county: Elevation NED 10m\"", "units": "\"none\"", "vdatum": "\"none\"", "west": "630000"}, "description": "Schema that contains raster map layer information."}, "RasterColorModel": {"description": "Set the color table for an existing raster map layer with a set of rules, a specific color or an other raster map layer", "type": "object", "properties": {"rules": {"type": "array", "description": "A list of rules to set the color table of a raster map layer", "items": {"type": "string"}}, "color": {"type": "string", "description": "The name of a color to be set for a raster map layer"}, "raster": {"type": "string", "description": "The name of an existing raster map layer to copy the color table from"}}, "example": {"rules": ["1 0:0:0", "default 255:255:255"], "color": "ndvi", "raster": "elevation@PERMANENT"}}, "STRDSInfoResponseModel": {"type": "object", "properties": {"status": {"type": "string", "description": "The status of the response"}, "user_id": {"type": "string", "description": "The id of the user that issued a request"}, "resource_id": {"type": "string", "description": "The unique resource id"}, "queue": {"type": "string", "description": "The name of the queue in which the job is queued"}, "process_log": {"type": "array", "items": {"$ref": "#/definitions/ProcessLogModel"}, "description": "A list of ProcessLogModels"}, "process_chain_list": {"type": "array", "items": {"$ref": "#/definitions/GrassModule"}, "description": "The list of GRASS modules that were used in the processing"}, "process_results": {"$ref": "#/definitions/STRDSInfoModel"}, "progress": {"$ref": "#/definitions/ProgressInfoModel"}, "message": {"type": "string", "description": "Message for the user, maybe status, finished or error message"}, "exception": {"$ref": "#/definitions/ExceptionTracebackModel"}, "accept_timestamp": {"type": "number", "format": "double", "description": "The acceptance timestamp in seconds of the response"}, "accept_datetime": {"type": "string", "description": "The acceptance timestamp of the response in human readable format"}, "timestamp": {"type": "number", "format": "double", "description": "The current timestamp in seconds of the response"}, "time_delta": {"type": "number", "format": "double", "description": "The time delta of the processing in seconds"}, "datetime": {"type": "string", "description": "The current timestamp of the response in human readable format"}, "start_timestamp": {"type": "number", "format": "double", "description": "The processing start time in seconds of the response"}, "start_datetime": {"type": "string", "description": "The processing start timestamp of the response in human readable format"}, "process_time_delta": {"type": "number", "format": "double", "description": "The time delta of the processing in seconds"}, "http_code": {"type": "number", "format": "int32", "description": "The HTTP code of the response"}, "urls": {"$ref": "#/definitions/UrlModel"}, "api_info": {"$ref": "#/definitions/ApiInfoModel"}}, "required": ["status", "user_id", "resource_id", "timestamp", "datetime", "accept_timestamp", "accept_datetime", "message"], "example": {"accept_datetime": "2018-05-02 10:36:43.119861", "accept_timestamp": 1525257403.119857, "api_info": {"endpoint": "strdsmanagementresource", "method": "GET", "path": "/projects/ECAD/mapsets/PERMANENT/strds/precipitation_1950_2013_yearly_mm", "request_url": "http://localhost:8080/projects/ECAD/mapsets/PERMANENT/strds/precipitation_1950_2013_yearly_mm"}, "datetime": "2018-05-02 10:36:43.677867", "http_code": 200, "message": "Information gathering for STRDS <precipitation_1950_2013_yearly_mm> successful", "process_chain_list": [{"1": {"flags": "g", "inputs": {"input": "precipitation_1950_2013_yearly_mm", "type": "strds"}, "module": "t.info"}}], "process_log": [{"executable": "t.info", "parameter": ["type=strds", "input=precipitation_1950_2013_yearly_mm", "-g"], "return_code": 0, "run_time": 0.4944636821746826, "stderr": [""], "stdout": "..."}], "process_results": {"aggregation_type": "None", "semantic_labels": "None", "bottom": "0.0", "creation_time": "2017-12-29 15:58:40.020820", "creator": "soeren", "east": "75.5", "end_time": "2013-01-01 00:00:00", "ewres_max": "0.25", "ewres_min": "0.25", "granularity": "1 year", "id": "precipitation_1950_2013_yearly_mm@PERMANENT", "map_time": "interval", "mapset": "PERMANENT", "max_max": "5132.0", "max_min": "2498.3", "min_max": "35.2", "min_min": "0.0", "modification_time": "2017-12-29 15:58:44.396206", "name": "precipitation_1950_2013_yearly_mm", "north": "75.5", "nsres_max": "0.25", "nsres_min": "0.25", "number_of_semantic_labels": "None", "number_of_maps": "63", "raster_register": "raster_map_register_87e1edbaf2da4a27a03da04fa9f3a7f1", "semantic_type": "mean", "south": "25.25", "start_time": "1950-01-01 00:00:00", "temporal_type": "absolute", "top": "0.0", "west": "-40.5"}, "progress": {"num_of_steps": 1, "step": 1}, "resource_id": "resource_id-1f178974-684d-417e-a3f4-878708b7382b", "status": "finished", "time_delta": 0.5580840110778809, "timestamp": 1525257403.6778474, "urls": {"resources": [], "status": "http://localhost:8080/resources/user/resource_id-1f178974-684d-417e-a3f4-878708b7382b"}, "user_id": "user"}, "description": "Response schema for STRDS information."}, "STRDSInfoModel": {"description": "Information about a specific space-time raster dataset (STRDS)", "type": "object", "properties": {"aggregation_type": {"type": "string"}, "bottom": {"type": "string"}, "creation_time": {"type": "string"}, "creator": {"type": "string"}, "east": {"type": "string"}, "end_time": {"type": "string"}, "ewres_max": {"type": "string"}, "ewres_min": {"type": "string"}, "granularity": {"type": "string"}, "id": {"type": "string"}, "map_time": {"type": "string"}, "mapset": {"type": "string"}, "max_max": {"type": "string"}, "max_min": {"type": "string"}, "min_max": {"type": "string"}, "min_min": {"type": "string"}, "modification_time": {"type": "string"}, "name": {"type": "string"}, "north": {"type": "string"}, "number_of_semantic_labels": {"type": "string"}, "nsres_max": {"type": "string"}, "nsres_min": {"type": "string"}, "number_of_maps": {"type": "string"}, "raster_register": {"type": "string"}, "semantic_labels": {"type": "string"}, "semantic_type": {"type": "string"}, "south": {"type": "string"}, "start_time": {"type": "string"}, "temporal_type": {"type": "string"}, "top": {"type": "string"}, "west": {"type": "string"}}, "example": {"aggregation_type": "None", "semantic_labels": "None", "bottom": "0.0", "creation_time": "2016-08-11 16:44:29.756411", "creator": "soeren", "east": "75.5", "end_time": "2013-07-01 00:00:00", "ewres_max": "0.25", "ewres_min": "0.25", "granularity": "1 month", "id": "precipitation_1950_2013_monthly_mm@PERMANENT", "map_time": "interval", "mapset": "PERMANENT", "max_max": "1076.9", "max_min": "168.9", "min_max": "3.2", "min_min": "0.0", "modification_time": "2016-08-11 16:45:14.032432", "name": "precipitation_1950_2013_monthly_mm", "north": "75.5", "nsres_max": "0.25", "nsres_min": "0.25", "number_of_semantic_labels": "None", "number_of_maps": "762", "raster_register": "raster_map_register_934719ed2b4841818386a6f9c5f11b09", "semantic_type": "mean", "south": "25.25", "start_time": "1950-01-01 00:00:00", "temporal_type": "absolute", "top": "0.0", "west": "-40.5"}}, "STRDSCreationModel": {"description": "Information required to create a new STRDS", "type": "object", "properties": {"title": {"type": "string", "description": "The title of the STRDS"}, "description": {"type": "string", "description": "The description of the STRDS"}, "temporaltype": {"type": "string", "description": "The temporal type of the STRDS, which can be absolute and relative", "default": "absolute"}}, "required": ["title", "description"], "example": {"title": "Monthly mean temperature from 1950-2010 for Germany", "description": "Monthly mean temperature from 1950-2010 for Germany in degree celsius", "ttype": "absolute"}}, "STRDSRasterListResponseModel": {"type": "object", "properties": {"status": {"type": "string", "description": "The status of the response"}, "user_id": {"type": "string", "description": "The id of the user that issued a request"}, "resource_id": {"type": "string", "description": "The unique resource id"}, "queue": {"type": "string", "description": "The name of the queue in which the job is queued"}, "process_log": {"type": "array", "items": {"$ref": "#/definitions/ProcessLogModel"}, "description": "A list of ProcessLogModels"}, "process_chain_list": {"type": "array", "items": {"$ref": "#/definitions/GrassModule"}, "description": "The list of GRASS modules that were used in the processing"}, "process_results": {"type": "array", "items": {"$ref": "#/definitions/STRDSRasterListEntryModel"}}, "progress": {"$ref": "#/definitions/ProgressInfoModel"}, "message": {"type": "string", "description": "Message for the user, maybe status, finished or error message"}, "exception": {"$ref": "#/definitions/ExceptionTracebackModel"}, "accept_timestamp": {"type": "number", "format": "double", "description": "The acceptance timestamp in seconds of the response"}, "accept_datetime": {"type": "string", "description": "The acceptance timestamp of the response in human readable format"}, "timestamp": {"type": "number", "format": "double", "description": "The current timestamp in seconds of the response"}, "time_delta": {"type": "number", "format": "double", "description": "The time delta of the processing in seconds"}, "datetime": {"type": "string", "description": "The current timestamp of the response in human readable format"}, "start_timestamp": {"type": "number", "format": "double", "description": "The processing start time in seconds of the response"}, "start_datetime": {"type": "string", "description": "The processing start timestamp of the response in human readable format"}, "process_time_delta": {"type": "number", "format": "double", "description": "The time delta of the processing in seconds"}, "http_code": {"type": "number", "format": "int32", "description": "The HTTP code of the response"}, "urls": {"$ref": "#/definitions/UrlModel"}, "api_info": {"$ref": "#/definitions/ApiInfoModel"}}, "required": ["status", "user_id", "resource_id", "timestamp", "datetime", "accept_timestamp", "accept_datetime", "message"], "example": {"accept_datetime": "2018-05-06 21:28:18.583050", "accept_timestamp": 1525634898.5830483, "api_info": {"endpoint": "strdsrastermanagement", "method": "GET", "path": "/projects/ECAD/mapsets/PERMANENT/strds/precipitation_1950_2013_yearly_mm/raster_layers", "request_url": "http://localhost:5000/projects/ECAD/mapsets/PERMANENT/strds/precipitation_1950_2013_yearly_mm/raster_layers?where=start_time>'2010-01-01'"}, "datetime": "2018-05-06 21:28:19.187395", "http_code": 200, "message": "Processing successfully finished", "process_chain_list": [{"1": {"flags": "u", "inputs": {"columns": "id,start_time,end_time,north,south,east,west,min,max,rows,cols", "input": "precipitation_1950_2013_yearly_mm@PERMANENT", "separator": "|", "where": "start_time>'2010-01-01'"}, "module": "t.rast.list", "outputs": {"output": {"name": "/home/soeren/actinia/workspace/temp_db/gisdbase_1b72938d2ef54c199f6627b8720f21e1/.tmp/tmptps71vn7"}}}}], "process_log": [{"executable": "t.rast.list", "parameter": ["input=precipitation_1950_2013_yearly_mm@PERMANENT", "where=start_time>'2010-01-01'", "separator=|", "columns=id,start_time,end_time,north,south,east,west,min,max,rows,cols", "output=/home/soeren/actinia/workspace/temp_db/gisdbase_1b72938d2ef54c199f6627b8720f21e1/.tmp/tmptps71vn7", "-u"], "return_code": 0, "run_time": 0.5023984909057617, "stderr": [""], "stdout": ""}], "process_results": [{"cols": "201", "east": "75.5", "end_time": "2011-01-01 00:00:00", "id": "precipitation_yearly_mm_60@PERMANENT", "max": "2899.6", "min": "22.5", "north": "75.5", "rows": "464", "south": "25.25", "start_time": "2010-01-01 00:00:00", "west": "-40.5"}, {"cols": "201", "east": "75.5", "end_time": "2012-01-01 00:00:00", "id": "precipitation_yearly_mm_61@PERMANENT", "max": "4226.0", "min": "10.0", "north": "75.5", "rows": "464", "south": "25.25", "start_time": "2011-01-01 00:00:00", "west": "-40.5"}, {"cols": "201", "east": "75.5", "end_time": "2013-01-01 00:00:00", "id": "precipitation_yearly_mm_62@PERMANENT", "max": "3442.6", "min": "0.0", "north": "75.5", "rows": "464", "south": "25.25", "start_time": "2012-01-01 00:00:00", "west": "-40.5"}], "progress": {"num_of_steps": 1, "step": 1}, "resource_id": "resource_id-729ace44-6245-43c7-a875-d2059c1a1549", "status": "finished", "time_delta": 0.6043989658355713, "timestamp": 1525634899.1873734, "urls": {"resources": [], "status": "http://localhost:5000/resources/user/resource_id-729ace44-6245-43c7-a875-d2059c1a1549"}, "user_id": "user"}, "description": "Response schema for STRDS raster map layer list information."}, "STRDSRasterListEntryModel": {"description": "A single raster map layer information entry", "type": "object", "properties": {"id": {"type": "string"}, "start_time": {"type": "string"}, "end_time": {"type": "string"}, "min": {"type": "string"}, "max": {"type": "string"}, "north": {"type": "string"}, "south": {"type": "string"}, "east": {"type": "string"}, "west": {"type": "string"}, "rows": {"type": "string"}, "cols": {"type": "string"}}, "example": {"cols": "201", "east": "75.5", "end_time": "2013-06-01 00:00:00", "id": "precipitation_monthly_mm_760@PERMANENT", "max": "403.8", "min": "0.0", "north": "75.5", "rows": "464", "south": "25.25", "start_time": "2013-05-01 00:00:00", "west": "-40.5"}}, "RasterListRegisterModel": {"type": "array", "items": {"$ref": "#/definitions/RasterListEntryModel"}, "example": [{"end_time": "2013-06-01 00:00:00", "start_time": "2013-05-01 00:00:00", "name": "precipitation_monthly_mm_760"}, {"end_time": "2013-07-01 00:00:00", "start_time": "2013-06-01 00:00:00", "name": "precipitation_monthly_mm_761"}], "description": "Schema for the list of raster map layers to be registered."}, "RasterListEntryModel": {"type": "object", "properties": {"name": {"type": "string"}, "start_time": {"type": "string"}, "end_time": {"type": "string"}}, "description": "Schema for items for RasterListRegisterModel."}, "VectorInfoResponseModel": {"type": "object", "properties": {"status": {"type": "string", "description": "The status of the response"}, "user_id": {"type": "string", "description": "The id of the user that issued a request"}, "resource_id": {"type": "string", "description": "The unique resource id"}, "queue": {"type": "string", "description": "The name of the queue in which the job is queued"}, "process_log": {"type": "array", "items": {"$ref": "#/definitions/ProcessLogModel"}, "description": "A list of ProcessLogModels"}, "process_chain_list": {"type": "array", "items": {"$ref": "#/definitions/GrassModule"}, "description": "The list of GRASS modules that were used in the processing"}, "process_results": {"$ref": "#/definitions/VectorInfoModel"}, "progress": {"$ref": "#/definitions/ProgressInfoModel"}, "message": {"type": "string", "description": "Message for the user, maybe status, finished or error message"}, "exception": {"$ref": "#/definitions/ExceptionTracebackModel"}, "accept_timestamp": {"type": "number", "format": "double", "description": "The acceptance timestamp in seconds of the response"}, "accept_datetime": {"type": "string", "description": "The acceptance timestamp of the response in human readable format"}, "timestamp": {"type": "number", "format": "double", "description": "The current timestamp in seconds of the response"}, "time_delta": {"type": "number", "format": "double", "description": "The time delta of the processing in seconds"}, "datetime": {"type": "string", "description": "The current timestamp of the response in human readable format"}, "start_timestamp": {"type": "number", "format": "double", "description": "The processing start time in seconds of the response"}, "start_datetime": {"type": "string", "description": "The processing start timestamp of the response in human readable format"}, "process_time_delta": {"type": "number", "format": "double", "description": "The time delta of the processing in seconds"}, "http_code": {"type": "number", "format": "int32", "description": "The HTTP code of the response"}, "urls": {"$ref": "#/definitions/UrlModel"}, "api_info": {"$ref": "#/definitions/ApiInfoModel"}}, "required": ["status", "user_id", "resource_id", "timestamp", "datetime", "accept_timestamp", "accept_datetime", "message"], "example": {"accept_datetime": "2018-05-06 21:36:53.825043", "accept_timestamp": 1525635413.8250418, "api_info": {"endpoint": "vectorlayerresource", "method": "GET", "path": "/projects/nc_spm_08/mapsets/PERMANENT/vector_layers/geology", "request_url": "http://localhost:5000/projects/nc_spm_08/mapsets/PERMANENT/vector_layers/geology"}, "datetime": "2018-05-06 21:36:54.032325", "http_code": 200, "message": "Processing successfully finished", "process_chain_list": [{"1": {"flags": "gte", "inputs": {"map": "geology@PERMANENT"}, "module": "v.info"}, "2": {"flags": "h", "inputs": {"map": "geology@PERMANENT"}, "module": "v.info"}, "3": {"flags": "c", "inputs": {"map": "geology@PERMANENT"}, "module": "v.info"}}], "process_log": [{"executable": "v.info", "parameter": ["map=geology@PERMANENT", "-gte"], "return_code": 0, "run_time": 0.050188302993774414, "stderr": [""], "stdout": "..."}, {"executable": "v.info", "parameter": ["map=geology@PERMANENT", "-h"], "return_code": 0, "run_time": 0.05018758773803711, "stderr": [""], "stdout": "..."}, {"executable": "v.info", "parameter": ["map=geology@PERMANENT", "-c"], "return_code": 0, "run_time": 0.050185441970825195, "stderr": ["Displaying column types/names for database connection of layer <1>:", ""], "stdout": "..."}], "process_results": {"Attributes": [{"column": "cat", "type": "INTEGER"}, {"column": "onemap_pro", "type": "DOUBLE PRECISION"}, {"column": "PERIMETER", "type": "DOUBLE PRECISION"}, {"column": "GEOL250_", "type": "INTEGER"}, {"column": "GEOL250_ID", "type": "INTEGER"}, {"column": "GEO_NAME", "type": "CHARACTER"}, {"column": "SHAPE_area", "type": "DOUBLE PRECISION"}, {"column": "SHAPE_len", "type": "DOUBLE PRECISION"}], "COMMAND": " v.db.connect -o map=\"geology@PERMANENT\" driver=\"sqlite\" database=\"$GISDBASE/$LOCATION_NAME/$MAPSET/sqlite/sqlite.db\" table=\"geology\" key=\"cat\" layer=\"1\" separator=\"|\"", "areas": "1832", "attribute_database": "/home/soeren/actinia/workspace/temp_db/gisdbase_d98fc0548fc44fac8fe43abd575e98cc/nc_spm_08/PERMANENT/sqlite/sqlite.db", "attribute_database_driver": "sqlite", "attribute_layer_name": "geology", "attribute_layer_number": "1", "attribute_primary_key": "cat", "attribute_table": "geology", "bottom": "0.000000", "boundaries": "3649", "centroids": "1832", "comment": "", "creator": "helena", "database": "/home/soeren/actinia/workspace/temp_db/gisdbase_d98fc0548fc44fac8fe43abd575e98cc", "digitization_threshold": "0.000000", "east": "930172.312822711", "format": "native", "islands": "907", "level": "2", "lines": "0", "location": "nc_spm_08", "map3d": "0", "mapset": "PERMANENT", "name": "geology", "nodes": "2724", "north": "318117.437416345", "num_dblinks": "1", "organization": "NC OneMap", "points": "0", "primitives": "5481", "project": "nc_spm_08", "projection": "Lambert Conformal Conic", "scale": "1:1", "source_date": "Mon Nov  6 15:48:53 2006", "south": "10875.8272320917", "timestamp": "none", "title": "North Carolina geology map (polygon map)", "top": "0.000000", "west": "123971.194989783"}, "progress": {"num_of_steps": 3, "step": 3}, "resource_id": "resource_id-5494af8c-8c9d-4f8e-a568-d6e86d69d8fd", "status": "finished", "time_delta": 0.20732927322387695, "timestamp": 1525635414.0323067, "urls": {"resources": [], "status": "http://localhost:5000/resources/user/resource_id-5494af8c-8c9d-4f8e-a568-d6e86d69d8fd"}, "user_id": "user"}, "description": "Response schema for vector map layer information."}, "VectorInfoModel": {"description": "Description of a GRASS GIS vector map layer", "type": "object", "properties": {"Attributes": {"type": "array", "items": {"$ref": "#/definitions/VectorAttributeModel"}}, "COMMAND": {"type": "string"}, "areas": {"type": "string"}, "bottom": {"type": "string"}, "boundaries": {"type": "string"}, "centroids": {"type": "string"}, "comment": {"type": "string"}, "creator": {"type": "string"}, "database": {"type": "string"}, "digitization_threshold": {"type": "string"}, "east": {"type": "string"}, "faces": {"type": "string"}, "format": {"type": "string"}, "holes": {"type": "string"}, "islands": {"type": "string"}, "kernels": {"type": "string"}, "level": {"type": "string"}, "lines": {"type": "string"}, "location": {"type": "string"}, "map3d": {"type": "string"}, "mapset": {"type": "string"}, "name": {"type": "string"}, "nodes": {"type": "string"}, "north": {"type": "string"}, "num_dblinks": {"type": "string"}, "organization": {"type": "string"}, "points": {"type": "string"}, "primitives": {"type": "string"}, "project": {"type": "string"}, "projection": {"type": "string"}, "zone": {"type": "string"}, "scale": {"type": "string"}, "source_date": {"type": "string"}, "south": {"type": "string"}, "timestamp": {"type": "string"}, "title": {"type": "string"}, "top": {"type": "string"}, "volumes": {"type": "string"}, "west": {"type": "string"}, "attribute_layer_name": {"type": "string"}, "attribute_table": {"type": "string"}, "attribute_database_driver": {"type": "string"}, "attribute_database": {"type": "string"}, "attribute_primary_key": {"type": "string"}, "attribute_layer_number": {"type": "string"}}, "example": {"Attributes": [{"column": "cat", "type": "INTEGER"}, {"column": "z", "type": "DOUBLE PRECISION"}], "COMMAND": " v.random -z output=\"test_layer\" npoints=1 layer=\"-1\" zmin=1.0 zmax=1.0 seed=1 column=\"z\" column_type=\"double precision\"", "areas": "0", "bottom": "1.000000", "boundaries": "0", "centroids": "0", "comment": "", "creator": "soeren", "database": "/tmp/gisdbase_b83bebdb543440c7b9991e2e5602ba91", "digitization_threshold": "0.000000", "east": "644375.544828422", "faces": "0", "format": "native", "holes": "0", "islands": "0", "kernels": "0", "level": "2", "lines": "0", "location": "nc_spm_08", "map3d": "1", "mapset": "user1", "name": "test_layer", "nodes": "0", "north": "221135.648003836", "num_dblinks": "1", "organization": "", "points": "1", "primitives": "1", "project": "nc_spm_08", "projection": "Lambert Conformal Conic", "scale": "1:1", "source_date": "Thu May 18 21:40:02 2017", "south": "221135.648003836", "timestamp": "none", "title": "", "top": "1.000000", "volumes": "0", "west": "644375.544828422", "attribute_database": "/tmp/gisdbase_eabed7327ec898670884136c2a/nc_spm_08/user1/vector/test_layer/sqlite.db", "attribute_database_driver": "sqlite", "attribute_layer_name": "test_layer", "attribute_layer_number": "1", "attribute_primary_key": "cat", "attribute_table": "test_layer"}}, "VectorAttributeModel": {"description": "Description of a vector map layer attribute", "type": "object", "properties": {"column": {"type": "string"}, "type": {"type": "string"}}, "example": {"cat": "INTEGER", "z": "DOUBLE PRECISION"}}, "VectorRegionCreationModel": {"type": "object", "properties": {"region": {"$ref": "#/definitions/SetRegionModel"}, "parameter": {"$ref": "#/definitions/VectorCreationModel"}}, "example": {"region": {"n": 228500, "s": 215000, "e": 645000, "w": 630000}, "parameter": {"npoints": 1, "zmin": 1, "zmax": 1, "seed": 1}}, "description": "Schema for random vector generation in a specific region."}, "SetRegionModel": {"type": "object", "properties": {"region": {"type": "string", "description": "Set current region from named region"}, "raster": {"type": "string", "description": "Raster layer name with mapset to set the region from"}, "align": {"type": "string", "description": "Raster layer name with mapset to align the region to"}, "zoom": {"type": "string", "description": "Raster layer name with mapset to zoom the region to"}, "vector": {"type": "string", "description": "Vector layer name with mapset to set the region from"}, "n": {"type": "number", "format": "double", "description": "Value for the northern edge"}, "s": {"type": "number", "format": "double", "description": "Value for the southern edge"}, "w": {"type": "number", "format": "double", "description": "Value for the western edge"}, "e": {"type": "number", "format": "double", "description": "Value for the eastern edge"}, "t": {"type": "number", "format": "double", "description": "Value for the top edge"}, "b": {"type": "number", "format": "double", "description": "Value for the bottom edge"}, "nsres": {"type": "number", "format": "double", "description": "North-south 2D grid resolution"}, "res": {"type": "number", "format": "double", "description": "2D grid resolution (north-south and east-west)"}, "ewres": {"type": "number", "format": "double", "description": "East-west 2D grid resolution"}, "res3": {"type": "number", "format": "double", "description": "3D grid resolution (north-south, east-west and top-bottom)"}, "tbres": {"type": "number", "format": "double", "description": "Top-bottom 3D grid resolution"}}, "description": "Schema representing the computational region definition for raster"}, "VectorCreationModel": {"type": "object", "properties": {"npoints": {"type": "number", "format": "integer", "description": "Number of points to be created", "default": 5}, "seed": {"type": "number", "format": "integer", "description": "The seed to initialize the random generator. If not set the process ID is used", "default": 78297}, "zmin": {"type": "number", "format": "double", "description": "Minimum z height", "default": 0.0}, "zmax": {"type": "number", "format": "double", "description": "Maximum z height", "default": 100.0}}, "description": "Schema for input parameters to generate a random point vector map layer."}, "SimpleStatusCodeResponseModel": {"type": "object", "properties": {"status": {"type": "number", "description": "The status code of the request."}, "message": {"type": "string", "description": "A short message to describes the status"}}, "required": ["status", "message"], "example": {"status": 200, "message": "success"}, "description": "Simple response schema to inform about status."}, "GeodataResponseModel": {"type": "object", "properties": {"uuid": {"type": "string", "description": "The Geonetwork uuid."}, "bbox": {"type": "array", "items": {"type": "number"}, "minItems": 4, "maxItems": 4, "description": "The bounding box of the result."}, "crs": {"type": "string", "description": "The coordinate reference system of the result."}, "table": {"type": "string", "description": "The db connection string of the result source."}}, "required": ["uuid", "bbox"], "example": {"uuid": "da165110-88fd-11da-a88f-000d939bc5d8", "bbox": [51.1, -34.6, -17.3, 38.2], "crs": "urn:ogc:def:crs:::WGS 1984", "table": "http://www.fao.org/ag/AGL/aglw/aquastat/watresafrica/index.stm"}, "description": "Model for object for geodata"}, "ModuleList": {"type": "object", "properties": {"status": {"type": "string", "description": "The status of the resource, values: accepted, running, finished, terminated, error"}, "processes": {"type": "array", "items": {"$ref": "#/definitions/Module"}, "description": "The list of modules in GRASS GIS"}}, "example": {"processes": [{"id": "v.random", "description": "Generates random 2D/3D vector points.", "categories": ["vector", "sampling", "statistics", "random", "point pattern", "stratified random sampling", "level1"]}], "status": "success"}, "required": ["status", "processes"], "description": "Response schema for module lists"}, "Module": {"type": "object", "properties": {"id": {"type": "string", "description": "Unique identifier of the process. "}, "summary": {"type": "string", "description": "A short summary of what the process does."}, "description": {"type": "string", "description": "Detailed description to fully explain the entity."}, "categories": {"type": "array", "items": {"type": "string"}, "description": "A list of categories. GRASS GIS addons have the category \"grass-module\" and the actinia core modules are identified with \"actinia-module\""}, "projects": {"type": "array", "items": {"type": "string"}, "description": "A comma separated list of GRASS GIS projects for which the process is suitable."}, "parameters": {"$ref": "#/definitions/ModuleParameter"}, "returns": {"$ref": "#/definitions/ModuleReturns"}, "import_descr": {"$ref": "#/definitions/ModuleImportDescription"}, "export": {"$ref": "#/definitions/ModuleExportDescription"}, "version": {"type": "string", "description": "Version of the module."}}, "example": {"categories": ["grass-module", "level1", "pointpattern", "random", "sampling", "statistics", "stratifiedrandomsampling", "vector"], "description": "Generates random 2D/3D vector points.", "id": "v.random", "parameters": {"a": {"description": ". Generate n points for each individual area (requires restrict parameter)", "schema": {"default": "False", "type": "boolean"}}, "b": {"description": "Do not build topology. Advantageous when handling a large number of points", "schema": {"default": "False", "type": "boolean"}}, "cats": {"description": "Category values. Example: 1,3,7-9,13", "required": false, "schema": {"subtype": "cats", "type": "string"}}, "column": {"description": "Name of column for z values. Writes z values to column", "required": false, "schema": {"subtype": "dbcolumn", "type": "string"}}, "column_type": {"description": ". Type of column for z values", "required": false, "schema": {"default": "double precision", "enum": ["integer", "double precision"], "type": "string"}}, "help": {"description": ". Print usage summary", "schema": {"default": "False", "type": "boolean"}}, "layer": {"description": "Layer number or name ('-1' for all layers). A single vector map can be connected to multiple database tables. This number determines which table to use. When used with direct OGR access this is the layer name.", "required": false, "schema": {"default": "-1", "subtype": "layer_all", "type": "string"}}, "npoints": {"description": ". Number of points to be created", "required": true, "schema": {"type": "integer"}}, "output": {"description": ". Name for output vector map", "required": true, "schema": {"subtype": "vector", "type": "string"}}, "overwrite": {"description": ". Allow output files to overwrite existing files", "schema": {"default": "False", "type": "boolean"}}, "quiet": {"description": ". Quiet module output", "schema": {"default": "False", "type": "boolean"}}, "restrict": {"description": "Name of input vector map. Restrict points to areas in input vector", "required": false, "schema": {"subtype": "vector", "type": "string"}}, "seed": {"description": ". The seed to initialize the random generator. If not set the process ID is used", "required": false, "schema": {"type": "integer"}}, "verbose": {"description": ". Verbose module output", "schema": {"default": "False", "type": "boolean"}}, "where": {"description": "WHERE conditions of SQL statement without 'where' keyword. Example: income < 1000 and population >= 10000", "required": false, "schema": {"subtype": "sql_query", "type": "string"}}, "z": {"description": ". Create 3D output", "schema": {"default": "False", "type": "boolean"}}, "zmax": {"description": ". Maximum z height (needs -z flag or column name)", "required": false, "schema": {"default": "0.0", "type": "number"}}, "zmin": {"description": ". Minimum z height (needs -z flag or column name)", "required": false, "schema": {"default": "0.0", "type": "number"}}}}, "required": ["id", "description"], "description": "Response schema for module"}, "ModuleParameter": {"type": "object", "properties": {"name": {"type": "string", "description": "A unique name for the parameter. "}, "description": {"type": "string", "description": "Detailed description to fully explain the entity."}, "optional": {"type": "boolean", "description": "Determines whether this parameter is mandatory.  Default: true"}, "default": {"type": "string", "description": "The default value for this parameter."}, "schema": {"$ref": "#/definitions/ModuleParameterSchema"}}, "description": "A list of parameters that are applicable for this process.", "required": ["description", "schema", "name"]}, "ModuleParameterSchema": {"type": "object", "properties": {"type": {"type": "string", "description": ""}, "subtype": {"type": "string", "description": ""}, "enum": {"type": "array", "items": {"type": "string"}, "description": ""}}, "description": "A schema object according to the specification of JSON "}, "ModuleReturns": {"properties": {"name": {"type": "string", "description": "A unique name for the parameter. "}, "description": {"type": "string", "description": "Detailed description to fully explain the entity."}, "optional": {"type": "boolean", "description": "Determines whether this parameter is mandatory.  Default: true"}, "default": {"type": "string", "description": "The default value for this parameter."}, "schema": {"$ref": "#/definitions/ModuleParameterSchema"}}, "required": ["description", "schema", "name"], "type": "object", "description": "The data that is returned from this process."}, "ModuleImportDescription": {"properties": {"name": {"type": "string", "description": "A unique name for the parameter. "}, "description": {"type": "string", "description": "Detailed description to fully explain the entity."}, "optional": {"type": "boolean", "description": "Determines whether this parameter is mandatory.  Default: true"}, "default": {"type": "string", "description": "The default value for this parameter."}, "schema": {"$ref": "#/definitions/ModuleParameterSchema"}}, "required": ["description", "schema", "name"], "type": "object", "description": "Import parameters to import data for this process."}, "ModuleExportDescription": {"properties": {"name": {"type": "string", "description": "A unique name for the parameter. "}, "description": {"type": "string", "description": "Detailed description to fully explain the entity."}, "optional": {"type": "boolean", "description": "Determines whether this parameter is mandatory.  Default: true"}, "default": {"type": "string", "description": "The default value for this parameter."}, "schema": {"$ref": "#/definitions/ModuleParameterSchema"}}, "required": ["description", "schema", "name"], "type": "object", "description": "Export parameters to export returned data from this process"}, "ProcessChainTemplate": {"type": "object", "properties": {"id": {"type": "string", "description": "Unique identifier of the process. "}, "description": {"type": "string", "description": "Detailed description to fully explain the entity."}, "template": {"type": "object", "description": "The full process chain template.", "properties": {"list": {"type": "array", "items": {"$ref": "#/definitions/GrassModule"}, "description": "The list of GRASS GIS or actinia modules or executables of which the template consists."}}}}, "example": {"id": "user_default_value", "description": "test default value in actinia-module-plugin", "template": {"version": "1", "list": [{"module": "r.mapcalc", "id": "r.mapcalc_test", "inputs": [{"param": "expression", "comment": "output = r.mapcalc result, string; value = raster value (default=0.428), float", "value": "{{ output }} = {{ value|default(0.428) }}"}]}, {"id": "r_info", "module": "r.info", "inputs": [{"param": "map", "value": "{{ output }}"}]}]}}, "description": "Response schema for module"}, "SatelliteSceneList": {"type": "object", "properties": {"resource_list": {"type": "array", "items": {"$ref": "#/definitions/SatelliteSceneEntry"}, "description": "A list of satellite scenes"}}, "required": ["resource_list"], "example": [{"cloud_cover": "100.0", "east_lon": 117.334772, "north_lat": -73.8673822679, "scene_id": "S2A_MSIL1C_20170101T003802_N0204_R116_T50CMC_20170101T003759", "sensing_time": "2017-01-01T00:37:59.459000Z", "south_lat": -74.8755595194, "total_size": 608562784, "west_lon": 113.568673296}, {"cloud_cover": "100.0", "east_lon": 117.355376908, "north_lat": -74.7623823271, "scene_id": "S2A_MSIL1C_20170101T003802_N0204_R116_T50CMB_20170101T003759", "sensing_time": "2017-01-01T00:37:59.459000Z", "south_lat": -75.7719656592, "total_size": 604326630, "west_lon": 113.35802037}]}, "SatelliteSceneEntry": {"type": "object", "properties": {"scene_id": {"type": "string", "description": "The id of the satellite scene"}, "sensing_time": {"type": "string", "description": "The sensing time of the scene"}, "cloud_cover": {"type": "number", "format": "double", "description": "Cloud cover of the scene 0-100"}, "east_lon": {"type": "number", "format": "double", "description": "Eastern border of the scene"}, "west_lon": {"type": "number", "format": "double", "description": "Western border of the scene"}, "north_lat": {"type": "number", "format": "double", "description": "Northern border of the scene"}, "south_lat": {"type": "number", "format": "double", "description": "Southern border of the scene"}, "total_size": {"type": "number", "format": "double", "description": "Total size of the scene"}}, "required": ["scene_id", "sensing_time"], "example": {"cloud_cover": "100.0", "east_lon": 117.334772, "north_lat": -73.8673822679, "scene_id": "S2A_MSIL1C_20170101T003802_N0204_R116_T50CMC_20170101T003759", "sensing_time": "2017-01-01T00:37:59.459000Z", "south_lat": -74.8755595194, "total_size": 608562784, "west_lon": 113.568673296}}, "LandsatNDVIResponseModel": {"type": "object", "properties": {"status": {"type": "string", "description": "The status of the response"}, "user_id": {"type": "string", "description": "The id of the user that issued a request"}, "resource_id": {"type": "string", "description": "The unique resource id"}, "queue": {"type": "string", "description": "The name of the queue in which the job is queued"}, "process_log": {"type": "array", "items": {"$ref": "#/definitions/ProcessLogModel"}, "description": "A list of ProcessLogModels"}, "process_chain_list": {"type": "array", "items": {"$ref": "#/definitions/GrassModule"}, "description": "The list of GRASS modules that were used in the processing"}, "process_results": {"type": "array", "items": {"$ref": "#/definitions/UnivarResultModel"}}, "progress": {"$ref": "#/definitions/ProgressInfoModel"}, "message": {"type": "string", "description": "Message for the user, maybe status, finished or error message"}, "exception": {"$ref": "#/definitions/ExceptionTracebackModel"}, "accept_timestamp": {"type": "number", "format": "double", "description": "The acceptance timestamp in seconds of the response"}, "accept_datetime": {"type": "string", "description": "The acceptance timestamp of the response in human readable format"}, "timestamp": {"type": "number", "format": "double", "description": "The current timestamp in seconds of the response"}, "time_delta": {"type": "number", "format": "double", "description": "The time delta of the processing in seconds"}, "datetime": {"type": "string", "description": "The current timestamp of the response in human readable format"}, "start_timestamp": {"type": "number", "format": "double", "description": "The processing start time in seconds of the response"}, "start_datetime": {"type": "string", "description": "The processing start timestamp of the response in human readable format"}, "process_time_delta": {"type": "number", "format": "double", "description": "The time delta of the processing in seconds"}, "http_code": {"type": "number", "format": "int32", "description": "The HTTP code of the response"}, "urls": {"$ref": "#/definitions/UrlModel"}, "api_info": {"$ref": "#/definitions/ApiInfoModel"}}, "required": ["status", "user_id", "resource_id", "timestamp", "datetime", "accept_timestamp", "accept_datetime", "message"], "example": {"accept_datetime": "2018-05-30 11:16:03.033305", "accept_timestamp": 1527678963.033304, "api_info": {"endpoint": "asyncephemerallandsatprocessingresource", "method": "POST", "path": "/api/v3/landsat_process/LC80440342016259LGN00/TOAR/NDVI", "request_url": "http://localhost:5000/api/v3/landsat_process/LC80440342016259LGN00/TOAR/NDVI"}, "datetime": "2018-05-30 11:22:58.315162", "http_code": 200, "message": "Processing successfully finished", "process_chain_list": [{"1": {"flags": "g", "inputs": {"map": "LC80440342016259LGN00_TOAR_NDVI"}, "module": "r.univar", "outputs": {"output": {"name": "/actinia/workspace/temp_db/gisdbase_4e879f3951334a559612abab4352b069/.tmp/tmpkiv0uv6z.univar"}}}}, {"1": {"flags": "n", "inputs": {"map": "LC80440342016259LGN00_TOAR_NDVI"}, "module": "d.rast"}, "2": {"flags": "n", "inputs": {"at": "8,92,0,7", "raster": "LC80440342016259LGN00_TOAR_NDVI"}, "module": "d.legend"}}], "process_log": [{"executable": "/usr/bin/wget", "parameter": ["-t5", "-c", "-q", "-O", "/actinia/workspace/temp_db/gisdbase_4e879f3951334a559612abab4352b069/.tmp/LC80440342016259LGN00_B6.TIF", "https://storage.googleapis.com/gcp-public-data-landsat/LC08/PRE/044/034/LC80440342016259LGN00/LC80440342016259LGN00_B6.TIF"], "return_code": 0, "run_time": 23.63347291946411, "stderr": [""], "stdout": ""}, {"executable": "/bin/mv", "parameter": ["/actinia/workspace/temp_db/gisdbase_4e879f3951334a559612abab4352b069/.tmp/LC80440342016259LGN00_B6.TIF", "/actinia/workspace/download_cache/superadmin/LC80440342016259LGN00_B6.TIF"], "return_code": 0, "run_time": 0.05022144317626953, "stderr": [""], "stdout": ""}, {"executable": "/usr/bin/wget", "parameter": ["-t5", "-c", "-q", "-O", "/actinia/workspace/temp_db/gisdbase_4e879f3951334a559612abab4352b069/.tmp/LC80440342016259LGN00_B7.TIF", "https://storage.googleapis.com/gcp-public-data-landsat/LC08/PRE/044/034/LC80440342016259LGN00/LC80440342016259LGN00_B7.TIF"], "return_code": 0, "run_time": 22.89448094367981, "stderr": [""], "stdout": ""}, {"executable": "/bin/mv", "parameter": ["/actinia/workspace/temp_db/gisdbase_4e879f3951334a559612abab4352b069/.tmp/LC80440342016259LGN00_B7.TIF", "/actinia/workspace/download_cache/superadmin/LC80440342016259LGN00_B7.TIF"], "return_code": 0, "run_time": 0.051961421966552734, "stderr": [""], "stdout": ""}, {"executable": "/usr/bin/wget", "parameter": ["-t5", "-c", "-q", "-O", "/actinia/workspace/temp_db/gisdbase_4e879f3951334a559612abab4352b069/.tmp/LC80440342016259LGN00_B8.TIF", "https://storage.googleapis.com/gcp-public-data-landsat/LC08/PRE/044/034/LC80440342016259LGN00/LC80440342016259LGN00_B8.TIF"], "return_code": 0, "run_time": 83.04966020584106, "stderr": [""], "stdout": ""}, {"executable": "/bin/mv", "parameter": ["/actinia/workspace/temp_db/gisdbase_4e879f3951334a559612abab4352b069/.tmp/LC80440342016259LGN00_B8.TIF", "/actinia/workspace/download_cache/superadmin/LC80440342016259LGN00_B8.TIF"], "return_code": 0, "run_time": 0.05012321472167969, "stderr": [""], "stdout": ""}, {"executable": "/usr/bin/wget", "parameter": ["-t5", "-c", "-q", "-O", "/actinia/workspace/temp_db/gisdbase_4e879f3951334a559612abab4352b069/.tmp/LC80440342016259LGN00_B9.TIF", "https://storage.googleapis.com/gcp-public-data-landsat/LC08/PRE/044/034/LC80440342016259LGN00/LC80440342016259LGN00_B9.TIF"], "return_code": 0, "run_time": 11.948487043380737, "stderr": [""], "stdout": ""}, {"executable": "/bin/mv", "parameter": ["/actinia/workspace/temp_db/gisdbase_4e879f3951334a559612abab4352b069/.tmp/LC80440342016259LGN00_B9.TIF", "/actinia/workspace/download_cache/superadmin/LC80440342016259LGN00_B9.TIF"], "return_code": 0, "run_time": 0.05081939697265625, "stderr": [""], "stdout": ""}, {"executable": "/usr/bin/wget", "parameter": ["-t5", "-c", "-q", "-O", "/actinia/workspace/temp_db/gisdbase_4e879f3951334a559612abab4352b069/.tmp/LC80440342016259LGN00_B10.TIF", "https://storage.googleapis.com/gcp-public-data-landsat/LC08/PRE/044/034/LC80440342016259LGN00/LC80440342016259LGN00_B10.TIF"], "return_code": 0, "run_time": 15.688527345657349, "stderr": [""], "stdout": ""}, {"executable": "/bin/mv", "parameter": ["/actinia/workspace/temp_db/gisdbase_4e879f3951334a559612abab4352b069/.tmp/LC80440342016259LGN00_B10.TIF", "/actinia/workspace/download_cache/superadmin/LC80440342016259LGN00_B10.TIF"], "return_code": 0, "run_time": 0.05163097381591797, "stderr": [""], "stdout": ""}, {"executable": "/usr/bin/wget", "parameter": ["-t5", "-c", "-q", "-O", "/actinia/workspace/temp_db/gisdbase_4e879f3951334a559612abab4352b069/.tmp/LC80440342016259LGN00_B11.TIF", "https://storage.googleapis.com/gcp-public-data-landsat/LC08/PRE/044/034/LC80440342016259LGN00/LC80440342016259LGN00_B11.TIF"], "return_code": 0, "run_time": 15.100370645523071, "stderr": [""], "stdout": ""}, {"executable": "/bin/mv", "parameter": ["/actinia/workspace/temp_db/gisdbase_4e879f3951334a559612abab4352b069/.tmp/LC80440342016259LGN00_B11.TIF", "/actinia/workspace/download_cache/superadmin/LC80440342016259LGN00_B11.TIF"], "return_code": 0, "run_time": 0.05057358741760254, "stderr": [""], "stdout": ""}, {"executable": "/usr/bin/wget", "parameter": ["-t5", "-c", "-q", "-O", "/actinia/workspace/temp_db/gisdbase_4e879f3951334a559612abab4352b069/.tmp/LC80440342016259LGN00_MTL.txt", "https://storage.googleapis.com/gcp-public-data-landsat/LC08/PRE/044/034/LC80440342016259LGN00/LC80440342016259LGN00_MTL.txt"], "return_code": 0, "run_time": 0.25395917892456055, "stderr": [""], "stdout": ""}, {"executable": "/bin/mv", "parameter": ["/actinia/workspace/temp_db/gisdbase_4e879f3951334a559612abab4352b069/.tmp/LC80440342016259LGN00_MTL.txt", "/actinia/workspace/download_cache/superadmin/LC80440342016259LGN00_MTL.txt"], "return_code": 0, "run_time": 0.05015206336975098, "stderr": [""], "stdout": ""}, {"executable": "python3", "parameter": ["/usr/local/bin/grass", "-e", "-c", "/actinia/workspace/download_cache/superadmin/LC80440342016259LGN00_B1.TIF", "/actinia/workspace/temp_db/gisdbase_4e879f3951334a559612abab4352b069/Landsat"], "return_code": 0, "run_time": 0.15161657333374023, "stderr": ["Default locale settings are missing. GRASS running with C locale.WARNING: Searched for a web browser, but none found", "Creating new GRASS GIS project/mapset...", "Cleaning up temporary files...", ""], "stdout": "Default locale not found, using UTF-8\n"}, {"executable": "r.import", "parameter": ["input=/actinia/workspace/download_cache/superadmin/LC80440342016259LGN00_B1.TIF", "output=LC80440342016259LGN00.1", "--q"], "return_code": 0, "run_time": 3.093010902404785, "stderr": [""], "stdout": ""}, {"executable": "r.import", "parameter": ["input=/actinia/workspace/download_cache/superadmin/LC80440342016259LGN00_B2.TIF", "output=LC80440342016259LGN00.2", "--q"], "return_code": 0, "run_time": 3.020535707473755, "stderr": [""], "stdout": ""}, {"executable": "r.import", "parameter": ["input=/actinia/workspace/download_cache/superadmin/LC80440342016259LGN00_B3.TIF", "output=LC80440342016259LGN00.3", "--q"], "return_code": 0, "run_time": 2.9988090991973877, "stderr": [""], "stdout": ""}, {"executable": "r.import", "parameter": ["input=/actinia/workspace/download_cache/superadmin/LC80440342016259LGN00_B4.TIF", "output=LC80440342016259LGN00.4", "--q"], "return_code": 0, "run_time": 3.0504379272460938, "stderr": [""], "stdout": ""}, {"executable": "r.import", "parameter": ["input=/actinia/workspace/download_cache/superadmin/LC80440342016259LGN00_B5.TIF", "output=LC80440342016259LGN00.5", "--q"], "return_code": 0, "run_time": 3.0378293991088867, "stderr": [""], "stdout": ""}, {"executable": "r.import", "parameter": ["input=/actinia/workspace/download_cache/superadmin/LC80440342016259LGN00_B6.TIF", "output=LC80440342016259LGN00.6", "--q"], "return_code": 0, "run_time": 3.1231300830841064, "stderr": [""], "stdout": ""}, {"executable": "r.import", "parameter": ["input=/actinia/workspace/download_cache/superadmin/LC80440342016259LGN00_B7.TIF", "output=LC80440342016259LGN00.7", "--q"], "return_code": 0, "run_time": 3.0385892391204834, "stderr": [""], "stdout": ""}, {"executable": "r.import", "parameter": ["input=/actinia/workspace/download_cache/superadmin/LC80440342016259LGN00_B8.TIF", "output=LC80440342016259LGN00.8", "--q"], "return_code": 0, "run_time": 11.727607488632202, "stderr": [""], "stdout": ""}, {"executable": "r.import", "parameter": ["input=/actinia/workspace/download_cache/superadmin/LC80440342016259LGN00_B9.TIF", "output=LC80440342016259LGN00.9", "--q"], "return_code": 0, "run_time": 3.531238317489624, "stderr": [""], "stdout": ""}, {"executable": "r.import", "parameter": ["input=/actinia/workspace/download_cache/superadmin/LC80440342016259LGN00_B10.TIF", "output=LC80440342016259LGN00.10", "--q"], "return_code": 0, "run_time": 3.1895594596862793, "stderr": [""], "stdout": ""}, {"executable": "r.import", "parameter": ["input=/actinia/workspace/download_cache/superadmin/LC80440342016259LGN00_B11.TIF", "output=LC80440342016259LGN00.11", "--q"], "return_code": 0, "run_time": 3.1583566665649414, "stderr": [""], "stdout": ""}, {"executable": "i.landsat.toar", "parameter": ["input=LC80440342016259LGN00.", "metfile=/actinia/workspace/download_cache/superadmin/LC80440342016259LGN00_MTL.txt", "method=uncorrected", "output=LC80440342016259LGN00_TOAR.", "--q"], "return_code": 0, "run_time": 101.34896063804626, "stderr": ["WARNING: ESUN evaluated from REFLECTANCE_MAXIMUM_BAND", ""], "stdout": ""}, {"executable": "i.vi", "parameter": ["red=LC80440342016259LGN00_TOAR.4", "nir=LC80440342016259LGN00_TOAR.5", "green=LC80440342016259LGN00_TOAR.3", "blue=LC80440342016259LGN00_TOAR.2", "band5=LC80440342016259LGN00_TOAR.7", "band7=LC80440342016259LGN00_TOAR.8", "viname=ndvi", "output=LC80440342016259LGN00_TOAR_NDVI"], "return_code": 0, "run_time": 45.43833112716675, "stderr": ["0..3..6..9..12..15..18..21..24..27..30..33..36..39..42..45..48..51..54..57..60..63..66..69..72..75..78..81..84..87..90..93..96..99..100", ""], "stdout": ""}, {"executable": "r.colors", "parameter": ["map=LC80440342016259LGN00_TOAR_NDVI", "color=ndvi"], "return_code": 0, "run_time": 0.050219058990478516, "stderr": ["Color table for raster map <LC80440342016259LGN00_TOAR_NDVI> set to 'ndvi'", ""], "stdout": ""}, {"executable": "r.univar", "parameter": ["map=LC80440342016259LGN00_TOAR_NDVI", "output=/actinia/workspace/temp_db/gisdbase_4e879f3951334a559612abab4352b069/.tmp/tmpkiv0uv6z.univar", "-g"], "return_code": 0, "run_time": 2.5560226440429688, "stderr": [""], "stdout": ""}, {"executable": "d.rast", "parameter": ["map=LC80440342016259LGN00_TOAR_NDVI", "-n"], "return_code": 0, "run_time": 1.2287390232086182, "stderr": ["0..3..6..9..12..15..18..21..24..27..30..33..36..39..42..45..48..51..54..57..60..63..66..69..72..75..78..81..84..87..90..93..96..99..100", ""], "stdout": ""}, {"executable": "d.legend", "parameter": ["raster=LC80440342016259LGN00_TOAR_NDVI", "at=8,92,0,7", "-n"], "return_code": 0, "run_time": 0.37291598320007324, "stderr": [""], "stdout": ""}, {"executable": "g.region", "parameter": ["raster=LC80440342016259LGN00_TOAR_NDVI", "-g"], "return_code": 0, "run_time": 0.051508188247680664, "stderr": [""], "stdout": "projection=1\nzone=10\nn=4264515\ns=4030185\nw=464385\ne=694515\nnsres=30\newres=30\nrows=7811\ncols=7671\ncells=59918181\n"}, {"executable": "r.out.gdal", "parameter": ["-fm", "input=LC80440342016259LGN00_TOAR_NDVI", "format=GTiff", "createopt=COMPRESS=LZW", "output=/actinia/workspace/temp_db/gisdbase_4e879f3951334a559612abab4352b069/.tmp/LC80440342016259LGN00_TOAR_NDVI.tiff"], "return_code": 0, "run_time": 8.784564018249512, "stderr": ["Checking GDAL data type and nodata value...", "2..5..8..11..14..17..20..23..26..29..32..35..38..41..44..47..50..53..56..59..62..65..68..71..74..77..80..83..86..89..92..95..98..100", "Using GDAL data type <Float64>", "Input raster map contains cells with NULL-value (no-data). The value -nan will be used to represent no-data values in the input map. You can specify a nodata value with the nodata option.", "Exporting raster data to GTiff format...", "ERROR 6: SetColorTable() only supported for Byte or UInt16 bands in TIFF format.", "2..5..8..11..14..17..20..23..26..29..32..35..38..41..44..47..50..53..56..59..62..65..68..71..74..77..80..83..86..89..92..95..98..100", "r.out.gdal complete. File </actinia/workspace/temp_db/gisdbase_4e879f3951334a559612abab4352b069/.tmp/LC80440342016259LGN00_TOAR_NDVI.tiff> created.", ""], "stdout": ""}], "process_results": [{"cells": 59918181.0, "coeff_var": 125.4796560716, "max": 1.31488464218245, "mean": 0.215349514428788, "mean_of_abs": 0.272685223860196, "min": -1.35084534300324, "n": 41612094.0, "name": "LC80440342016259LGN00_TOAR_NDVI", "null_cells": 18306087.0, "range": 2.6657299851857, "stddev": 0.270219830057103, "sum": 8961144.23726506, "variance": 0.0730187565560894}], "progress": {"num_of_steps": 35, "step": 34}, "resource_id": "resource_id-6282c634-42e1-417c-a092-c9b21c3283cc", "status": "finished", "time_delta": 415.2818741798401, "timestamp": 1527679378.31516, "urls": {"resources": ["http://localhost:5000/api/v3/resource/superadmin/resource_id-6282c634-42e1-417c-a092-c9b21c3283cc/tmp80apvh0h.png", "http://localhost:5000/api/v3/resource/superadmin/resource_id-6282c634-42e1-417c-a092-c9b21c3283cc/LC80440342016259LGN00_TOAR_NDVI.tiff"], "status": "http://localhost:5000/api/v3/resources/superadmin/resource_id-6282c634-42e1-417c-a092-c9b21c3283cc"}, "user_id": "superadmin"}, "description": "The response of the Landsat vegetation index computation"}, "UnivarResultModel": {"type": "object", "properties": {"name": {"type": "string", "description": "The name of the raster resource"}, "cells": {"type": "number", "format": "double"}, "coeff_var": {"type": "number", "format": "double"}, "max": {"type": "number", "format": "double"}, "mean": {"type": "number", "format": "double"}, "mean_of_abs": {"type": "number", "format": "double"}, "min": {"type": "number", "format": "double"}, "n": {"type": "number", "format": "double"}, "null_cells": {"type": "number", "format": "double"}, "range": {"type": "number", "format": "double"}, "stddev": {"type": "number", "format": "double"}, "sum": {"type": "number", "format": "double"}, "variance": {"type": "number", "format": "double"}}, "description": "Response schema for the result of univariate computations of raster layers."}, "SentinelNDVIResponseModel": {"type": "object", "properties": {"status": {"type": "string", "description": "The status of the response"}, "user_id": {"type": "string", "description": "The id of the user that issued a request"}, "resource_id": {"type": "string", "description": "The unique resource id"}, "queue": {"type": "string", "description": "The name of the queue in which the job is queued"}, "process_log": {"type": "array", "items": {"$ref": "#/definitions/ProcessLogModel"}, "description": "A list of ProcessLogModels"}, "process_chain_list": {"type": "array", "items": {"$ref": "#/definitions/GrassModule"}, "description": "The list of GRASS modules that were used in the processing"}, "process_results": {"type": "array", "items": {"$ref": "#/definitions/UnivarResultModel"}}, "progress": {"$ref": "#/definitions/ProgressInfoModel"}, "message": {"type": "string", "description": "Message for the user, maybe status, finished or error message"}, "exception": {"$ref": "#/definitions/ExceptionTracebackModel"}, "accept_timestamp": {"type": "number", "format": "double", "description": "The acceptance timestamp in seconds of the response"}, "accept_datetime": {"type": "string", "description": "The acceptance timestamp of the response in human readable format"}, "timestamp": {"type": "number", "format": "double", "description": "The current timestamp in seconds of the response"}, "time_delta": {"type": "number", "format": "double", "description": "The time delta of the processing in seconds"}, "datetime": {"type": "string", "description": "The current timestamp of the response in human readable format"}, "start_timestamp": {"type": "number", "format": "double", "description": "The processing start time in seconds of the response"}, "start_datetime": {"type": "string", "description": "The processing start timestamp of the response in human readable format"}, "process_time_delta": {"type": "number", "format": "double", "description": "The time delta of the processing in seconds"}, "http_code": {"type": "number", "format": "int32", "description": "The HTTP code of the response"}, "urls": {"$ref": "#/definitions/UrlModel"}, "api_info": {"$ref": "#/definitions/ApiInfoModel"}}, "required": ["status", "user_id", "resource_id", "timestamp", "datetime", "accept_timestamp", "accept_datetime", "message"], "example": {"accept_datetime": "2018-05-30 12:25:43.987713", "accept_timestamp": 1527683143.9877105, "api_info": {"endpoint": "asyncephemeralsentinel2processingresource", "method": "POST", "path": "/api/v3/sentinel2_process/ndvi/S2A_MSIL1C_20161206T030112_N0204_R032_T50RKR_20161206T030749", "request_url": "http://localhost:8080/api/v3/sentinel2_process/ndvi/S2A_MSIL1C_20161206T030112_N0204_R032_T50RKR_20161206T030749"}, "datetime": "2018-05-30 12:29:11.800608", "http_code": 200, "message": "Processing successfully finished", "process_chain_list": [{"1": {"flags": "g", "inputs": {"map": "ndvi"}, "module": "r.univar", "outputs": {"output": {"name": "/actinia/workspace/temp_db/gisdbase_103a050c380e4f50b36efd3f77bd1419/.tmp/tmp7il3n0jk.univar"}}}}, {"1": {"inputs": {"map": "ndvi"}, "module": "d.rast"}, "2": {"flags": "n", "inputs": {"at": "8,92,0,7", "raster": "ndvi"}, "module": "d.legend"}, "3": {"inputs": {"at": "20,4", "style": "line"}, "module": "d.barscale"}}], "process_log": [{"executable": "/usr/bin/wget", "parameter": ["-t5", "-c", "-q", "https://storage.googleapis.com/gcp-public-data-sentinel-2/tiles/50/R/KR/S2A_MSIL1C_20161206T030112_N0204_R032_T50RKR_20161206T030749.SAFE/GRANULE/L1C_T50RKR_A007608_20161206T030749/IMG_DATA/T50RKR_20161206T030112_B08.jp2"], "return_code": 0, "run_time": 49.85953092575073, "stderr": [""], "stdout": ""}, {"executable": "/usr/bin/wget", "parameter": ["-t5", "-c", "-q", "https://storage.googleapis.com/gcp-public-data-sentinel-2/tiles/50/R/KR/S2A_MSIL1C_20161206T030112_N0204_R032_T50RKR_20161206T030749.SAFE/GRANULE/L1C_T50RKR_A007608_20161206T030749/IMG_DATA/T50RKR_20161206T030112_B04.jp2"], "return_code": 0, "run_time": 38.676433801651, "stderr": [""], "stdout": ""}, {"executable": "/bin/mv", "parameter": ["/actinia/workspace/temp_db/gisdbase_103a050c380e4f50b36efd3f77bd1419/.tmp/S2A_MSIL1C_20161206T030112_N0204_R032_T50RKR_20161206T030749.gml", "/actinia/workspace/download_cache/superadmin/S2A_MSIL1C_20161206T030112_N0204_R032_T50RKR_20161206T030749.gml"], "return_code": 0, "run_time": 0.05118393898010254, "stderr": [""], "stdout": ""}, {"executable": "/bin/mv", "parameter": ["/actinia/workspace/temp_db/gisdbase_103a050c380e4f50b36efd3f77bd1419/.tmp/T50RKR_20161206T030112_B08.jp2", "/actinia/workspace/download_cache/superadmin/S2A_MSIL1C_20161206T030112_N0204_R032_T50RKR_20161206T030749_B08"], "return_code": 0, "run_time": 0.35857558250427246, "stderr": [""], "stdout": ""}, {"executable": "/bin/mv", "parameter": ["/actinia/workspace/temp_db/gisdbase_103a050c380e4f50b36efd3f77bd1419/.tmp/T50RKR_20161206T030112_B04.jp2", "/actinia/workspace/download_cache/superadmin/S2A_MSIL1C_20161206T030112_N0204_R032_T50RKR_20161206T030749_B04"], "return_code": 0, "run_time": 0.15271401405334473, "stderr": [""], "stdout": ""}, {"executable": "python3", "parameter": ["/usr/local/bin/grass", "-e", "-c", "/actinia/workspace/download_cache/superadmin/S2A_MSIL1C_20161206T030112_N0204_R032_T50RKR_20161206T030749_B08", "/actinia/workspace/temp_db/gisdbase_103a050c380e4f50b36efd3f77bd1419/sentinel2"], "return_code": 0, "run_time": 0.36118006706237793, "stderr": ["Default locale settings are missing. GRASS running with C locale.WARNING: Searched for a web browser, but none found", "Creating new GRASS GIS project/mapset...", "Cleaning up temporary files...", ""], "stdout": "Default locale not found, using UTF-8\n"}, {"executable": "v.import", "parameter": ["input=/actinia/workspace/download_cache/superadmin/S2A_MSIL1C_20161206T030112_N0204_R032_T50RKR_20161206T030749.gml", "output=S2A_MSIL1C_20161206T030112_N0204_R032_T50RKR_20161206T030749", "--q"], "return_code": 0, "run_time": 0.3551313877105713, "stderr": ["WARNING: Projection of dataset does not appear to match current project.", "", "Project PROJ_INFO is:", "name: WGS 84 / UTM zone 50N", "datum: wgs84", "ellps: wgs84", "proj: utm", "zone: 50", "no_defs: defined", "", "Dataset PROJ_INFO is:", "name: WGS 84", "datum: wgs84", "ellps: wgs84", "proj: ll", "no_defs: defined", "", "ERROR: proj", "", "WARNING: Width for column fid set to 255 (was not specified by OGR), some strings may be truncated!", ""], "stdout": ""}, {"executable": "v.timestamp", "parameter": ["map=S2A_MSIL1C_20161206T030112_N0204_R032_T50RKR_20161206T030749", "date=06 dec 2016 03:07:49"], "return_code": 0, "run_time": 0.050455570220947266, "stderr": [""], "stdout": ""}, {"executable": "/usr/bin/gdal_translate", "parameter": ["-projwin", "113.949663", "28.011816", "115.082607", "27.001706", "-of", "vrt", "-projwin_srs", "EPSG:4326", "/actinia/workspace/download_cache/superadmin/S2A_MSIL1C_20161206T030112_N0204_R032_T50RKR_20161206T030749_B08", "/actinia/workspace/download_cache/superadmin/S2A_MSIL1C_20161206T030112_N0204_R032_T50RKR_20161206T030749_B08.vrt"], "return_code": 0, "run_time": 0.05114293098449707, "stderr": ["Warning 1: Computed -srcwin 5 -225 10971 11419 falls partially outside raster extent. Going on however.", ""], "stdout": "Input file size is 10980, 10980\n"}, {"executable": "r.import", "parameter": ["input=/actinia/workspace/download_cache/superadmin/S2A_MSIL1C_20161206T030112_N0204_R032_T50RKR_20161206T030749_B08.vrt", "output=S2A_MSIL1C_20161206T030112_N0204_R032_T50RKR_20161206T030749_B08_uncropped", "--q"], "return_code": 0, "run_time": 16.326167583465576, "stderr": [""], "stdout": ""}, {"executable": "g.region", "parameter": ["align=S2A_MSIL1C_20161206T030112_N0204_R032_T50RKR_20161206T030749_B08_uncropped", "vector=S2A_MSIL1C_20161206T030112_N0204_R032_T50RKR_20161206T030749", "-g"], "return_code": 0, "run_time": 0.10460591316223145, "stderr": [""], "stdout": "projection=1\nzone=50\nn=3100030\ns=2990100\nw=199960\ne=309790\nnsres=10\newres=10\nrows=10993\ncols=10983\ncells=120736119\n"}, {"executable": "r.mask", "parameter": ["vector=S2A_MSIL1C_20161206T030112_N0204_R032_T50RKR_20161206T030749"], "return_code": 0, "run_time": 7.36047887802124, "stderr": ["Reading areas...", "0..100", "Writing raster map...", "0..3..6..9..12..15..18..21..24..27..30..33..36..39..42..45..48..51..54..57..60..63..66..69..72..75..78..81..84..87..90..93..96..99..100", "Reading areas...", "0..100", "Writing raster map...", "0..3..6..9..12..15..18..21..24..27..30..33..36..39..42..45..48..51..54..57..60..63..66..69..72..75..78..81..84..87..90..93..96..99..100", "All subsequent raster operations will be limited to the MASK area. Removing or renaming raster map named 'MASK' will restore raster operations to normal.", ""], "stdout": ""}, {"executable": "r.mapcalc", "parameter": ["expression=S2A_MSIL1C_20161206T030112_N0204_R032_T50RKR_20161206T030749_B08 = float(S2A_MSIL1C_20161206T030112_N0204_R032_T50RKR_20161206T030749_B08_uncropped)"], "return_code": 0, "run_time": 10.695591926574707, "stderr": [""], "stdout": ""}, {"executable": "r.timestamp", "parameter": ["map=S2A_MSIL1C_20161206T030112_N0204_R032_T50RKR_20161206T030749_B08", "date=06 dec 2016 03:07:49"], "return_code": 0, "run_time": 0.053069353103637695, "stderr": [""], "stdout": ""}, {"executable": "g.remove", "parameter": ["type=raster", "name=S2A_MSIL1C_20161206T030112_N0204_R032_T50RKR_20161206T030749_B08_uncropped", "-f"], "return_code": 0, "run_time": 0.050362348556518555, "stderr": ["Removing raster <S2A_MSIL1C_20161206T030112_N0204_R032_T50RKR_20161206T030749_B08_uncropped>", ""], "stdout": ""}, {"executable": "r.mask", "parameter": ["-r"], "return_code": 0, "run_time": 0.10059237480163574, "stderr": ["Raster MASK removed", ""], "stdout": ""}, {"executable": "/usr/bin/gdal_translate", "parameter": ["-projwin", "113.949663", "28.011816", "115.082607", "27.001706", "-of", "vrt", "-projwin_srs", "EPSG:4326", "/actinia/workspace/download_cache/superadmin/S2A_MSIL1C_20161206T030112_N0204_R032_T50RKR_20161206T030749_B04", "/actinia/workspace/download_cache/superadmin/S2A_MSIL1C_20161206T030112_N0204_R032_T50RKR_20161206T030749_B04.vrt"], "return_code": 0, "run_time": 0.05096769332885742, "stderr": ["Warning 1: Computed -srcwin 5 -225 10971 11419 falls partially outside raster extent. Going on however.", ""], "stdout": "Input file size is 10980, 10980\n"}, {"executable": "r.import", "parameter": ["input=/actinia/workspace/download_cache/superadmin/S2A_MSIL1C_20161206T030112_N0204_R032_T50RKR_20161206T030749_B04.vrt", "output=S2A_MSIL1C_20161206T030112_N0204_R032_T50RKR_20161206T030749_B04_uncropped", "--q"], "return_code": 0, "run_time": 16.76022958755493, "stderr": [""], "stdout": ""}, {"executable": "g.region", "parameter": ["align=S2A_MSIL1C_20161206T030112_N0204_R032_T50RKR_20161206T030749_B04_uncropped", "vector=S2A_MSIL1C_20161206T030112_N0204_R032_T50RKR_20161206T030749", "-g"], "return_code": 0, "run_time": 0.0505826473236084, "stderr": [""], "stdout": "projection=1\nzone=50\nn=3100030\ns=2990100\nw=199960\ne=309790\nnsres=10\newres=10\nrows=10993\ncols=10983\ncells=120736119\n"}, {"executable": "r.mask", "parameter": ["vector=S2A_MSIL1C_20161206T030112_N0204_R032_T50RKR_20161206T030749"], "return_code": 0, "run_time": 6.779608249664307, "stderr": ["Reading areas...", "0..100", "Writing raster map...", "0..3..6..9..12..15..18..21..24..27..30..33..36..39..42..45..48..51..54..57..60..63..66..69..72..75..78..81..84..87..90..93..96..99..100", "Reading areas...", "0..100", "Writing raster map...", "0..3..6..9..12..15..18..21..24..27..30..33..36..39..42..45..48..51..54..57..60..63..66..69..72..75..78..81..84..87..90..93..96..99..100", "All subsequent raster operations will be limited to the MASK area. Removing or renaming raster map named 'MASK' will restore raster operations to normal.", ""], "stdout": ""}, {"executable": "r.mapcalc", "parameter": ["expression=S2A_MSIL1C_20161206T030112_N0204_R032_T50RKR_20161206T030749_B04 = float(S2A_MSIL1C_20161206T030112_N0204_R032_T50RKR_20161206T030749_B04_uncropped)"], "return_code": 0, "run_time": 10.141529321670532, "stderr": [""], "stdout": ""}, {"executable": "r.timestamp", "parameter": ["map=S2A_MSIL1C_20161206T030112_N0204_R032_T50RKR_20161206T030749_B04", "date=06 dec 2016 03:07:49"], "return_code": 0, "run_time": 0.05050253868103027, "stderr": [""], "stdout": ""}, {"executable": "g.remove", "parameter": ["type=raster", "name=S2A_MSIL1C_20161206T030112_N0204_R032_T50RKR_20161206T030749_B04_uncropped", "-f"], "return_code": 0, "run_time": 0.05098080635070801, "stderr": ["Removing raster <S2A_MSIL1C_20161206T030112_N0204_R032_T50RKR_20161206T030749_B04_uncropped>", ""], "stdout": ""}, {"executable": "r.mask", "parameter": ["-r"], "return_code": 0, "run_time": 0.10424232482910156, "stderr": ["Raster MASK removed", ""], "stdout": ""}, {"executable": "r.mapcalc", "parameter": ["expression=ndvi = (float(S2A_MSIL1C_20161206T030112_N0204_R032_T50RKR_20161206T030749_B08) - float(S2A_MSIL1C_20161206T030112_N0204_R032_T50RKR_20161206T030749_B04))/(float(S2A_MSIL1C_20161206T030112_N0204_R032_T50RKR_20161206T030749_B08) + float(S2A_MSIL1C_20161206T030112_N0204_R032_T50RKR_20161206T030749_B04))"], "return_code": 0, "run_time": 20.28681755065918, "stderr": [""], "stdout": ""}, {"executable": "r.colors", "parameter": ["color=ndvi", "map=ndvi"], "return_code": 0, "run_time": 0.05031251907348633, "stderr": ["Color table for raster map <ndvi> set to 'ndvi'", ""], "stdout": ""}, {"executable": "r.univar", "parameter": ["map=ndvi", "output=/actinia/workspace/temp_db/gisdbase_103a050c380e4f50b36efd3f77bd1419/.tmp/tmp7il3n0jk.univar", "-g"], "return_code": 0, "run_time": 4.54892897605896, "stderr": [""], "stdout": ""}, {"executable": "d.rast", "parameter": ["map=ndvi"], "return_code": 0, "run_time": 2.0198700428009033, "stderr": ["0..3..6..9..12..15..18..21..24..27..30..33..36..39..42..45..48..51..54..57..60..63..66..69..72..75..78..81..84..87..90..93..96..99..100", ""], "stdout": ""}, {"executable": "d.legend", "parameter": ["raster=ndvi", "at=8,92,0,7", "-n"], "return_code": 0, "run_time": 0.4614551067352295, "stderr": [""], "stdout": ""}, {"executable": "d.barscale", "parameter": ["style=line", "at=20,4"], "return_code": 0, "run_time": 0.416748046875, "stderr": [""], "stdout": ""}, {"executable": "g.region", "parameter": ["raster=ndvi", "-g"], "return_code": 0, "run_time": 0.051720619201660156, "stderr": [""], "stdout": "projection=1\nzone=50\nn=3100030\ns=2990100\nw=199960\ne=309790\nnsres=10\newres=10\nrows=10993\ncols=10983\ncells=120736119\n"}, {"executable": "r.out.gdal", "parameter": ["-fm", "input=ndvi", "format=GTiff", "createopt=COMPRESS=LZW", "output=/actinia/workspace/temp_db/gisdbase_103a050c380e4f50b36efd3f77bd1419/.tmp/ndvi.tiff"], "return_code": 0, "run_time": 12.550397157669067, "stderr": ["Checking GDAL data type and nodata value...", "2..5..8..11..14..17..20..23..26..29..32..35..38..41..44..47..50..53..56..59..62..65..68..71..74..77..80..83..86..89..92..95..98..100", "Using GDAL data type <Float32>", "Input raster map contains cells with NULL-value (no-data). The value -nan will be used to represent no-data values in the input map. You can specify a nodata value with the nodata option.", "Exporting raster data to GTiff format...", "ERROR 6: SetColorTable() only supported for Byte or UInt16 bands in TIFF format.", "2..5..8..11..14..17..20..23..26..29..32..35..38..41..44..47..50..53..56..59..62..65..68..71..74..77..80..83..86..89..92..95..98..100", "r.out.gdal complete. File </actinia/workspace/temp_db/gisdbase_103a050c380e4f50b36efd3f77bd1419/.tmp/ndvi.tiff> created.", ""], "stdout": ""}], "process_results": [{"cells": 120736119.0, "coeff_var": 39.2111992829072, "max": 0.80298912525177, "mean": 0.345280366103636, "mean_of_abs": 0.347984182813063, "min": -0.96863466501236, "n": 120371030.0, "name": "ndvi", "null_cells": 365089.0, "range": 1.77162379026413, "stddev": 0.135388572437648, "sum": 41561753.3066718, "variance": 0.0183300655467043}], "progress": {"num_of_steps": 33, "step": 32}, "resource_id": "resource_id-6b849585-576f-40b5-a514-34a7cf1f97ce", "status": "finished", "time_delta": 207.813636302948, "timestamp": 1527683351.8002071, "urls": {"resources": ["http://localhost:8080/api/v3/resource/superadmin/resource_id-6b849585-576f-40b5-a514-34a7cf1f97ce/tmpsaeegg0q.png", "http://localhost:8080/api/v3/resource/superadmin/resource_id-6b849585-576f-40b5-a514-34a7cf1f97ce/ndvi.tiff"], "status": "http://localhost:8080/api/v3/resources/superadmin/resource_id-6b849585-576f-40b5-a514-34a7cf1f97ce"}, "user_id": "superadmin"}, "description": "The response of the Sentinel2A vegetation index computation"}, "Sentinel2ASceneListModel": {"type": "object", "properties": {"bands": {"type": "array", "items": {"type": "string"}, "description": "A list of band names that should be downloaded and imported for each Sentinel-2 scene.Available are the following band names: \"B01\", \"B02\", \"B03\", \"B04\", \"B05\", \"B06\", \"B07\", \"B08\", \"B8A\", \"B09\" \"B10\", \"B11\", \"B12\""}, "strds": {"type": "array", "items": {"type": "string"}, "description": "The names of the new space-time raster datasets, one for each band"}, "product_ids": {"type": "array", "items": {"type": "string"}, "description": "A list of Sentinel-2 scene names that should be downloaded and imported"}}, "example": {"bands": ["B04", "B08"], "strds": ["Sentinel_B04", "Sentinel_b08"], "product_ids": ["S2A_MSIL1C_20170212T104141_N0204_R008_T31TGJ_20170212T104138", "S2A_MSIL1C_20170227T095021_N0204_R079_T34TBM_20170227T095613", "S2A_MSIL1C_20170202T104241_N0204_R008_T32UNE_20170202T104236"]}, "required": ["bands", "strds", "product_ids"], "description": "This schema defines the JSON input of the sentinel time series creator"}, "Sentinel2ASceneList": {"type": "object", "properties": {"tiles": {"type": "array", "items": {"$ref": "#/definitions/Sentinel2ASceneEntry"}, "description": "A list of sentinel2A scenes"}}, "example": [{"product_id": "S2A_MSIL1C_20170202T090201_N0204_R007_T36TVT_20170202T090155", "tiles": [{"B04": {"file_name": "S2A_OPER_PRD_MSIL1C_PDMC_20151207T031157_R102_V20151207T003302_20151207T003302_tile_14_band_B04.jp2", "map_name": "S2A_OPER_PRD_MSIL1C_PDMC_20151207T031157_R102_V20151207T003302_20151207T003302_tile_14_band_B04", "public_url": "http://sentinel-s2-l1c.s3.amazonaws.com/tiles/57/V/XE/2015/12/7/0/B04.jp2"}, "B08": {"file_name": "S2A_OPER_PRD_MSIL1C_PDMC_20151207T031157_R102_V20151207T003302_20151207T003302_tile_14_band_B08.jp2", "map_name": "S2A_OPER_PRD_MSIL1C_PDMC_20151207T031157_R102_V20151207T003302_20151207T003302_tile_14_band_B08", "public_url": "http://sentinel-s2-l1c.s3.amazonaws.com/tiles/57/V/XE/2015/12/7/0/B08.jp2"}, "info": "http://sentinel-s2-l1c.s3.amazonaws.com/tiles/57/V/XE/2015/12/7/0/tileInfo.json", "metadata": "http://sentinel-s2-l1c.s3.amazonaws.com/tiles/57/V/XE/2015/12/7/0/metadata.xml", "preview": "http://sentinel-s2-l1c.s3.amazonaws.com/tiles/57/V/XE/2015/12/7/0/preview.jpg", "timestamp": "2015-12-07T00:33:02.634Z", "url": "http://sentinel-s2-l1c.s3-website.eu-central-1.amazonaws.com/#tiles/57/V/XE/2015/12/7/0/"}]}]}, "Sentinel2ASceneEntry": {"type": "object", "properties": {"product_id": {"type": "string", "description": "The id of the Sentinel2A scene"}, "tiles": {"type": "array", "items": {"$ref": "#/definitions/Sentinel2ATileEntry"}, "description": "A list of sentinel2A scenes"}}, "required": ["product_id", "tiles"], "example": {"product_id": "S2A_MSIL1C_20170202T090201_N0204_R007_T36TVT_20170202T090155", "tiles": [{"B04": {"file_name": "S2A_OPER_PRD_MSIL1C_PDMC_20151207T031157_R102_V20151207T003302_20151207T003302_tile_14_band_B04.jp2", "map_name": "S2A_OPER_PRD_MSIL1C_PDMC_20151207T031157_R102_V20151207T003302_20151207T003302_tile_14_band_B04", "public_url": "http://sentinel-s2-l1c.s3.amazonaws.com/tiles/57/V/XE/2015/12/7/0/B04.jp2"}, "B08": {"file_name": "S2A_OPER_PRD_MSIL1C_PDMC_20151207T031157_R102_V20151207T003302_20151207T003302_tile_14_band_B08.jp2", "map_name": "S2A_OPER_PRD_MSIL1C_PDMC_20151207T031157_R102_V20151207T003302_20151207T003302_tile_14_band_B08", "public_url": "http://sentinel-s2-l1c.s3.amazonaws.com/tiles/57/V/XE/2015/12/7/0/B08.jp2"}, "info": "http://sentinel-s2-l1c.s3.amazonaws.com/tiles/57/V/XE/2015/12/7/0/tileInfo.json", "metadata": "http://sentinel-s2-l1c.s3.amazonaws.com/tiles/57/V/XE/2015/12/7/0/metadata.xml", "preview": "http://sentinel-s2-l1c.s3.amazonaws.com/tiles/57/V/XE/2015/12/7/0/preview.jpg", "timestamp": "2015-12-07T00:33:02.634Z", "url": "http://sentinel-s2-l1c.s3-website.eu-central-1.amazonaws.com/#tiles/57/V/XE/2015/12/7/0/"}]}}, "Sentinel2ATileEntry": {"type": "object", "properties": {"B01": {"$ref": "#/definitions/BandInformationEntry"}, "B02": {"$ref": "#/definitions/BandInformationEntry"}, "B03": {"$ref": "#/definitions/BandInformationEntry"}, "B04": {"$ref": "#/definitions/BandInformationEntry"}, "B05": {"$ref": "#/definitions/BandInformationEntry"}, "B06": {"$ref": "#/definitions/BandInformationEntry"}, "B07": {"$ref": "#/definitions/BandInformationEntry"}, "B08": {"$ref": "#/definitions/BandInformationEntry"}, "B09": {"$ref": "#/definitions/BandInformationEntry"}, "B10": {"$ref": "#/definitions/BandInformationEntry"}, "B11": {"$ref": "#/definitions/BandInformationEntry"}, "B12": {"$ref": "#/definitions/BandInformationEntry"}, "info": {"type": "string", "description": "The url to Sentinel2A scene information"}, "metadata": {"type": "string", "description": "The url to Sentinel2A scene XML metadata"}, "preview": {"type": "string", "description": "The url to Sentinel2A scene preview image"}, "url": {"type": "string", "description": "The url to Sentinel2A scene root directory that contains all informations about the scene"}, "timestamp": {"type": "string", "description": "The sensing time of the scene", "format": "dateTime"}}, "required": ["info", "metadata", "preview", "url", "timestamp"], "example": {"B04": {"file_name": "S2A_OPER_PRD_MSIL1C_PDMC_20151207T031157_R102_V20151207T003302_20151207T003302_tile_14_band_B04.jp2", "map_name": "S2A_OPER_PRD_MSIL1C_PDMC_20151207T031157_R102_V20151207T003302_20151207T003302_tile_14_band_B04", "public_url": "http://sentinel-s2-l1c.s3.amazonaws.com/tiles/57/V/XE/2015/12/7/0/B04.jp2"}, "B08": {"file_name": "S2A_OPER_PRD_MSIL1C_PDMC_20151207T031157_R102_V20151207T003302_20151207T003302_tile_14_band_B08.jp2", "map_name": "S2A_OPER_PRD_MSIL1C_PDMC_20151207T031157_R102_V20151207T003302_20151207T003302_tile_14_band_B08", "public_url": "http://sentinel-s2-l1c.s3.amazonaws.com/tiles/57/V/XE/2015/12/7/0/B08.jp2"}, "info": "http://sentinel-s2-l1c.s3.amazonaws.com/tiles/57/V/XE/2015/12/7/0/tileInfo.json", "metadata": "http://sentinel-s2-l1c.s3.amazonaws.com/tiles/57/V/XE/2015/12/7/0/metadata.xml", "preview": "http://sentinel-s2-l1c.s3.amazonaws.com/tiles/57/V/XE/2015/12/7/0/preview.jpg", "timestamp": "2015-12-07T00:33:02.634Z", "url": "http://sentinel-s2-l1c.s3-website.eu-central-1.amazonaws.com/#tiles/57/V/XE/2015/12/7/0/"}}, "BandInformationEntry": {"type": "object", "properties": {"file_name": {"type": "string", "description": "The suggested file name of this band from the requested satellite scene"}, "map_name": {"type": "string", "description": "The suggested GRASS GIS raster map name of this band from the requested satellite scene"}, "public_url": {"type": "string", "description": "The download URl of the band from requested satellite scene"}}, "required": ["public_url", "map_name", "file_name"], "example": {"file_name": "S2A_MSIL1C_20170202T090201_N0204_R007_T36TVT_20170202T090155_tile_1_band_B04.jp2", "map_name": "S2A_MSIL1C_20170202T090201_N0204_R007_T36TVT_20170202T090155_tile_1_band_B04", "public_url": "http://sentinel-s2-l1c.s3.amazonaws.com/tiles/36/T/VT/2017/2/2/0/B04.jp2"}}, "LandsatSceneListModel": {"type": "object", "properties": {"atcor_method": {"description": "The method for atmospheric correction", "type": "string", "enum": ["TOAR", "DOS1", "DOS4"]}, "strds": {"type": "string", "description": "The basename of the new space-time raster datasets (strds). One for each band will be created and the basename will be extended by a band specific suffix."}, "scene_ids": {"type": "array", "items": {"type": "string"}, "description": "A list of Landsat scene names that should be downloaded and imported. Only scenes from a specific satelleite can be imported and represented as strds. Mixing of different satellites is not permitted. All bands will be imported and atmospherically corrected"}}, "example": {"strds": "Landsat_4", "atcor_method": "TOAR", "scene_ids": ["LT41970251990147XXX00", "LT41970251990147XXX01", "LT41970251990147XXX02", "LT41970251990147XXX03"]}, "required": ["strds", "scene_ids", "atcor_method"], "description": "This schema defines the JSON input of the Landsat time series creator"}, "RasterAreaUnivarStatsResponseModel": {"type": "object", "properties": {"status": {"type": "string", "description": "The status of the response"}, "user_id": {"type": "string", "description": "The id of the user that issued a request"}, "resource_id": {"type": "string", "description": "The unique resource id"}, "queue": {"type": "string", "description": "The name of the queue in which the job is queued"}, "process_log": {"type": "array", "items": {"$ref": "#/definitions/ProcessLogModel"}, "description": "A list of ProcessLogModels"}, "process_chain_list": {"type": "array", "items": {"$ref": "#/definitions/GrassModule"}, "description": "The list of GRASS modules that were used in the processing"}, "process_results": {"type": "array", "items": {"$ref": "#/definitions/AreaUnivarResultModel"}}, "progress": {"$ref": "#/definitions/ProgressInfoModel"}, "message": {"type": "string", "description": "Message for the user, maybe status, finished or error message"}, "exception": {"$ref": "#/definitions/ExceptionTracebackModel"}, "accept_timestamp": {"type": "number", "format": "double", "description": "The acceptance timestamp in seconds of the response"}, "accept_datetime": {"type": "string", "description": "The acceptance timestamp of the response in human readable format"}, "timestamp": {"type": "number", "format": "double", "description": "The current timestamp in seconds of the response"}, "time_delta": {"type": "number", "format": "double", "description": "The time delta of the processing in seconds"}, "datetime": {"type": "string", "description": "The current timestamp of the response in human readable format"}, "start_timestamp": {"type": "number", "format": "double", "description": "The processing start time in seconds of the response"}, "start_datetime": {"type": "string", "description": "The processing start timestamp of the response in human readable format"}, "process_time_delta": {"type": "number", "format": "double", "description": "The time delta of the processing in seconds"}, "http_code": {"type": "number", "format": "int32", "description": "The HTTP code of the response"}, "urls": {"$ref": "#/definitions/UrlModel"}, "api_info": {"$ref": "#/definitions/ApiInfoModel"}}, "required": ["status", "user_id", "resource_id", "timestamp", "datetime", "accept_timestamp", "accept_datetime", "message"], "example": {"accept_datetime": "2022-07-31 17:08:36.534924", "accept_timestamp": 1659287316.5349228, "api_info": {"endpoint": "syncephemeralstrdsareastatsunivarresource", "method": "POST", "path": "/api/v3/projects/nc_spm_08/mapsets/modis_lst/strds/LST_Day_monthly/timestamp/2016-01-01T00:00:00/area_stats_univar_sync", "request_url": "http://localhost:8088/api/v3/projects/nc_spm_08/mapsets/modis_lst/strds/LST_Day_monthly/timestamp/2016-01-01T00:00:00/area_stats_univar_sync"}, "datetime": "2022-07-31 17:08:42.056326", "http_code": 200, "message": "Processing successfully finished", "process_chain_list": [{"list": [{"id": "v_import_1", "inputs": [{"param": "input", "value": "/tmp/gisdbase_a9254feb879d4381bbcffb2a1f08a67c/.tmp/tmptsev20y3"}], "module": "v.import", "outputs": [{"param": "output", "value": "polygon"}], "superquiet": true}, {"id": "t_create_2", "inputs": [{"param": "type", "value": "stvds"}, {"param": "temporaltype", "value": "absolute"}, {"param": "semantictype", "value": "mean"}, {"param": "title", "value": "Polygon"}, {"param": "description", "value": "Polygon"}], "module": "t.create", "outputs": [{"param": "output", "value": "polygon_stvds"}], "superquiet": true}, {"flags": "i", "id": "t_register_3", "inputs": [{"param": "type", "value": "vector"}, {"param": "input", "value": "polygon_stvds"}, {"param": "maps", "value": "polygon"}, {"param": "start", "value": "2016-01-01T00:00:00"}, {"param": "increment", "value": "1 second"}], "module": "t.register", "superquiet": true}, {"id": "t_sample_4", "inputs": [{"param": "sample", "value": "polygon_stvds"}, {"param": "samtype", "value": "stvds"}, {"param": "intype", "value": "strds"}, {"param": "inputs", "value": "LST_Day_monthly@modis_lst"}], "module": "t.sample", "superquiet": true}], "version": "1"}, {"list": [{"id": "g_region_5", "inputs": [{"param": "vector", "value": "polygon"}], "module": "g.region", "superquiet": true}, {"id": "v_rast_stats_6", "inputs": [{"param": "map", "value": "polygon"}, {"param": "method", "value": "number,minimum,maximum,range,average,median,stddev,sum,variance,coeff_var"}, {"param": "raster", "value": "MOD11B3.A2016001.h11v05.single_LST_Day_6km@modis_lst"}, {"param": "column_prefix", "value": "raster"}], "module": "v.rast.stats", "superquiet": true}, {"id": "v_db_select_7", "inputs": [{"param": "map", "value": "polygon"}], "module": "v.db.select", "outputs": [{"param": "file", "value": "/tmp/gisdbase_a9254feb879d4381bbcffb2a1f08a67c/.tmp/tmp19gkkrii"}], "superquiet": true}], "version": "1"}], "process_log": [{"executable": "v.import", "id": "v_import_1", "mapset_size": 16040, "parameter": ["input=/tmp/gisdbase_a9254feb879d4381bbcffb2a1f08a67c/.tmp/tmptsev20y3", "output=polygon", "--qq"], "return_code": 0, "run_time": 0.3008089065551758, "stderr": [""], "stdout": ""}, {"executable": "t.create", "id": "t_create_2", "mapset_size": 495359, "parameter": ["type=stvds", "temporaltype=absolute", "semantictype=mean", "title=Polygon", "description=Polygon", "output=polygon_stvds", "--qq"], "return_code": 0, "run_time": 0.6529664993286133, "stderr": ["WARNING: Temporal database connection defined as:", "/tmp/gisdbase_a9254feb879d4381bbcffb2a1f08a67c/nc_spm_08/mapset_a9254feb879d4381bbcffb2a1f08a67c/tgis/sqlite.db", "But database file does not exist.", ""], "stdout": ""}, {"executable": "t.register", "id": "t_register_3", "mapset_size": 495401, "parameter": ["type=vector", "input=polygon_stvds", "maps=polygon", "start=2016-01-01T00:00:00", "increment=1 second", "-i", "--qq"], "return_code": 0, "run_time": 0.6026990413665771, "stderr": [""], "stdout": ""}, {"executable": "t.sample", "id": "t_sample_4", "mapset_size": 495401, "parameter": ["sample=polygon_stvds", "samtype=stvds", "intype=strds", "inputs=LST_Day_monthly@modis_lst", "--qq"], "return_code": 0, "run_time": 0.652012825012207, "stderr": [""], "stdout": "polygon@mapset_a9254feb879d4381bbcffb2a1f08a67c|MOD11B3.A2016001.h11v05.single_LST_Day_6km@modis_lst|2016-01-01 00:00:00|2016-01-01 00:00:01|1.1574074074074073e-05|0.0\n"}, {"executable": "g.region", "id": "g_region_5", "mapset_size": 495437, "parameter": ["vector=polygon", "--qq"], "return_code": 0, "run_time": 0.10033965110778809, "stderr": [""], "stdout": ""}, {"executable": "v.rast.stats", "id": "v_rast_stats_6", "mapset_size": 496399, "parameter": ["map=polygon", "method=number,minimum,maximum,range,average,median,stddev,sum,variance,coeff_var", "raster=MOD11B3.A2016001.h11v05.single_LST_Day_6km@modis_lst", "column_prefix=raster", "--qq"], "return_code": 0, "run_time": 1.9554402828216553, "stderr": [""], "stdout": ""}, {"executable": "v.db.select", "id": "v_db_select_7", "mapset_size": 496399, "parameter": ["map=polygon", "file=/tmp/gisdbase_a9254feb879d4381bbcffb2a1f08a67c/.tmp/tmp19gkkrii", "--qq"], "return_code": 0, "run_time": 0.1003561019897461, "stderr": [""], "stdout": ""}], "process_results": [{"cat": "1", "fid": "test", "raster_average": 13868.2019230769, "raster_coeff_var": 1.04355110326768, "raster_maximum": 14170.0, "raster_median": 13824.0, "raster_minimum": 13649.0, "raster_number": 104.0, "raster_range": 521.0, "raster_stddev": 144.721774171659, "raster_sum": 1442293.0, "raster_variance": 20944.3919193928}], "progress": {"num_of_steps": 7, "step": 7}, "resource_id": "resource_id-a314816e-bc38-4c58-8601-78fe20c9aea6", "status": "finished", "time_delta": 5.521468162536621, "timestamp": 1659287322.056266, "urls": {"resources": [], "status": "http://localhost:8088/api/v3/resources/actinia-gdi/resource_id-a314816e-bc38-4c58-8601-78fe20c9aea6"}, "user_id": "actinia-gdi"}, "description": "Response schema for resources that generate area univariate result lists"}, "AreaUnivarResultModel": {"type": "object", "properties": {"fid": {"type": "string", "description": "Field id from the polygon of the vector map layer used for area stats computation"}, "cat": {"type": "string", "description": "The category id from the polygon of the vector map layer used for area stats computation"}, "raster_number": {"type": "number", "format": "double"}, "raster_minimum": {"type": "number", "format": "double"}, "raster_maximum": {"type": "number", "format": "double"}, "raster_range": {"type": "number", "format": "double"}, "raster_average": {"type": "number", "format": "double"}, "raster_median": {"type": "number", "format": "double"}, "raster_stddev": {"type": "number", "format": "double"}, "raster_sum": {"type": "number", "format": "double"}, "raster_variance": {"type": "number", "format": "double"}, "raster_coeff_var": {"type": "number", "format": "double"}}, "example": {"cat": "1", "fid": "swwake_10m.0", "raster_average": 4.27381481481481, "raster_coeff_var": 36.2154244540989, "raster_maximum": 6.0, "raster_median": 5.0, "raster_minimum": 1.0, "raster_number": 2025000.0, "raster_range": 5.0, "raster_stddev": 1.54778017556735, "raster_sum": 8654475.0, "raster_variance": 2.39562347187929}, "description": "Response schema for the result of univariate computations of raster layers"}, "RasterAreaStatsResponseModel": {"type": "object", "properties": {"status": {"type": "string", "description": "The status of the response"}, "user_id": {"type": "string", "description": "The id of the user that issued a request"}, "resource_id": {"type": "string", "description": "The unique resource id"}, "queue": {"type": "string", "description": "The name of the queue in which the job is queued"}, "process_log": {"type": "array", "items": {"$ref": "#/definitions/ProcessLogModel"}, "description": "A list of ProcessLogModels"}, "process_chain_list": {"type": "array", "items": {"$ref": "#/definitions/GrassModule"}, "description": "The list of GRASS modules that were used in the processing"}, "process_results": {"type": "array", "items": {"$ref": "#/definitions/CategoricalStatisticsResultModel"}}, "progress": {"$ref": "#/definitions/ProgressInfoModel"}, "message": {"type": "string", "description": "Message for the user, maybe status, finished or error message"}, "exception": {"$ref": "#/definitions/ExceptionTracebackModel"}, "accept_timestamp": {"type": "number", "format": "double", "description": "The acceptance timestamp in seconds of the response"}, "accept_datetime": {"type": "string", "description": "The acceptance timestamp of the response in human readable format"}, "timestamp": {"type": "number", "format": "double", "description": "The current timestamp in seconds of the response"}, "time_delta": {"type": "number", "format": "double", "description": "The time delta of the processing in seconds"}, "datetime": {"type": "string", "description": "The current timestamp of the response in human readable format"}, "start_timestamp": {"type": "number", "format": "double", "description": "The processing start time in seconds of the response"}, "start_datetime": {"type": "string", "description": "The processing start timestamp of the response in human readable format"}, "process_time_delta": {"type": "number", "format": "double", "description": "The time delta of the processing in seconds"}, "http_code": {"type": "number", "format": "int32", "description": "The HTTP code of the response"}, "urls": {"$ref": "#/definitions/UrlModel"}, "api_info": {"$ref": "#/definitions/ApiInfoModel"}}, "required": ["status", "user_id", "resource_id", "timestamp", "datetime", "accept_timestamp", "accept_datetime", "message"], "example": {"accept_datetime": "2022-07-31 16:57:18.978035", "accept_timestamp": 1659286638.9780345, "api_info": {"endpoint": "syncephemeralrasterareastatsresource", "method": "POST", "path": "/api/v3/projects/nc_spm_08/mapsets/PERMANENT/raster_layers/landuse96_28m/area_stats_sync", "request_url": "http://localhost:8088/api/v3/projects/nc_spm_08/mapsets/PERMANENT/raster_layers/landuse96_28m/area_stats_sync"}, "datetime": "2022-07-31 16:57:21.441611", "http_code": 200, "message": "Processing successfully finished", "process_chain_list": [{"list": [{"id": "v_import_1", "inputs": [{"param": "input", "value": "/tmp/gisdbase_f74f788c0834401d990582fbafc3eb1f/.tmp/tmpjh3rr_ra"}], "module": "v.import", "outputs": [{"param": "output", "value": "polygon"}], "superquiet": true}], "version": "1"}, {"list": [{"flags": "p", "id": "g_region_2", "inputs": [{"param": "vector", "value": "polygon"}, {"param": "align", "value": "landuse96_28m@PERMANENT"}], "module": "g.region", "superquiet": true}, {"id": "r_mask_3", "inputs": [{"param": "vector", "value": "polygon"}], "module": "r.mask", "superquiet": true}, {"flags": "acpl", "id": "r_stats_4", "inputs": [{"param": "input", "value": "landuse96_28m@PERMANENT"}, {"param": "separator", "value": "|"}], "module": "r.stats", "outputs": [{"param": "output", "value": "/tmp/gisdbase_f74f788c0834401d990582fbafc3eb1f/.tmp/tmp8wtkfuox"}], "superquiet": true}], "version": "1"}], "process_log": [{"executable": "v.import", "id": "v_import_1", "mapset_size": 15979, "parameter": ["input=/tmp/gisdbase_f74f788c0834401d990582fbafc3eb1f/.tmp/tmpjh3rr_ra", "output=polygon", "--qq"], "return_code": 0, "run_time": 0.3008110523223877, "stderr": [""], "stdout": ""}, {"executable": "g.region", "id": "g_region_2", "mapset_size": 16025, "parameter": ["vector=polygon", "align=landuse96_28m@PERMANENT", "-p", "--qq"], "return_code": 0, "run_time": 0.10030579566955566, "stderr": [""], "stdout": "projection: 99 (NAD83(HARN) / North Carolina)\nzone:       0\ndatum:      nad83harn\nellipsoid:  grs80\nnorth:      647021.25\nsouth:      64994.25\nwest:       329989\neast:       337000\nnsres:      28.5\newres:      28.5\nrows:       20422\ncols:       246\ncells:      5023812\n"}, {"executable": "r.mask", "id": "r_mask_3", "mapset_size": 956099, "parameter": ["vector=polygon", "--qq"], "return_code": 0, "run_time": 0.952303409576416, "stderr": [""], "stdout": ""}, {"executable": "r.stats", "id": "r_stats_4", "mapset_size": 956099, "parameter": ["input=landuse96_28m@PERMANENT", "separator=|", "output=/tmp/gisdbase_f74f788c0834401d990582fbafc3eb1f/.tmp/tmp8wtkfuox", "-acpl", "--qq"], "return_code": 0, "run_time": 0.501760721206665, "stderr": [""], "stdout": ""}], "process_results": [{"area": 4080591297.0, "cat": "*", "cell_count": 5023812, "name": "no data", "percent": 100.0}], "progress": {"num_of_steps": 4, "step": 4}, "resource_id": "resource_id-67fab95f-2782-41c8-9b89-b767f67a9df9", "status": "finished", "time_delta": 2.4635958671569824, "timestamp": 1659286641.4415936, "urls": {"resources": [], "status": "http://localhost:8088/api/v3/resources/actinia-gdi/resource_id-67fab95f-2782-41c8-9b89-b767f67a9df9"}, "user_id": "actinia-gdi"}, "description": "Response schema for a list of categorical statistics."}, "CategoricalStatisticsResultModel": {"type": "object", "required": ["cat", "name", "area", "cell_count", "percent"], "properties": {"cat": {"type": "string", "description": "The raster category"}, "name": {"type": "string", "description": "The name of raster category"}, "area": {"type": "number", "format": "double", "description": "The size of the area in square meters"}, "cell_count": {"type": "number", "format": "double", "description": "The number of cells that have the raster category"}, "percent": {"type": "number", "format": "double", "description": "The percentage of the area"}}, "example": {"area": 812.25, "cat": "0", "cell_count": 1, "name": "not classified", "percent": 0.0}, "description": "Response schema for the result of r.stats computations of raster layers."}, "PointListModel": {"type": "object", "properties": {"points": {"type": "array", "items": {"type": "array", "items": {"type": "string", "maxItems": 3, "minItems": 3}}, "description": "A list of coordinate points with unique ids [(id, x, y), (id, x, y), (id, x, y)]"}}, "example": {"points": [["a", "1", "1"], ["b", "2", "2"], ["c", "3", "3"]]}, "required": ["points"], "description": "This schema defines the JSON input of the vector sampling resource"}, "STRDSSampleResponseModel": {"type": "object", "properties": {"status": {"type": "string", "description": "The status of the response"}, "user_id": {"type": "string", "description": "The id of the user that issued a request"}, "resource_id": {"type": "string", "description": "The unique resource id"}, "queue": {"type": "string", "description": "The name of the queue in which the job is queued"}, "process_log": {"type": "array", "items": {"$ref": "#/definitions/ProcessLogModel"}, "description": "A list of ProcessLogModels"}, "process_chain_list": {"type": "array", "items": {"$ref": "#/definitions/GrassModule"}, "description": "The list of GRASS modules that were used in the processing"}, "process_results": {"type": "array", "items": {"type": "array", "items": {"type": "string", "minItems": 3}}}, "progress": {"$ref": "#/definitions/ProgressInfoModel"}, "message": {"type": "string", "description": "Message for the user, maybe status, finished or error message"}, "exception": {"$ref": "#/definitions/ExceptionTracebackModel"}, "accept_timestamp": {"type": "number", "format": "double", "description": "The acceptance timestamp in seconds of the response"}, "accept_datetime": {"type": "string", "description": "The acceptance timestamp of the response in human readable format"}, "timestamp": {"type": "number", "format": "double", "description": "The current timestamp in seconds of the response"}, "time_delta": {"type": "number", "format": "double", "description": "The time delta of the processing in seconds"}, "datetime": {"type": "string", "description": "The current timestamp of the response in human readable format"}, "start_timestamp": {"type": "number", "format": "double", "description": "The processing start time in seconds of the response"}, "start_datetime": {"type": "string", "description": "The processing start timestamp of the response in human readable format"}, "process_time_delta": {"type": "number", "format": "double", "description": "The time delta of the processing in seconds"}, "http_code": {"type": "number", "format": "int32", "description": "The HTTP code of the response"}, "urls": {"$ref": "#/definitions/UrlModel"}, "api_info": {"$ref": "#/definitions/ApiInfoModel"}}, "required": ["status", "user_id", "resource_id", "timestamp", "datetime", "accept_timestamp", "accept_datetime", "message"], "example": {"accept_datetime": "2017-05-11 10:09:47.237997", "accept_timestamp": 1494490187.237996, "api_info": {"endpoint": "syncephemeralstrdssamplingresource", "method": "POST", "path": "/projects/ECAD/mapsets/PERMANENT/strds/temperature_mean_1950_2013_yearly_celsius/sampling_sync", "request_url": "http://localhost/projects/ECAD/mapsets/PERMANENT/strds/temperature_mean_1950_2013_yearly_celsius/sampling_sync"}, "datetime": "2017-05-11 10:09:48.376521", "http_code": 200, "message": "Processing successfully finished", "process_log": [{"executable": "v.in.ascii", "parameter": ["column=id text, x double precision, y double precision", "input=/tmp/tmpOlouNV", "y=3", "x=2", "format=point", "output=input_points"], "return_code": 0, "stderr": ["Scanning input for column types...", "Number of columns: 3", "Number of rows: 3", "Importing points...", "0..33..66..100", "Populating table...", "Building topology for vector map <input_points@mapset_ffb3520846104a42878271a83117a93f>...", "Registering primitives...", "", "3 primitives registered", "3 vertices registered", "Building areas...", "0..33..66..100", "0 areas built", "0 isles built", "Attaching islands...", "Attaching centroids...", "33..66..100", "Number of nodes: 0", "Number of primitives: 3", "Number of points: 3", "Number of lines: 0", "Number of boundaries: 0", "Number of centroids: 0", "Number of areas: 0", "Number of isles: 0", ""], "stdout": ""}, {"executable": "t.rast.sample", "parameter": ["column=id", "points=input_points", "where=start_time >'2010-01-01'", "strds=temperature_mean_1950_2013_yearly_celsius@PERMANENT", "output=/tmp/tmpgU9ITw", "-rn", "--o", "--v"], "return_code": 0, "stderr": ["Sample map <temperature_mean_yearly_celsius_60> number  1 out of 3", "Sample map <temperature_mean_yearly_celsius_61> number  2 out of 3", "Sample map <temperature_mean_yearly_celsius_62> number  3 out of 3", ""], "stdout": ""}], "process_results": [["start_time", "end_time", "a", "b", "c"], ["2010-01-01 00:00:00", "2011-01-01 00:00:00", "16.5293979135", "7.50153213006", "7.67950249616"], ["2011-01-01 00:00:00", "2012-01-01 00:00:00", "17.3258000667", "9.35620500512", "8.37665885817"], ["2012-01-01 00:00:00", "2013-01-01 00:00:00", "16.5512179273", "8.8377879125", "7.87268863552"]], "progress": {"num_of_steps": 2, "step": 2}, "resource_id": "resource_id-96554e63-3dad-4a16-8652-e7c6be734057", "status": "finished", "timestamp": 1494490188.376519, "urls": {"resources": [], "status": "http://localhost/status/admin/resource_id-96554e63-3dad-4a16-8652-e7c6be734057"}, "user_id": "admin"}, "description": "Response schema for a STRDS sampling result."}, "STRDSSampleGeoJSONResponseModel": {"type": "object", "properties": {"status": {"type": "string", "description": "The status of the response"}, "user_id": {"type": "string", "description": "The id of the user that issued a request"}, "resource_id": {"type": "string", "description": "The unique resource id"}, "queue": {"type": "string", "description": "The name of the queue in which the job is queued"}, "process_log": {"type": "array", "items": {"$ref": "#/definitions/ProcessLogModel"}, "description": "A list of ProcessLogModels"}, "process_chain_list": {"type": "array", "items": {"$ref": "#/definitions/GrassModule"}, "description": "The list of GRASS modules that were used in the processing"}, "process_results": {"type": "array", "items": {"type": "array", "items": {"type": "string", "minItems": 3}}}, "progress": {"$ref": "#/definitions/ProgressInfoModel"}, "message": {"type": "string", "description": "Message for the user, maybe status, finished or error message"}, "exception": {"$ref": "#/definitions/ExceptionTracebackModel"}, "accept_timestamp": {"type": "number", "format": "double", "description": "The acceptance timestamp in seconds of the response"}, "accept_datetime": {"type": "string", "description": "The acceptance timestamp of the response in human readable format"}, "timestamp": {"type": "number", "format": "double", "description": "The current timestamp in seconds of the response"}, "time_delta": {"type": "number", "format": "double", "description": "The time delta of the processing in seconds"}, "datetime": {"type": "string", "description": "The current timestamp of the response in human readable format"}, "start_timestamp": {"type": "number", "format": "double", "description": "The processing start time in seconds of the response"}, "start_datetime": {"type": "string", "description": "The processing start timestamp of the response in human readable format"}, "process_time_delta": {"type": "number", "format": "double", "description": "The time delta of the processing in seconds"}, "http_code": {"type": "number", "format": "int32", "description": "The HTTP code of the response"}, "urls": {"$ref": "#/definitions/UrlModel"}, "api_info": {"$ref": "#/definitions/ApiInfoModel"}}, "required": ["status", "user_id", "resource_id", "timestamp", "datetime", "accept_timestamp", "accept_datetime", "message"], "example": {"accept_datetime": "2017-09-04 19:41:41.456341", "accept_timestamp": 1504546901.456339, "api_info": {"endpoint": "syncephemeralstrdssamplinggeojsonresource", "method": "POST", "path": "/api/v3/projects/ECAD/mapsets/PERMANENT/strds/temperature_mean_1950_2013_yearly_celsius/sampling_sync_geojson", "request_url": "http://localhost/api/v3/projects/ECAD/mapsets/PERMANENT/strds/temperature_mean_1950_2013_yearly_celsius/sampling_sync_geojson"}, "datetime": "2017-09-04 19:41:42.622865", "http_code": 200, "message": "Processing successfully finished", "process_log": [{"executable": "v.import", "parameter": ["input=/tmp/gisdbase_3e090bec1a744be78743668a573cbf5b/.tmp/tmpk6Le10", "output=input_points"], "return_code": 0, "run_time": 0.25067806243896484, "stderr": ["Check if OGR layer <OGRGeoJSON> contains polygons...", "0..33..66..100", "Column name <cat> renamed to <cat_>", "Importing 3 features (OGR layer <OGRGeoJSON>)...", "0..33..66..100", "-----------------------------------------------------", "Building topology for vector map <input_points@mapset_3e090bec1a744be78743668a573cbf5b>...", "Registering primitives...", "", "3 primitives registered", "3 vertices registered", "Building areas...", "0..33..66..100", "0 areas built", "0 isles built", "Attaching islands...", "Attaching centroids...", "33..66..100", "Number of nodes: 0", "Number of primitives: 3", "Number of points: 3", "Number of lines: 0", "Number of boundaries: 0", "Number of centroids: 0", "Number of areas: 0", "Number of isles: 0", "Input </tmp/gisdbase_3e090bec1a744be78743668a573cbf5b/.tmp/tmpk6Le10> successfully imported without reprojection", ""], "stdout": ""}, {"executable": "t.rast.sample", "parameter": ["points=input_points", "strds=temperature_mean_1950_2013_yearly_celsius@PERMANENT", "output=/tmp/gisdbase_3e090bec1a744be78743668a573cbf5b/.tmp/tmp3ilr28", "-rn", "--o", "--v"], "return_code": 0, "run_time": 0.5513670444488525, "stderr": ["Default TGIS driver / database set to:", "driver: sqlite", "database: $GISDBASE/$LOCATION_NAME/$MAPSET/tgis/sqlite.db", "WARNING: Temporal database connection defined as:", "/tmp/gisdbase_3e090bec1a744be78743668a573cbf5b/ECAD/mapset_3e090bec1a744be78743668a573cbf5b/tgis/sqlite.db", "But database file does not exist.", "Creating temporal database: /tmp/gisdbase_3e090bec1a744be78743668a573cbf5b/ECAD/mapset_3e090bec1a744be78743668a573cbf5b/tgis/sqlite.db", "Sample map <temperature_mean_yearly_celsius_0> number  1 out of 63", "Sample map <temperature_mean_yearly_celsius_62> number  63 out of 63", ""], "stdout": ""}], "process_results": [["start_time", "end_time", "1", "2", "3"], ["1950-01-01 00:00:00", "1951-01-01 00:00:00", "16.4121888761", "8.17818215566", "7.17657693292"], ["2012-01-01 00:00:00", "2013-01-01 00:00:00", "16.5512179273", "8.8377879125", "7.87268863552"]], "progress": {"num_of_steps": 2, "step": 2}, "resource_id": "resource_id-6ee74d8c-1ef6-4b01-a098-2bc04bcb75c8", "status": "finished", "time_delta": 1.1665611267089844, "timestamp": 1504546902.622857, "urls": {"resources": [], "status": "http://localhost/api/v3/status/admin/resource_id-6ee74d8c-1ef6-4b01-a098-2bc04bcb75c8"}, "user_id": "admin"}, "description": "The response content that is returned by the POST request"}, "RasterSamplingResponseModel": {"type": "object", "properties": {"status": {"type": "string", "description": "The status of the response"}, "user_id": {"type": "string", "description": "The id of the user that issued a request"}, "resource_id": {"type": "string", "description": "The unique resource id"}, "queue": {"type": "string", "description": "The name of the queue in which the job is queued"}, "process_log": {"type": "array", "items": {"$ref": "#/definitions/ProcessLogModel"}, "description": "A list of ProcessLogModels"}, "process_chain_list": {"type": "array", "items": {"$ref": "#/definitions/GrassModule"}, "description": "The list of GRASS modules that were used in the processing"}, "process_results": {"type": "array", "items": {"type": "array", "items": {"type": "string", "minItems": 3}}}, "progress": {"$ref": "#/definitions/ProgressInfoModel"}, "message": {"type": "string", "description": "Message for the user, maybe status, finished or error message"}, "exception": {"$ref": "#/definitions/ExceptionTracebackModel"}, "accept_timestamp": {"type": "number", "format": "double", "description": "The acceptance timestamp in seconds of the response"}, "accept_datetime": {"type": "string", "description": "The acceptance timestamp of the response in human readable format"}, "timestamp": {"type": "number", "format": "double", "description": "The current timestamp in seconds of the response"}, "time_delta": {"type": "number", "format": "double", "description": "The time delta of the processing in seconds"}, "datetime": {"type": "string", "description": "The current timestamp of the response in human readable format"}, "start_timestamp": {"type": "number", "format": "double", "description": "The processing start time in seconds of the response"}, "start_datetime": {"type": "string", "description": "The processing start timestamp of the response in human readable format"}, "process_time_delta": {"type": "number", "format": "double", "description": "The time delta of the processing in seconds"}, "http_code": {"type": "number", "format": "int32", "description": "The HTTP code of the response"}, "urls": {"$ref": "#/definitions/UrlModel"}, "api_info": {"$ref": "#/definitions/ApiInfoModel"}}, "required": ["status", "user_id", "resource_id", "timestamp", "datetime", "accept_timestamp", "accept_datetime", "message"], "example": {"accept_datetime": "2022-03-17 12:29:27.718749", "accept_timestamp": 1647520167.718739, "api_info": {"endpoint": "syncephemeralrastersamplingresource", "method": "POST", "path": "/api/v3/projects/nc_spm_08/mapsets/PERMANENT/raster_layers/landuse96_28m/sampling_sync", "request_url": "http://localhost/api/v3/projects/nc_spm_08/mapsets/PERMANENT/raster_layers/landuse96_28m/sampling_sync"}, "datetime": "2022-03-17 12:29:28.431388", "http_code": 200, "message": "Processing successfully finished", "process_chain_list": [{"list": [{"id": "v_in_ascii", "inputs": [{"param": "input", "value": "/tmp/gisdbase_3ef25f3f447844f2aaea07b4a34a2107/.tmp/tmpnk7lt8rx"}, {"param": "format", "value": "point"}, {"param": "column", "value": "id text, x double precision, y double precision"}, {"param": "x", "value": "2"}, {"param": "y", "value": "3"}], "module": "v.in.ascii", "outputs": [{"param": "output", "value": "input_points"}]}, {"flags": "p", "id": "g_region", "inputs": [{"param": "vector", "value": "input_points"}, {"param": "align", "value": "landuse96_28m@PERMANENT"}], "module": "g.region"}, {"flags": "nrf", "id": "r_what", "inputs": [{"param": "map", "value": "landuse96_28m@PERMANENT"}, {"param": "points", "value": "input_points"}], "module": "r.what", "outputs": [{"param": "output", "value": "/tmp/gisdbase_3ef25f3f447844f2aaea07b4a34a2107/.tmp/tmp0ktsyzl6"}], "overwrite": true, "superquiet": true}], "version": "1"}], "process_log": [{"executable": "v.in.ascii", "id": "v_in_ascii", "mapset_size": 15753, "parameter": ["input=/tmp/gisdbase_3ef25f3f447844f2aaea07b4a34a2107/.tmp/tmpnk7lt8rx", "format=point", "column=id text, x double precision, y double precision", "x=2", "y=3", "output=input_points"], "return_code": 0, "run_time": 0.10030794143676758, "stderr": ["Scanning input for column types...", "Number of columns: 3", "Number of data rows: 2", "Importing points...", "0..50..100", "Populating table...", "Building topology for vector map <input_points@mapset_3ef25f3f447844f2aaea07b4a34a2107>...", "Registering primitives...", "", ""], "stdout": ""}, {"executable": "g.region", "id": "g_region", "mapset_size": 15761, "parameter": ["vector=input_points", "align=landuse96_28m@PERMANENT", "-p"], "return_code": 0, "run_time": 0.10032916069030762, "stderr": [""], "stdout": "projection: 99 (Lambert Conformal Conic)\nzone:       0\ndatum:      nad83\nellipsoid:  a=6378137 es=0.006694380022900787\nnorth:      226389.75\nsouth:      220205.25\nwest:       635651.5\neast:       638701\nnsres:      28.5\newres:      28.5\nrows:       217\ncols:       107\ncells:      23219\n"}, {"executable": "r.what", "id": "r_what", "mapset_size": 15761, "parameter": ["map=landuse96_28m@PERMANENT", "points=input_points", "output=/tmp/gisdbase_3ef25f3f447844f2aaea07b4a34a2107/.tmp/tmp0ktsyzl6", "-nrf", "--o", "--qq"], "return_code": 0, "run_time": 0.1003561019897461, "stderr": [""], "stdout": ""}], "process_results": [{"p1": {"color": "229:229:204", "easting": "638684", "label": "Managed Herbaceous Cover", "map_name": "landuse96_28m", "northing": "220210", "value": "4"}}, {"p2": {"color": "255:000:000", "easting": "635676", "label": "High Intensity Developed", "map_name": "landuse96_28m", "northing": "226371", "value": "1"}}], "progress": {"num_of_steps": 3, "step": 3}, "resource_id": "resource_id-14d1b433-f875-4ffd-a42a-27449d76341a", "status": "finished", "time_delta": 0.7126758098602295, "timestamp": 1647520168.431363, "urls": {"resources": [], "status": "http://localhost/api/v3/resources/actinia-gdi/resource_id-14d1b433-f875-4ffd-a42a-27449d76341a"}, "user_id": "actinia-gdi"}, "description": "Response schema for a raster map sampling result."}, "VectorSamplingResponseModel": {"type": "object", "properties": {"status": {"type": "string", "description": "The status of the response"}, "user_id": {"type": "string", "description": "The id of the user that issued a request"}, "resource_id": {"type": "string", "description": "The unique resource id"}, "queue": {"type": "string", "description": "The name of the queue in which the job is queued"}, "process_log": {"type": "array", "items": {"$ref": "#/definitions/ProcessLogModel"}, "description": "A list of ProcessLogModels"}, "process_chain_list": {"type": "array", "items": {"$ref": "#/definitions/GrassModule"}, "description": "The list of GRASS modules that were used in the processing"}, "process_results": {"type": "array", "items": {"type": "array", "items": {"type": "string", "minItems": 3}}}, "progress": {"$ref": "#/definitions/ProgressInfoModel"}, "message": {"type": "string", "description": "Message for the user, maybe status, finished or error message"}, "exception": {"$ref": "#/definitions/ExceptionTracebackModel"}, "accept_timestamp": {"type": "number", "format": "double", "description": "The acceptance timestamp in seconds of the response"}, "accept_datetime": {"type": "string", "description": "The acceptance timestamp of the response in human readable format"}, "timestamp": {"type": "number", "format": "double", "description": "The current timestamp in seconds of the response"}, "time_delta": {"type": "number", "format": "double", "description": "The time delta of the processing in seconds"}, "datetime": {"type": "string", "description": "The current timestamp of the response in human readable format"}, "start_timestamp": {"type": "number", "format": "double", "description": "The processing start time in seconds of the response"}, "start_datetime": {"type": "string", "description": "The processing start timestamp of the response in human readable format"}, "process_time_delta": {"type": "number", "format": "double", "description": "The time delta of the processing in seconds"}, "http_code": {"type": "number", "format": "int32", "description": "The HTTP code of the response"}, "urls": {"$ref": "#/definitions/UrlModel"}, "api_info": {"$ref": "#/definitions/ApiInfoModel"}}, "required": ["status", "user_id", "resource_id", "timestamp", "datetime", "accept_timestamp", "accept_datetime", "message"], "example": {"accept_datetime": "2022-03-17 13:41:43.981103", "accept_timestamp": 1647524503.9810963, "api_info": {"endpoint": "syncephemeralvectorsamplingresource", "method": "POST", "path": "/api/v3/projects/nc_spm_08/mapsets/PERMANENT/vector_layers/zipcodes_wake/sampling_sync", "request_url": "http://localhost/api/v3//projects/nc_spm_08/mapsets/PERMANENT/vector_layers/zipcodes_wake/sampling_sync"}, "datetime": "2022-03-17 13:41:44.467395", "http_code": 200, "message": "Processing successfully finished", "process_chain_list": [{"list": [{"flags": "p", "id": "g_region", "inputs": [{"param": "vector", "value": "zipcodes_wake@PERMANENT"}], "module": "g.region"}, {"flags": "ag", "id": "v_what", "inputs": [{"param": "map", "value": "zipcodes_wake@PERMANENT"}, {"param": "coordinates", "value": "638684.0,220210.0,635676.0,226371.0"}], "module": "v.what", "stdout": {"delimiter": "|", "format": "list", "id": "info"}}], "version": "1"}], "process_log": [{"executable": "g.region", "id": "g_region", "mapset_size": 485, "parameter": ["vector=zipcodes_wake@PERMANENT", "-p"], "return_code": 0, "run_time": 0.10039043426513672, "stderr": [""], "stdout": "projection: 99 (Lambert Conformal Conic)\nzone:       0\ndatum:      nad83\nellipsoid:  a=6378137 es=0.006694380022900787\nnorth:      258102.57214598\nsouth:      196327.52090104\nwest:       610047.86645109\neast:       677060.680666\nnsres:      498.18589714\newres:      500.09562847\nrows:       124\ncols:       134\ncells:      16616\n"}, {"executable": "v.what", "id": "v_what", "mapset_size": 485, "parameter": ["map=zipcodes_wake@PERMANENT", "coordinates=638684.0,220210.0,635676.0,226371.0", "-ag"], "return_code": 0, "run_time": 0.10032153129577637, "stderr": [""], "stdout": "East=638684\nNorth=220210\n\nMap=zipcodes_wake\nMapset=PERMANENT\nType=Area\nSq_Meters=130875884.223\nHectares=13087.588\nAcres=32340.135\nSq_Miles=50.5315\nLayer=1\nCategory=40\nDriver=sqlite\nDatabase=/actinia_core/workspace/temp_db/gisdbase_5ce6c4cf9b8f47628f816e89b7767819/nc_spm_08/PERMANENT/sqlite/sqlite.db\nTable=zipcodes_wake\nKey_column=cat\ncat=40\nOBJECTID=286\nWAKE_ZIPCO=1285870010.66\nPERIMETER=282815.79339\nZIPCODE_=37\nZIPCODE_ID=66\nZIPNAME=RALEIGH\nZIPNUM=27603\nZIPCODE=RALEIGH_27603\nNAME=RALEIGH\nSHAPE_Leng=285693.495599\nSHAPE_Area=1408742751.36\nEast=635676\nNorth=226371\n\nMap=zipcodes_wake\nMapset=PERMANENT\nType=Area\nSq_Meters=63169356.527\nHectares=6316.936\nAcres=15609.488\nSq_Miles=24.3898\nLayer=1\nCategory=42\nDriver=sqlite\nDatabase=/actinia_core/workspace/temp_db/gisdbase_5ce6c4cf9b8f47628f816e89b7767819/nc_spm_08/PERMANENT/sqlite/sqlite.db\nTable=zipcodes_wake\nKey_column=cat\ncat=42\nOBJECTID=298\nWAKE_ZIPCO=829874917.625\nPERIMETER=230773.26059\nZIPCODE_=39\nZIPCODE_ID=2\nZIPNAME=RALEIGH\nZIPNUM=27606\nZIPCODE=RALEIGH_27606\nNAME=RALEIGH\nSHAPE_Leng=212707.32257\nSHAPE_Area=679989401.948\n"}], "process_results": [{"p1": {"Acres": "32340.135", "Category": "40", "Database": "/tmp/gisdbase_5ce6c4cf9b8f47628f816e89b7767819/nc_spm_08/PERMANENT/sqlite/sqlite.db", "Driver": "sqlite", "East": "638684", "Hectares": "13087.588", "Key_column": "cat", "Layer": "1", "Map": "zipcodes_wake", "Mapset": "PERMANENT", "NAME": "RALEIGH", "North": "220210", "OBJECTID": "286", "PERIMETER": "282815.79339", "SHAPE_Area": "1408742751.36", "SHAPE_Leng": "285693.495599", "Sq_Meters": "130875884.223", "Sq_Miles": "50.5315", "Table": "zipcodes_wake", "Type": "Area", "WAKE_ZIPCO": "1285870010.66", "ZIPCODE": "RALEIGH_27603", "ZIPCODE_": "37", "ZIPCODE_ID": "66", "ZIPNAME": "RALEIGH", "ZIPNUM": "27603", "cat": "40"}}, {"p2": {"Acres": "15609.488", "Category": "42", "Database": "/tmp/gisdbase_5ce6c4cf9b8f47628f816e89b7767819/nc_spm_08/PERMANENT/sqlite/sqlite.db", "Driver": "sqlite", "East": "635676", "Hectares": "6316.936", "Key_column": "cat", "Layer": "1", "Map": "zipcodes_wake", "Mapset": "PERMANENT", "NAME": "RALEIGH", "North": "226371", "OBJECTID": "298", "PERIMETER": "230773.26059", "SHAPE_Area": "679989401.948", "SHAPE_Leng": "212707.32257", "Sq_Meters": "63169356.527", "Sq_Miles": "24.3898", "Table": "zipcodes_wake", "Type": "Area", "WAKE_ZIPCO": "829874917.625", "ZIPCODE": "RALEIGH_27606", "ZIPCODE_": "39", "ZIPCODE_ID": "2", "ZIPNAME": "RALEIGH", "ZIPNUM": "27606", "cat": "42"}}], "progress": {"num_of_steps": 2, "step": 2}, "resource_id": "resource_id-6527a077-a74d-4195-a44c-90a75692bd22", "status": "finished", "time_delta": 0.4863121509552002, "timestamp": 1647524504.4673853, "urls": {"resources": [], "status": "http://localhost/api/v3//resources/actinia-gdi/resource_id-6527a077-a74d-4195-a44c-90a75692bd22"}, "user_id": "actinia-gdi"}, "description": "Response schema for a vector map sampling result."}}, "securityDefinitions": {"basicAuth": {"type": "basic"}}, "security": [{"basicAuth": []}]}
