Actinia API Reference

================================

Actinia - The GRASS GIS REST API

Actinia is an open source REST API for scalable, distributed, high performance processing of geographical data that uses GRASS GIS for computational tasks.

It provides a REST API to process satellite images, time series of satellite images, arbitrary raster data with geographical relations and vector data.

The REST interface allows to access, manage and manipulate the GRASS GIS database via HTTP GET,PUT,POST and DELETE requests and to process raster, vector and time series data located in a persistent GRASS GIS database. Actinia allows the processing of cloud based data, for example all Landsat 4-8 scenes as well as all Sentinel2A scenes in an ephemeral databases. The computational results of ephemeral processing are available via object storage as GeoTIFF files.

The full API documentation is available here: https://actinia.mundialis.de/api_docs/

Examples:

Data management

  • List all locations that are available in the actinia persistent database:

      curl -X GET "https://actinia.mundialis.de/api/v1/locations" -H  "authorization: Basic ..."
    
  • List all mapsets in the location LL:

      curl -X GET "https://actinia.mundialis.de/api/v1/locations/LL/mapsets" -H  "authorization: Basic ..."
    
  • List all space-time raster datasets (STRDS) in location LL and mapset Sentinel_timeseries:

      curl -X GET "https://actinia.mundialis.de/api/v1/locations/LL/mapsets/Sentinel_timeseries/strds" -H  "authorization: Basic ..."
    
  • List all raster map layers of the STRDS:

      curl -X GET "https://actinia.mundialis.de/api/v1/locations/LL/mapsets/Sentinel_timeseries/strds/S2A_B04/raster_layers" -H  "authorization: Basic ..."
    

Landsat and Sentinel2A NDVI computation

This API call will compute the NDVI of the top of athmosphere (TOAR) corrected Landsat4 scene LC80440342016259LGN00:

curl -X POST "https://actinia.mundialis.de/api/v1/landsat_process/LC80440342016259LGN00/TOAR/NDVI" -H  "authorization: Basic ..."

NDVI computation of Sentinel2A scene S2A_MSIL1C_20170212T104141_N0204_R008_T31TGJ_20170212T104138:

curl -X POST "https://actinia.mundialis.de/api/v1/sentinel2_process/ndvi/S2A_MSIL1C_20170212T104141_N0204_R008_T31TGJ_20170212T104138" -H  "authorization: Basic ..."

The results of the asynchronous computations are available as GeoTIFF file in a cloud storage for download.

Request Content-Types: application/gml+xml, application/json
Schemes: https
Version: v1

Authentication

basicAuth

type
basic

Authentication Management

Create an API key for permanent authentication.

GET /api_key

Create an API key for permanent authentication. API keys have no expiration time. Minimum required user role: admin.

The API key generation response

400 Bad Request

The error message in case of failure

Response Example (200 OK)
{
  "status": "string",
  "token": "string",
  "message": "string"
}
Response Example (400 Bad Request)
{
  "status": "string",
  "token": "string",
  "message": "string"
}

Create an authentication token.

GET /token

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.

expiration_time
in query
integer 86400

The expiration time in seconds for the generated token

The token generation response

400 Bad Request

The error message in case of failure

Response Example (200 OK)
{
  "status": "string",
  "token": "string",
  "message": "string"
}
Response Example (400 Bad Request)
{
  "status": "string",
  "token": "string",
  "message": "string"
}

API Log

Get a list of all API calls that have been called by the provided user.

GET /api_log/{user_id}

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.

user_id
in path
string

The unique user name/id

Returned a list of all API calls that have been called by the provided user.

400 Bad Request

The error message why API log gathering did not succeeded

Response Example (200 OK)
{
  "api_log_list": [
    {
      "time_stamp": "string",
      "node": "string",
      "endpoint": "string",
      "method": "string",
      "path": "string",
      "url": "string",
      "request_str": "string"
    }
  ]
}
Response Example (400 Bad Request)
{
  "status": "string",
  "message": "string"
}

Cache Management

Clean the download cache and remove all cached data

DELETE /download_cache

Clean the download cache and remove all cached data. Minimum required user role: admin.

Processing status of cache deletion

400 Bad Request

The error message why cache cleaning did not succeeded

Response Example (200 OK)
{
  "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"
}
Response Example (400 Bad Request)
{
  "accept_datetime": "2017-05-24 22:37:21.607255",
  "accept_timestamp": 1495658241.607252,
  "api_info": {
    "endpoint": "asyncephemeralresource",
    "method": "POST",
    "path": "/locations/nc_spm_08/processing_async",
    "request_url": "http://localhost/api/v1/locations/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/v1/resources/admin/resource_id-2be8cafe-b451-46a0-be15-f61d95c5efa1"
  },
  "user_id": "admin"
}

Get the current size of the download cache

GET /download_cache

Get the current size of the download cache. Minimum required user role: admin.

The current state of the download cache

400 Bad Request

The error message why cache information gathering did not succeeded

Response Example (200 OK)
{
  "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"
}
Response Example (400 Bad Request)
{
  "accept_datetime": "2017-05-24 22:37:21.607255",
  "accept_timestamp": 1495658241.607252,
  "api_info": {
    "endpoint": "asyncephemeralresource",
    "method": "POST",
    "path": "/locations/nc_spm_08/processing_async",
    "request_url": "http://localhost/api/v1/locations/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/v1/resources/admin/resource_id-2be8cafe-b451-46a0-be15-f61d95c5efa1"
  },
  "user_id": "admin"
}

Satellite Image Algorithms

Vegetation index computation from an atmospherically corrected Landsat scene.

POST /landsat_process/{landsat_id}/{atcor_method}/{processing_method}

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.

landsat_id
in path
string LT41970251990147XXX03

The id of a Landsat scene only with sensors: LT04, LT05, LE07, LC08

atcor_method
in path
string TOAR, DOS1, DOS4 DOS4

The method for atmospheric correction

processing_method
in path
string NDVI, ARVI, DVI, EVI, EVI2, GVI, GARI, GEMI, IPVI, PVI, SR, VARI, WDVI NDVI

The method that should be used to compute the vegetation index

This response includes all created resources as URL as well as the processing log and other metadata.

The error message and a detailed log why NDVI processing of a Landsat scene did not succeeded

Response Example (200 OK)
{
  "accept_datetime": "2018-05-30 11:16:03.033305",
  "accept_timestamp": 1527678963.033304,
  "api_info": {
    "endpoint": "asyncephemerallandsatprocessingresource",
    "method": "POST",
    "path": "/api/v1/landsat_process/LC80440342016259LGN00/TOAR/NDVI",
    "request_url": "http://localhost:5000/api/v1/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": "python2",
      "parameter": [
        "/usr/local/bin/grass75",
        "-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 location/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,
      "coeff_var": 125.4796560716,
      "max": 1.31488464218245,
      "mean": 0.215349514428788,
      "mean_of_abs": 0.272685223860196,
      "min": -1.35084534300324,
      "n": 41612094,
      "name": "LC80440342016259LGN00_TOAR_NDVI",
      "null_cells": 18306087,
      "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/v1/resource/superadmin/resource_id-6282c634-42e1-417c-a092-c9b21c3283cc/tmp80apvh0h.png",
      "http://localhost:5000/api/v1/resource/superadmin/resource_id-6282c634-42e1-417c-a092-c9b21c3283cc/LC80440342016259LGN00_TOAR_NDVI.tiff"
    ],
    "status": "http://localhost:5000/api/v1/resources/superadmin/resource_id-6282c634-42e1-417c-a092-c9b21c3283cc"
  },
  "user_id": "superadmin"
}
Response Example (400 Bad Request)
{
  "accept_datetime": "2018-05-06 22:02:14.323815",
  "accept_timestamp": 1525636934.3238132,
  "api_info": {
    "endpoint": "mapsetmanagementresourceuser",
    "method": "GET",
    "path": "/locations/nc_spm_08/mapsets/PERMANE/info",
    "request_url": "http://localhost/api/v1/locations/nc_spm_08/mapsets/PERMANE/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\n    raise AsyncProcessError(\"Error while running executable <%s>\" % process.executable)\n"
    ],
    "type": "<class 'actinia_core.resources.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/v1/resources/user/resource_id-79608249-521c-4a98-9e1f-9201f693870b"
  },
  "user_id": "user"
}

Query the Google Landsat archives using time interval, lat/lon coordinates, scene id, spacecraft id and cloud cover.

GET /landsat_query

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.

scene_id
in query
string

The scene id of the landsat scenes that should be searched

spacecraft_id
in query
string LANDSAT_4, LANDSAT_5, LANDSAT_7, LANDSAT_8

The spacecraft id of the landsat scenes that should be searched

start_time
in query
string (dateTime)

The start time of the search interval

end_time
in query
string (dateTime)

The end time of the search interval

lon
in query
number (double)

The longitude coordinate with which the scenes should intersect

lat
in query
number (double)

The latitude coordinate with which the scenes should intersect

cloud_covert
in query
number (double)

Cloud cover between 0 - 100

A list of satellite scenes that fit the search

400 Bad Request

The error message if the search did not succeeded

Response Example (200 OK)
[
  {
    "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
  }
]
Response Example (400 Bad Request)
{
  "status": "string",
  "message": "string"
}

Download and import Landsat scenes into a new mapset and create a space time dataset for each imported band.

POST /locations/{location_name}/mapsets/{mapset_name}/landsat_import

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 location name is part of the path and must exist. The mapset will be created while importing and should not already exist in the location. 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 location/mapset, after the download and import finished. Minimum required user role: user.

The list of Landsat scenes, the band names and the target STRDS names

location_name
in path
string

The location name to import the Landsat scenes in

mapset_name
in path
string

The name of the mapset to import the Landsat scenes in

Request Content-Types: application/json
Request Example
{
  "strds": "Landsat_4",
  "atcor_method": "TOAR",
  "scene_ids": [
    "LT41970251990147XXX00",
    "LT41970251990147XXX01",
    "LT41970251990147XXX02",
    "LT41970251990147XXX03"
  ]
}

The result of the Landsat time series import

The error message and a detailed log why Landsat time series import did not succeeded

Response Example (200 OK)
{
  "accept_datetime": "2017-05-24 22:37:21.607255",
  "accept_timestamp": 1495658241.607252,
  "api_info": {
    "endpoint": "asyncephemeralresource",
    "method": "POST",
    "path": "/locations/nc_spm_08/processing_async",
    "request_url": "http://localhost/api/v1/locations/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/v1/resources/admin/resource_id-2be8cafe-b451-46a0-be15-f61d95c5efa1"
  },
  "user_id": "admin"
}
Response Example (400 Bad Request)
{
  "accept_datetime": "2018-05-06 22:02:14.323815",
  "accept_timestamp": 1525636934.3238132,
  "api_info": {
    "endpoint": "mapsetmanagementresourceuser",
    "method": "GET",
    "path": "/locations/nc_spm_08/mapsets/PERMANE/info",
    "request_url": "http://localhost/api/v1/locations/nc_spm_08/mapsets/PERMANE/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\n    raise AsyncProcessError(\"Error while running executable <%s>\" % process.executable)\n"
    ],
    "type": "<class 'actinia_core.resources.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/v1/resources/user/resource_id-79608249-521c-4a98-9e1f-9201f693870b"
  },
  "user_id": "user"
}

Download and import Sentinel2A scenes into a new mapset and create a space-time raster dataset for each imported band.

POST /locations/{location_name}/mapsets/{mapset_name}/sentinel2_import

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 location name is part of the path and must exist. The mapset will be created while importing and should not already exist in the location. The names of theSentinel 2A 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 location/mapset, after the download and import finished. Minimum required user role: user.

The list of Sentinel 2A scenes, the band names and the target STRDS names

location_name
in path
string

The location name to import the Sentinel2A scenes in

mapset_name
in path
string

The name of the mapset to import the Sentinel2A scenes in

Request Content-Types: application/json
Request Example
{
  "bands": [
    "B04",
    "B08"
  ],
  "product_ids": [
    "S2A_MSIL1C_20170212T104141_N0204_R008_T31TGJ_20170212T104138",
    "S2A_MSIL1C_20170227T095021_N0204_R079_T34TBM_20170227T095613",
    "S2A_MSIL1C_20170202T104241_N0204_R008_T32UNE_20170202T104236"
  ]
}

The result of the Sentinel 2A time series import

The error message and a detailed log why Sentinel 2A time series import did not succeeded

Response Example (200 OK)
{
  "accept_datetime": "2017-05-24 22:37:21.607255",
  "accept_timestamp": 1495658241.607252,
  "api_info": {
    "endpoint": "asyncephemeralresource",
    "method": "POST",
    "path": "/locations/nc_spm_08/processing_async",
    "request_url": "http://localhost/api/v1/locations/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/v1/resources/admin/resource_id-2be8cafe-b451-46a0-be15-f61d95c5efa1"
  },
  "user_id": "admin"
}
Response Example (400 Bad Request)
{
  "accept_datetime": "2018-05-06 22:02:14.323815",
  "accept_timestamp": 1525636934.3238132,
  "api_info": {
    "endpoint": "mapsetmanagementresourceuser",
    "method": "GET",
    "path": "/locations/nc_spm_08/mapsets/PERMANE/info",
    "request_url": "http://localhost/api/v1/locations/nc_spm_08/mapsets/PERMANE/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\n    raise AsyncProcessError(\"Error while running executable <%s>\" % process.executable)\n"
    ],
    "type": "<class 'actinia_core.resources.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/v1/resources/user/resource_id-79608249-521c-4a98-9e1f-9201f693870b"
  },
  "user_id": "user"
}

NDVI computation of an arbitrary Sentinel 2A scene.

POST /sentinel2_process/ndvi/{product_id}

NDVI computation of an arbitrary Sentinel 2A scene.The processing is as follows: A user specific Sentinel 2A 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.

product_id
in path
string S2A_MSIL1C_20170212T104141_N0204_R008_T31TGJ_20170212T104138

The product id of a sentinel scene

This response includes all created resources as URL as well as the processing log and other metadata.

The error message and a detailed log why NDVI processing of a sentinel2 scene did not succeeded

Response Example (200 OK)
{
  "accept_datetime": "2018-05-30 12:25:43.987713",
  "accept_timestamp": 1527683143.9877105,
  "api_info": {
    "endpoint": "asyncephemeralsentinel2processingresource",
    "method": "POST",
    "path": "/api/v1/sentinel2_process/ndvi/S2A_MSIL1C_20161206T030112_N0204_R032_T50RKR_20161206T030749",
    "request_url": "http://localhost:8080/api/v1/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": "python2",
      "parameter": [
        "/usr/local/bin/grass75",
        "-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 location/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 location.",
        "",
        "Location 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,
      "coeff_var": 39.2111992829072,
      "max": 0.80298912525177,
      "mean": 0.345280366103636,
      "mean_of_abs": 0.347984182813063,
      "min": -0.96863466501236,
      "n": 120371030,
      "name": "ndvi",
      "null_cells": 365089,
      "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/v1/resource/superadmin/resource_id-6b849585-576f-40b5-a514-34a7cf1f97ce/tmpsaeegg0q.png",
      "http://localhost:8080/api/v1/resource/superadmin/resource_id-6b849585-576f-40b5-a514-34a7cf1f97ce/ndvi.tiff"
    ],
    "status": "http://localhost:8080/api/v1/resources/superadmin/resource_id-6b849585-576f-40b5-a514-34a7cf1f97ce"
  },
  "user_id": "superadmin"
}
Response Example (400 Bad Request)
{
  "accept_datetime": "2018-05-06 22:02:14.323815",
  "accept_timestamp": 1525636934.3238132,
  "api_info": {
    "endpoint": "mapsetmanagementresourceuser",
    "method": "GET",
    "path": "/locations/nc_spm_08/mapsets/PERMANE/info",
    "request_url": "http://localhost/api/v1/locations/nc_spm_08/mapsets/PERMANE/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\n    raise AsyncProcessError(\"Error while running executable <%s>\" % process.executable)\n"
    ],
    "type": "<class 'actinia_core.resources.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/v1/resources/user/resource_id-79608249-521c-4a98-9e1f-9201f693870b"
  },
  "user_id": "user"
}

NDVI computation of an arbitrary Sentinel 2A scene. The results are stored in the Google Cloud Storage.

POST /sentinel2_process_gcs/ndvi/{product_id}

NDVI computation of an arbitrary Sentinel 2A scene.The processing is as follows: A user specific Sentinel 2A 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.

product_id
in path
string S2A_MSIL1C_20170212T104141_N0204_R008_T31TGJ_20170212T104138

The product id of a sentinel scene

This response includes all created resources as URL as well as the processing log and other metadata.

The error message and a detailed log why NDVI processing of a sentinel2 scene did not succeeded

Response Example (200 OK)
{
  "accept_datetime": "2018-05-30 12:25:43.987713",
  "accept_timestamp": 1527683143.9877105,
  "api_info": {
    "endpoint": "asyncephemeralsentinel2processingresource",
    "method": "POST",
    "path": "/api/v1/sentinel2_process/ndvi/S2A_MSIL1C_20161206T030112_N0204_R032_T50RKR_20161206T030749",
    "request_url": "http://localhost:8080/api/v1/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": "python2",
      "parameter": [
        "/usr/local/bin/grass75",
        "-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 location/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 location.",
        "",
        "Location 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,
      "coeff_var": 39.2111992829072,
      "max": 0.80298912525177,
      "mean": 0.345280366103636,
      "mean_of_abs": 0.347984182813063,
      "min": -0.96863466501236,
      "n": 120371030,
      "name": "ndvi",
      "null_cells": 365089,
      "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/v1/resource/superadmin/resource_id-6b849585-576f-40b5-a514-34a7cf1f97ce/tmpsaeegg0q.png",
      "http://localhost:8080/api/v1/resource/superadmin/resource_id-6b849585-576f-40b5-a514-34a7cf1f97ce/ndvi.tiff"
    ],
    "status": "http://localhost:8080/api/v1/resources/superadmin/resource_id-6b849585-576f-40b5-a514-34a7cf1f97ce"
  },
  "user_id": "superadmin"
}
Response Example (400 Bad Request)
{
  "accept_datetime": "2018-05-06 22:02:14.323815",
  "accept_timestamp": 1525636934.3238132,
  "api_info": {
    "endpoint": "mapsetmanagementresourceuser",
    "method": "GET",
    "path": "/locations/nc_spm_08/mapsets/PERMANE/info",
    "request_url": "http://localhost/api/v1/locations/nc_spm_08/mapsets/PERMANE/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\n    raise AsyncProcessError(\"Error while running executable <%s>\" % process.executable)\n"
    ],
    "type": "<class 'actinia_core.resources.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/v1/resources/user/resource_id-79608249-521c-4a98-9e1f-9201f693870b"
  },
  "user_id": "user"
}

Query the Google Sentinel2 archives using time interval, lat/lon coordinates, scene id and cloud cover.

GET /sentinel2_query

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.

scene_id
in query
string

The scene id also named product id of the Sentinel2A scenes that should be searched

start_time
in query
string (dateTime)

The start time of the search interval

end_time
in query
string (dateTime)

The end time of the search interval

lon
in query
number (double)

The longitude coordinate with which the scenes should intersect

lat
in query
number (double)

The latitude coordinate with which the scenes should intersect

cloud_covert
in query
number (double)

Cloud cover between 0 - 100

A list of satellite scenes that fit the search

400 Bad Request

The error message if the search did not succeeded

Response Example (200 OK)
[
  {
    "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
  }
]
Response Example (400 Bad Request)
{
  "status": "string",
  "message": "string"
}

Generate the download urls for a list of sentinel2A scenes and band numbers.

POST /sentinel2a_aws_query

Generate the download urls for a list of sentinel2A scenes and band numbers. Minimum required user role: user.

The list of Sentinel 2A scenes and the band names

Request Content-Types: application/json
Request Example
{
  "bands": [
    "B04",
    "B08"
  ],
  "product_ids": [
    "S2A_MSIL1C_20170212T104141_N0204_R008_T31TGJ_20170212T104138",
    "S2A_MSIL1C_20170227T095021_N0204_R079_T34TBM_20170227T095613",
    "S2A_MSIL1C_20170202T104241_N0204_R008_T32UNE_20170202T104236"
  ]
}

The result of the Sentinel 2A time series import

400 Bad Request

The error message and a detailed log why Sentinel 2A scene downlad url creation did not succeeded

Response Example (200 OK)
[
  {
    "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/"
      }
    ]
  }
]
Response Example (400 Bad Request)
{
  "status": "string",
  "message": "string"
}

Location Management

Get a list of all available locations

GET /locations

Get a list of all available locations that are located in the GRASS database and the user has access to. Minimum required user role: user.

This response returns a list of location names

400 Bad Request

The error message

Response Example (200 OK)
{
  "locations": [
    "nc_spm_08LL",
    "ECAD"
  ],
  "status": "success"
}
Response Example (400 Bad Request)
{
  "status": "string",
  "message": "string"
}

Delete an existing location and everything inside from the user database.

DELETE /locations/{location_name}

Delete an existing location and everything inside from the user database. Minimum required user role: admin.

location_name
in path
string

The name of the location to be deleted

Success message for location deletion

400 Bad Request

The error message

Response Example (200 OK)
{
  "status": "string",
  "message": "string"
}
Response Example (400 Bad Request)
{
  "status": "string",
  "message": "string"
}

Create a new location based on EPSG code in the user database.

POST /locations/{location_name}

Create a new location based on EPSG code in the user database. Minimum required user role: admin.

The EPSG code

location_name
in path
string

The name of the location to be created

Request Content-Types: application/json
Request Example
{
  "epsg": "4326"
}

Create a new location based on EPSG code

400 Bad Request

The error message

Response Example (200 OK)
{
  "accept_datetime": "2017-05-24 22:37:21.607255",
  "accept_timestamp": 1495658241.607252,
  "api_info": {
    "endpoint": "asyncephemeralresource",
    "method": "POST",
    "path": "/locations/nc_spm_08/processing_async",
    "request_url": "http://localhost/api/v1/locations/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/v1/resources/admin/resource_id-2be8cafe-b451-46a0-be15-f61d95c5efa1"
  },
  "user_id": "admin"
}
Response Example (400 Bad Request)
{
  "accept_datetime": "2017-05-24 22:37:21.607255",
  "accept_timestamp": 1495658241.607252,
  "api_info": {
    "endpoint": "asyncephemeralresource",
    "method": "POST",
    "path": "/locations/nc_spm_08/processing_async",
    "request_url": "http://localhost/api/v1/locations/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/v1/resources/admin/resource_id-2be8cafe-b451-46a0-be15-f61d95c5efa1"
  },
  "user_id": "admin"
}

Get the location projection and current computational region of the PERMANENT mapset

GET /locations/{location_name}/info

Get the location projection and current computational region of the PERMANENT mapset. Minimum required user role: user.

location_name
in path
string nc_spm_08

The name of the location

The location projection and current computational region of the PERMANENT mapset

400 Bad Request

The error message

Response Example (200 OK)
{
  "accept_datetime": "2018-05-02 10:53:20.254387",
  "accept_timestamp": 1525258400.2543857,
  "api_info": {
    "endpoint": "mapsetmanagementresourceuser",
    "method": "GET",
    "path": "/api/v1/locations/ECAD/mapsets/PERMANENT/info",
    "request_url": "http://localhost/api/v1/locations/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,
      "cells": 1,
      "cells3": 1,
      "cols": 1,
      "cols3": 1,
      "depths": 1,
      "e": 1,
      "ewres": 1,
      "ewres3": 1,
      "n": 1,
      "nsres": 1,
      "nsres3": 1,
      "projection": 3,
      "rows": 1,
      "rows3": 1,
      "s": 0,
      "t": 1,
      "tbres": 1,
      "w": 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/v1/resources/user/resource_id-2222cdb7-06f5-460d-a38f-5745a3c3b518"
  },
  "user_id": "user"
}
Response Example (400 Bad Request)
{
  "accept_datetime": "2017-05-24 22:37:21.607255",
  "accept_timestamp": 1495658241.607252,
  "api_info": {
    "endpoint": "asyncephemeralresource",
    "method": "POST",
    "path": "/locations/nc_spm_08/processing_async",
    "request_url": "http://localhost/api/v1/locations/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/v1/resources/admin/resource_id-2be8cafe-b451-46a0-be15-f61d95c5efa1"
  },
  "user_id": "admin"
}

Mapset Management

Get a list of all mapsets that are located in a specific location.

GET /locations/{location_name}/mapsets

Get a list of all mapsets that are located in a specific location. Minimum required user role: user.

location_name
in path
string nc_spm_08

The name of the location

This response returns a list of mapset names and the log of the process chain that was used to create the response.

The error message and a detailed log why listing of mapsets did not succeeded

Response Example (200 OK)
{
  "accept_datetime": "2018-05-02 12:02:20.746845",
  "accept_timestamp": 1525255340.746844,
  "api_info": {
    "endpoint": "listmapsetsresource",
    "method": "GET",
    "path": "/locations/nc_spm_08/mapsets",
    "request_url": "http://localhost:5000/locations/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"
}
Response Example (400 Bad Request)
{
  "accept_datetime": "2018-05-06 22:02:14.323815",
  "accept_timestamp": 1525636934.3238132,
  "api_info": {
    "endpoint": "mapsetmanagementresourceuser",
    "method": "GET",
    "path": "/locations/nc_spm_08/mapsets/PERMANE/info",
    "request_url": "http://localhost/api/v1/locations/nc_spm_08/mapsets/PERMANE/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\n    raise AsyncProcessError(\"Error while running executable <%s>\" % process.executable)\n"
    ],
    "type": "<class 'actinia_core.resources.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/v1/resources/user/resource_id-79608249-521c-4a98-9e1f-9201f693870b"
  },
  "user_id": "user"
}

Delete an existing mapset.

DELETE /locations/{location_name}/mapsets/{mapset_name}

Delete an existing mapset. Minimum required user role: admin.

location_name
in path
string

The name of the location

mapset_name
in path
string

The name of the mapset

Success message for mapset deletion

The error message and a detailed error log

Response Example (200 OK)
{
  "accept_datetime": "2017-05-24 22:37:21.607255",
  "accept_timestamp": 1495658241.607252,
  "api_info": {
    "endpoint": "asyncephemeralresource",
    "method": "POST",
    "path": "/locations/nc_spm_08/processing_async",
    "request_url": "http://localhost/api/v1/locations/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/v1/resources/admin/resource_id-2be8cafe-b451-46a0-be15-f61d95c5efa1"
  },
  "user_id": "admin"
}
Response Example (400 Bad Request)
{
  "accept_datetime": "2018-05-06 22:02:14.323815",
  "accept_timestamp": 1525636934.3238132,
  "api_info": {
    "endpoint": "mapsetmanagementresourceuser",
    "method": "GET",
    "path": "/locations/nc_spm_08/mapsets/PERMANE/info",
    "request_url": "http://localhost/api/v1/locations/nc_spm_08/mapsets/PERMANE/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\n    raise AsyncProcessError(\"Error while running executable <%s>\" % process.executable)\n"
    ],
    "type": "<class 'actinia_core.resources.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/v1/resources/user/resource_id-79608249-521c-4a98-9e1f-9201f693870b"
  },
  "user_id": "user"
}

Create a new mapset in an existing location.

POST /locations/{location_name}/mapsets/{mapset_name}

Create a new mapset in an existing location. Minimum required user role: admin.

location_name
in path
string

The name of the location

mapset_name
in path
string

The name of the mapset

Success message for mapset creation

The error message and a detailed error log

Response Example (200 OK)
{
  "accept_datetime": "2017-05-24 22:37:21.607255",
  "accept_timestamp": 1495658241.607252,
  "api_info": {
    "endpoint": "asyncephemeralresource",
    "method": "POST",
    "path": "/locations/nc_spm_08/processing_async",
    "request_url": "http://localhost/api/v1/locations/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/v1/resources/admin/resource_id-2be8cafe-b451-46a0-be15-f61d95c5efa1"
  },
  "user_id": "admin"
}
Response Example (400 Bad Request)
{
  "accept_datetime": "2018-05-06 22:02:14.323815",
  "accept_timestamp": 1525636934.3238132,
  "api_info": {
    "endpoint": "mapsetmanagementresourceuser",
    "method": "GET",
    "path": "/locations/nc_spm_08/mapsets/PERMANE/info",
    "request_url": "http://localhost/api/v1/locations/nc_spm_08/mapsets/PERMANE/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\n    raise AsyncProcessError(\"Error while running executable <%s>\" % process.executable)\n"
    ],
    "type": "<class 'actinia_core.resources.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/v1/resources/user/resource_id-79608249-521c-4a98-9e1f-9201f693870b"
  },
  "user_id": "user"
}

Get the current computational region of the mapset and the projection of the location as WKT string.

GET /locations/{location_name}/mapsets/{mapset_name}/info

Get the current computational region of the mapset and the projection of the location as WKT string. Minimum required user role: user.

location_name
in path
string nc_spm_08

The name of the location

mapset_name
in path
string PERMANENT

The name of the mapset

The current computational region of the mapset and the projection of the location

The error message and a detailed error log

Response Example (200 OK)
{
  "accept_datetime": "2018-05-02 10:53:20.254387",
  "accept_timestamp": 1525258400.2543857,
  "api_info": {
    "endpoint": "mapsetmanagementresourceuser",
    "method": "GET",
    "path": "/api/v1/locations/ECAD/mapsets/PERMANENT/info",
    "request_url": "http://localhost/api/v1/locations/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,
      "cells": 1,
      "cells3": 1,
      "cols": 1,
      "cols3": 1,
      "depths": 1,
      "e": 1,
      "ewres": 1,
      "ewres3": 1,
      "n": 1,
      "nsres": 1,
      "nsres3": 1,
      "projection": 3,
      "rows": 1,
      "rows3": 1,
      "s": 0,
      "t": 1,
      "tbres": 1,
      "w": 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/v1/resources/user/resource_id-2222cdb7-06f5-460d-a38f-5745a3c3b518"
  },
  "user_id": "user"
}
Response Example (400 Bad Request)
{
  "accept_datetime": "2018-05-06 22:02:14.323815",
  "accept_timestamp": 1525636934.3238132,
  "api_info": {
    "endpoint": "mapsetmanagementresourceuser",
    "method": "GET",
    "path": "/locations/nc_spm_08/mapsets/PERMANE/info",
    "request_url": "http://localhost/api/v1/locations/nc_spm_08/mapsets/PERMANE/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\n    raise AsyncProcessError(\"Error while running executable <%s>\" % process.executable)\n"
    ],
    "type": "<class 'actinia_core.resources.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/v1/resources/user/resource_id-79608249-521c-4a98-9e1f-9201f693870b"
  },
  "user_id": "user"
}

Delete a location/mapset lock.

DELETE /locations/{location_name}/mapsets/{mapset_name}/lock

Delete a location/mapset lock. A location/mapset lock can be deleted so that operation can be performed on it until it is locked. Minimum required user role: admin.

location_name
in path
string nc_spm_08

The name of the location

mapset_name
in path
string PERMANENT

The name of the mapset

Success message if the location/mapset was unlocked successfully

400 Bad Request

The error message and a detailed error log

Response Example (200 OK)
{
  "accept_datetime": "2017-05-24 22:37:21.607255",
  "accept_timestamp": 1495658241.607252,
  "api_info": {
    "endpoint": "asyncephemeralresource",
    "method": "POST",
    "path": "/locations/nc_spm_08/processing_async",
    "request_url": "http://localhost/api/v1/locations/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/v1/resources/admin/resource_id-2be8cafe-b451-46a0-be15-f61d95c5efa1"
  },
  "user_id": "admin"
}
Response Example (400 Bad Request)
{
  "accept_datetime": "2017-05-24 22:37:21.607255",
  "accept_timestamp": 1495658241.607252,
  "api_info": {
    "endpoint": "asyncephemeralresource",
    "method": "POST",
    "path": "/locations/nc_spm_08/processing_async",
    "request_url": "http://localhost/api/v1/locations/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/v1/resources/admin/resource_id-2be8cafe-b451-46a0-be15-f61d95c5efa1"
  },
  "user_id": "admin"
}

Get the location/mapset lock status.

GET /locations/{location_name}/mapsets/{mapset_name}/lock

Get the location/mapset lock status. Minimum required user role: admin.

location_name
in path
string nc_spm_08

The name of the location

mapset_name
in path
string PERMANENT

The name of the mapset

Get the location/mapset lock status, either "True" or "None"

400 Bad Request

The error message and a detailed error log

Response Example (200 OK)
{
  "accept_datetime": "2018-05-02 11:03:26.529673",
  "accept_timestamp": 1525259006.5296717,
  "api_info": {
    "endpoint": "mapsetlockmanagementresource",
    "method": "GET",
    "path": "/locations/nc_spm_08/mapsets/PERMANENT/lock",
    "request_url": "http://localhost:8080/locations/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"
}
Response Example (400 Bad Request)
{
  "accept_datetime": "2017-05-24 22:37:21.607255",
  "accept_timestamp": 1495658241.607252,
  "api_info": {
    "endpoint": "asyncephemeralresource",
    "method": "POST",
    "path": "/locations/nc_spm_08/processing_async",
    "request_url": "http://localhost/api/v1/locations/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/v1/resources/admin/resource_id-2be8cafe-b451-46a0-be15-f61d95c5efa1"
  },
  "user_id": "admin"
}

Create a location/mapset lock.

POST /locations/{location_name}/mapsets/{mapset_name}/lock

Create a location/mapset lock. A location/mapset lock can be created so that no operation can be performed on it until it is unlocked. Minimum required user role: admin.

location_name
in path
string nc_spm_08

The name of the location

mapset_name
in path
string PERMANENT

The name of the mapset

Success message if the location/mapset was locked successfully

400 Bad Request

The error message and a detailed error log

Response Example (200 OK)
{
  "accept_datetime": "2017-05-24 22:37:21.607255",
  "accept_timestamp": 1495658241.607252,
  "api_info": {
    "endpoint": "asyncephemeralresource",
    "method": "POST",
    "path": "/locations/nc_spm_08/processing_async",
    "request_url": "http://localhost/api/v1/locations/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/v1/resources/admin/resource_id-2be8cafe-b451-46a0-be15-f61d95c5efa1"
  },
  "user_id": "admin"
}
Response Example (400 Bad Request)
{
  "accept_datetime": "2017-05-24 22:37:21.607255",
  "accept_timestamp": 1495658241.607252,
  "api_info": {
    "endpoint": "asyncephemeralresource",
    "method": "POST",
    "path": "/locations/nc_spm_08/processing_async",
    "request_url": "http://localhost/api/v1/locations/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/v1/resources/admin/resource_id-2be8cafe-b451-46a0-be15-f61d95c5efa1"
  },
  "user_id": "admin"
}

Processing

Execute a user defined process chain that creates a new mapset or runs in an existing one.

POST /locations/{location_name}/mapsets/{mapset_name}/processing_async

Execute a user defined process chain in an existing mapset of the persistent user database or in a new mapset that will be created by this reuqest in the persistent user database.

The process chain is executed asynchronously. The provided status URL in the response must be polled to gain information about the processing progress and finishing status.

Note

Space-time dataset processing can only be performed in a new mapset
that is created by this resource call, since merging of temporal databases
of different mapsets is not supported yet.

The mapset that is used for processing will be locked until the process chain execution finished (successfully or not), even if the mapset is be created by the request. Other requests on the locked mapset will abort with a mapset lock error.

The persistent user database will not be modified if the process chain does not run successfully. The processing is performed in an ephemeral database and then merged or copied into the persistent user database.

Note

Make sure that the process chain definition identifies all raster, vector or
                  space time datasets correctly with name and mapset: name@mapset.
                  
                  All required mapsets will be identified by analysing the input parameter
                  of all module descriptions in the provided process chain
                  and mounted into the ephemeral database that is used for processing.
                  

The process chain that should be executed

location_name
in path
string nc_spm_08

The location name

mapset_name
in path
string

The name of an existing mapset or a new mapset that should be created

Request Content-Types: application/json
Request 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"
    }
  ],
  "version": "1"
}

The result of the process chain execution

400 Bad Request

The error message and a detailed log why process chain execution did not succeeded

Response Example (200 OK)
{
  "accept_datetime": "2017-05-24 22:37:21.607255",
  "accept_timestamp": 1495658241.607252,
  "api_info": {
    "endpoint": "asyncephemeralresource",
    "method": "POST",
    "path": "/locations/nc_spm_08/processing_async",
    "request_url": "http://localhost/api/v1/locations/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/v1/resources/admin/resource_id-2be8cafe-b451-46a0-be15-f61d95c5efa1"
  },
  "user_id": "admin"
}
Response Example (400 Bad Request)
{
  "accept_datetime": "2017-05-24 22:37:21.607255",
  "accept_timestamp": 1495658241.607252,
  "api_info": {
    "endpoint": "asyncephemeralresource",
    "method": "POST",
    "path": "/locations/nc_spm_08/processing_async",
    "request_url": "http://localhost/api/v1/locations/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/v1/resources/admin/resource_id-2be8cafe-b451-46a0-be15-f61d95c5efa1"
  },
  "user_id": "admin"
}

Validate a process chain asynchronously, check the provided sources and the mapsets.

POST /locations/{location_name}/process_chain_validation_async

Validate a process chain, check the provided sources (links) and the mapsets. The list of processes that were checked by Actinia are returned in the JSON response.

The process chain that should be validated

location_name
in path
string nc_spm_08

The location name that contains the data that should be used in the process chain

Request Content-Types: application/json
Request 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"
    }
  ],
  "version": "1"
}

The result of the process chain validation. A list of processes that will be executed by Actinia Core

The error message and a detailed log why process chain validation did not succeeded

Response Example (200 OK)
{
  "accept_datetime": "2017-05-24 22:37:21.607255",
  "accept_timestamp": 1495658241.607252,
  "api_info": {
    "endpoint": "asyncephemeralresource",
    "method": "POST",
    "path": "/locations/nc_spm_08/processing_async",
    "request_url": "http://localhost/api/v1/locations/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/v1/resources/admin/resource_id-2be8cafe-b451-46a0-be15-f61d95c5efa1"
  },
  "user_id": "admin"
}
Response Example (400 Bad Request)
{
  "accept_datetime": "2018-05-06 22:02:14.323815",
  "accept_timestamp": 1525636934.3238132,
  "api_info": {
    "endpoint": "mapsetmanagementresourceuser",
    "method": "GET",
    "path": "/locations/nc_spm_08/mapsets/PERMANE/info",
    "request_url": "http://localhost/api/v1/locations/nc_spm_08/mapsets/PERMANE/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\n    raise AsyncProcessError(\"Error while running executable <%s>\" % process.executable)\n"
    ],
    "type": "<class 'actinia_core.resources.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/v1/resources/user/resource_id-79608249-521c-4a98-9e1f-9201f693870b"
  },
  "user_id": "user"
}

Validate a process chain synchronously, check the provided sources and the mapsets.

POST /locations/{location_name}/process_chain_validation_sync

Validate a process chain, check the provided sources (links) and the mapsets. The list of processes that were checked by Actinia are returned in the JSON response.

The process chain that should be validated

location_name
in path
string nc_spm_08

The location name that contains the data that should be used in the process chain

Request Content-Types: application/json
Request 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"
    }
  ],
  "version": "1"
}

The result of the process chain validation. A list of processes that will be executed by Actinia Core

The error message and a detailed log why process chain validation did not succeeded

Response Example (200 OK)
{
  "accept_datetime": "2017-05-24 22:37:21.607255",
  "accept_timestamp": 1495658241.607252,
  "api_info": {
    "endpoint": "asyncephemeralresource",
    "method": "POST",
    "path": "/locations/nc_spm_08/processing_async",
    "request_url": "http://localhost/api/v1/locations/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/v1/resources/admin/resource_id-2be8cafe-b451-46a0-be15-f61d95c5efa1"
  },
  "user_id": "admin"
}
Response Example (400 Bad Request)
{
  "accept_datetime": "2018-05-06 22:02:14.323815",
  "accept_timestamp": 1525636934.3238132,
  "api_info": {
    "endpoint": "mapsetmanagementresourceuser",
    "method": "GET",
    "path": "/locations/nc_spm_08/mapsets/PERMANE/info",
    "request_url": "http://localhost/api/v1/locations/nc_spm_08/mapsets/PERMANE/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\n    raise AsyncProcessError(\"Error while running executable <%s>\" % process.executable)\n"
    ],
    "type": "<class 'actinia_core.resources.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/v1/resources/user/resource_id-79608249-521c-4a98-9e1f-9201f693870b"
  },
  "user_id": "user"
}

Execute a user defined process chain in an ephemeral location/mapset and store the processing results

POST /locations/{location_name}/processing_async_export

Execute a user defined process chain in an ephemeral database and provide the generated resources as downloadable files via URL's. Minimum required user role: user.

The process chain is executed asynchronously. The provided status URL in the response must be polled to gain information about the processing progress and finishing status.

Note

Make sure that the process chain definition identifies all raster, vector or
                  space-time datasets correctly with name and mapset: name@mapset if you use
                  data from other mapsets in the specified location.
                  
                  All required mapsets will be identified by analysing the input parameter
                  of all module descriptions in the provided process chain
                  and mounted read-only into the ephemeral database that is used for processing.
                  

The persistent database will not be modified. The ephemeral database will be removed after processing. Use the URL's provided in the finished response to download the resource that were specified in the process chain for export.

The process chain that should be executed

location_name
in path
string nc_spm_08

The location name that contains the data that should be processed

Request Content-Types: application/json
Request 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"
    }
  ],
  "version": "1"
}

The result of the process chain execution

The error message and a detailed log why process chain execution did not succeeded

Response Example (200 OK)
{
  "accept_datetime": "2017-05-24 22:37:21.607255",
  "accept_timestamp": 1495658241.607252,
  "api_info": {
    "endpoint": "asyncephemeralresource",
    "method": "POST",
    "path": "/locations/nc_spm_08/processing_async",
    "request_url": "http://localhost/api/v1/locations/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/v1/resources/admin/resource_id-2be8cafe-b451-46a0-be15-f61d95c5efa1"
  },
  "user_id": "admin"
}
Response Example (400 Bad Request)
{
  "accept_datetime": "2018-05-06 22:02:14.323815",
  "accept_timestamp": 1525636934.3238132,
  "api_info": {
    "endpoint": "mapsetmanagementresourceuser",
    "method": "GET",
    "path": "/locations/nc_spm_08/mapsets/PERMANE/info",
    "request_url": "http://localhost/api/v1/locations/nc_spm_08/mapsets/PERMANE/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\n    raise AsyncProcessError(\"Error while running executable <%s>\" % process.executable)\n"
    ],
    "type": "<class 'actinia_core.resources.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/v1/resources/user/resource_id-79608249-521c-4a98-9e1f-9201f693870b"
  },
  "user_id": "user"
}

Execute a user defined process chain in an ephemeral location/mapset and store the processing result in an Google cloud storage bucket

POST /locations/{location_name}/processing_async_export_gcs

Execute a user defined process chain in an ephemeral database and provide the generated resources as downloadable files via URL's. Minimum required user role: user.

The process chain is executed asynchronously. The provided status URL in the response must be polled to gain information about the processing progress and finishing status.

Note

Make sure that the process chain definition identifies all raster, vector or
                  space-time datasets correctly with name and mapset: name@mapset if you use
                  data from other mapsets in the specified location.
                  
                  All required mapsets will be identified by analysing the input parameter
                  of all module descriptions in the provided process chain
                  and mounted read-only into the ephemeral database that is used for processing.
                  

The persistent database will not be modified. The ephemeral database will be removed after processing. Use the URL's provided in the finished response to download the resource that were specified in the process chain for export.

The process chain that should be executed

location_name
in path
string nc_spm_08

The location name that contains the data that should be processed

Request Content-Types: application/json
Request 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"
    }
  ],
  "version": "1"
}

The result of the process chain execution

The error message and a detailed log why process chain execution did not succeeded

Response Example (200 OK)
{
  "accept_datetime": "2017-05-24 22:37:21.607255",
  "accept_timestamp": 1495658241.607252,
  "api_info": {
    "endpoint": "asyncephemeralresource",
    "method": "POST",
    "path": "/locations/nc_spm_08/processing_async",
    "request_url": "http://localhost/api/v1/locations/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/v1/resources/admin/resource_id-2be8cafe-b451-46a0-be15-f61d95c5efa1"
  },
  "user_id": "admin"
}
Response Example (400 Bad Request)
{
  "accept_datetime": "2018-05-06 22:02:14.323815",
  "accept_timestamp": 1525636934.3238132,
  "api_info": {
    "endpoint": "mapsetmanagementresourceuser",
    "method": "GET",
    "path": "/locations/nc_spm_08/mapsets/PERMANE/info",
    "request_url": "http://localhost/api/v1/locations/nc_spm_08/mapsets/PERMANE/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\n    raise AsyncProcessError(\"Error while running executable <%s>\" % process.executable)\n"
    ],
    "type": "<class 'actinia_core.resources.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/v1/resources/user/resource_id-79608249-521c-4a98-9e1f-9201f693870b"
  },
  "user_id": "user"
}

Execute a user defined process chain in an ephemeral location/mapset and store the processing result in an Amazon S3 bucket

POST /locations/{location_name}/processing_async_export_s3

Execute a user defined process chain in an ephemeral database and provide the generated resources as downloadable files via URL's. Minimum required user role: user.

The process chain is executed asynchronously. The provided status URL in the response must be polled to gain information about the processing progress and finishing status.

Note

Make sure that the process chain definition identifies all raster, vector or
                  space-time datasets correctly with name and mapset: name@mapset if you use
                  data from other mapsets in the specified location.
                  
                  All required mapsets will be identified by analysing the input parameter
                  of all module descriptions in the provided process chain
                  and mounted read-only into the ephemeral database that is used for processing.
                  

The persistent database will not be modified. The ephemeral database will be removed after processing. Use the URL's provided in the finished response to download the resource that were specified in the process chain for export.

The process chain that should be executed

location_name
in path
string nc_spm_08

The location name that contains the data that should be processed

Request Content-Types: application/json
Request 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"
    }
  ],
  "version": "1"
}

The result of the process chain execution

The error message and a detailed log why process chain execution did not succeeded

Response Example (200 OK)
{
  "accept_datetime": "2017-05-24 22:37:21.607255",
  "accept_timestamp": 1495658241.607252,
  "api_info": {
    "endpoint": "asyncephemeralresource",
    "method": "POST",
    "path": "/locations/nc_spm_08/processing_async",
    "request_url": "http://localhost/api/v1/locations/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/v1/resources/admin/resource_id-2be8cafe-b451-46a0-be15-f61d95c5efa1"
  },
  "user_id": "admin"
}
Response Example (400 Bad Request)
{
  "accept_datetime": "2018-05-06 22:02:14.323815",
  "accept_timestamp": 1525636934.3238132,
  "api_info": {
    "endpoint": "mapsetmanagementresourceuser",
    "method": "GET",
    "path": "/locations/nc_spm_08/mapsets/PERMANE/info",
    "request_url": "http://localhost/api/v1/locations/nc_spm_08/mapsets/PERMANE/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\n    raise AsyncProcessError(\"Error while running executable <%s>\" % process.executable)\n"
    ],
    "type": "<class 'actinia_core.resources.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/v1/resources/user/resource_id-79608249-521c-4a98-9e1f-9201f693870b"
  },
  "user_id": "user"
}

Raster Management

Delete a single raster map layer or a list of raster map layer names that are located in a specific location/mapset

DELETE /locations/{location_name}/mapsets/{mapset_name}/raster_layers

Delete a single raster map layer or a list of raster map layer names that are located in a specific location/mapset. Minimum required user role: user.

location_name
in path
string

The name of the location that should be accessed

mapset_name
in path
string

The name of the mapset from which the raster map layers should be deleted

pattern
in query
string

A parameter passed for g.remove to remove a list of raster map layers, to remove all eg.: http:// ?pattern="*"

This response returns the log of the process chain that was used to create the response.

400 Bad Request

The error message and a detailed log why deletion of raster map layers did not succeeded

Response Example (200 OK)
{
  "accept_datetime": "2017-05-24 22:37:21.607255",
  "accept_timestamp": 1495658241.607252,
  "api_info": {
    "endpoint": "asyncephemeralresource",
    "method": "POST",
    "path": "/locations/nc_spm_08/processing_async",
    "request_url": "http://localhost/api/v1/locations/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/v1/resources/admin/resource_id-2be8cafe-b451-46a0-be15-f61d95c5efa1"
  },
  "user_id": "admin"
}
Response Example (400 Bad Request)
{
  "accept_datetime": "2017-05-24 22:37:21.607255",
  "accept_timestamp": 1495658241.607252,
  "api_info": {
    "endpoint": "asyncephemeralresource",
    "method": "POST",
    "path": "/locations/nc_spm_08/processing_async",
    "request_url": "http://localhost/api/v1/locations/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/v1/resources/admin/resource_id-2be8cafe-b451-46a0-be15-f61d95c5efa1"
  },
  "user_id": "admin"
}

Get a list of raster map layer names that are located in a specific location/mapset

GET /locations/{location_name}/mapsets/{mapset_name}/raster_layers

Get a list of raster map layer names that are located in a specific location/mapset. Minimum required user role: user.

location_name
in path
string nc_spm_08

The name of the location that should be accessed

mapset_name
in path
string PERMANENT

The name of the mapset from which the raster map layers should be listed

pattern
in query
string

A parameter passed to g.list for raster map layer selection, eg.: http:// ?pattern="*"

This response returns a list of raster map layers and the log of the process chain that was used to create the response.

400 Bad Request

The error message and a detailed log why listing of raster map layers did not succeeded

Response Example (200 OK)
{
  "accept_datetime": "2018-05-02 12:02:20.746845",
  "accept_timestamp": 1525255340.746844,
  "api_info": {
    "endpoint": "listmapsetsresource",
    "method": "GET",
    "path": "/locations/nc_spm_08/mapsets",
    "request_url": "http://localhost:5000/locations/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"
}
Response Example (400 Bad Request)
{
  "accept_datetime": "2017-05-24 22:37:21.607255",
  "accept_timestamp": 1495658241.607252,
  "api_info": {
    "endpoint": "asyncephemeralresource",
    "method": "POST",
    "path": "/locations/nc_spm_08/processing_async",
    "request_url": "http://localhost/api/v1/locations/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/v1/resources/admin/resource_id-2be8cafe-b451-46a0-be15-f61d95c5efa1"
  },
  "user_id": "admin"
}

Rename a single raster map layer or a list of raster map layers that are located in a specific location/mapset

PUT /locations/{location_name}/mapsets/{mapset_name}/raster_layers

Rename a single raster map layer or a list of raster map layers that are located in a specific location/mapset. Minimum required user role: user.

A list of raster name tuples [(a, a_new),(b, b_new),(c, c_new), ...]

location_name
in path
string

The name of the location that should be accessed

mapset_name
in path
string

The name of the mapset from which the raster map layers should be renamed

Request Example
"string"

This response returns the log of the process chain that was used to create the response.

400 Bad Request

The error message and a detailed log why listing of raster map layers did not succeeded

Response Example (200 OK)
{
  "accept_datetime": "2017-05-24 22:37:21.607255",
  "accept_timestamp": 1495658241.607252,
  "api_info": {
    "endpoint": "asyncephemeralresource",
    "method": "POST",
    "path": "/locations/nc_spm_08/processing_async",
    "request_url": "http://localhost/api/v1/locations/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/v1/resources/admin/resource_id-2be8cafe-b451-46a0-be15-f61d95c5efa1"
  },
  "user_id": "admin"
}
Response Example (400 Bad Request)
{
  "accept_datetime": "2017-05-24 22:37:21.607255",
  "accept_timestamp": 1495658241.607252,
  "api_info": {
    "endpoint": "asyncephemeralresource",
    "method": "POST",
    "path": "/locations/nc_spm_08/processing_async",
    "request_url": "http://localhost/api/v1/locations/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/v1/resources/admin/resource_id-2be8cafe-b451-46a0-be15-f61d95c5efa1"
  },
  "user_id": "admin"
}

Delete an existing raster map layer.

DELETE /locations/{location_name}/mapsets/{mapset_name}/raster_layers/{raster_name}

Delete an existing raster map layer. Minimum required user role: user.

location_name
in path
string

The location name

mapset_name
in path
string

The name of the mapset that contains the required raster map layer

raster_name
in path
string

The name of the raster map layer to be deleted

Successfuly delete a raster map layer

The error message and a detailed log why raster map layer deletion did not succeeded

Response Content-Types: application/json
Response Example (200 OK)
{
  "accept_datetime": "2017-05-24 22:37:21.607255",
  "accept_timestamp": 1495658241.607252,
  "api_info": {
    "endpoint": "asyncephemeralresource",
    "method": "POST",
    "path": "/locations/nc_spm_08/processing_async",
    "request_url": "http://localhost/api/v1/locations/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/v1/resources/admin/resource_id-2be8cafe-b451-46a0-be15-f61d95c5efa1"
  },
  "user_id": "admin"
}
Response Example (400 Bad Request)
{
  "accept_datetime": "2018-05-06 22:02:14.323815",
  "accept_timestamp": 1525636934.3238132,
  "api_info": {
    "endpoint": "mapsetmanagementresourceuser",
    "method": "GET",
    "path": "/locations/nc_spm_08/mapsets/PERMANE/info",
    "request_url": "http://localhost/api/v1/locations/nc_spm_08/mapsets/PERMANE/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\n    raise AsyncProcessError(\"Error while running executable <%s>\" % process.executable)\n"
    ],
    "type": "<class 'actinia_core.resources.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/v1/resources/user/resource_id-79608249-521c-4a98-9e1f-9201f693870b"
  },
  "user_id": "user"
}

Get information about an existing raster map layer.

GET /locations/{location_name}/mapsets/{mapset_name}/raster_layers/{raster_name}

Get information about an existing raster map layer. Minimum required user role: user.

location_name
in path
string nc_spm_08

The location name

mapset_name
in path
string PERMANENT

The name of the mapset that contains the required raster map layer

raster_name
in path
string elevation

The name of the raster map layer to get information about

The raster map layer information

The error message and a detailed log why gathering raster map layer information did not succeeded

Response Content-Types: application/json
Response Example (200 OK)
{
  "accept_datetime": "2018-05-02 10:44:11.764375",
  "accept_timestamp": 1525257851.7643716,
  "api_info": {
    "endpoint": "rasterlayerresource",
    "method": "GET",
    "path": "/locations/nc_spm_08/mapsets/PERMANENT/raster_layers/elevation",
    "request_url": "http://localhost:8080/locations/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\" location=\"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",
    "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"
}
Response Example (400 Bad Request)
{
  "accept_datetime": "2018-05-06 22:02:14.323815",
  "accept_timestamp": 1525636934.3238132,
  "api_info": {
    "endpoint": "mapsetmanagementresourceuser",
    "method": "GET",
    "path": "/locations/nc_spm_08/mapsets/PERMANE/info",
    "request_url": "http://localhost/api/v1/locations/nc_spm_08/mapsets/PERMANE/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\n    raise AsyncProcessError(\"Error while running executable <%s>\" % process.executable)\n"
    ],
    "type": "<class 'actinia_core.resources.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/v1/resources/user/resource_id-79608249-521c-4a98-9e1f-9201f693870b"
  },
  "user_id": "user"
}

Create a new raster layer using r.mapcalc expression in a specific region and value

POST /locations/{location_name}/mapsets/{mapset_name}/raster_layers/{raster_name}

Create a new raster map layer based on a r.mapcalc expression in a user specific region. This method will fail if the map already exists. Minimum required user role: user.

Parameters to create raster map layer using r.mapcalc in a specific region.

location_name
in path
string

The location name

mapset_name
in path
string

The name of the mapset in which the raster map layer should be created

raster_name
in path
string

The name of the new raster map layer to be created

Request Content-Types: application/json
Request Example
{
  "region": {
    "region": "string",
    "raster": "string",
    "align": "string",
    "zoom": "string",
    "vector": "string",
    "n": "number (double)",
    "s": "number (double)",
    "w": "number (double)",
    "e": "number (double)",
    "t": "number (double)",
    "b": "number (double)",
    "nsres": "number (double)",
    "res": "number (double)",
    "ewres": "number (double)",
    "res3": "number (double)",
    "tbres": "number (double)"
  },
  "expression": "string"
}

Raster map layer creation information

The error message and a detailed log why raster map layer creation did not succeeded

Response Content-Types: application/json
Response Example (200 OK)
{
  "accept_datetime": "2017-05-24 22:37:21.607255",
  "accept_timestamp": 1495658241.607252,
  "api_info": {
    "endpoint": "asyncephemeralresource",
    "method": "POST",
    "path": "/locations/nc_spm_08/processing_async",
    "request_url": "http://localhost/api/v1/locations/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/v1/resources/admin/resource_id-2be8cafe-b451-46a0-be15-f61d95c5efa1"
  },
  "user_id": "admin"
}
Response Example (400 Bad Request)
{
  "accept_datetime": "2018-05-06 22:02:14.323815",
  "accept_timestamp": 1525636934.3238132,
  "api_info": {
    "endpoint": "mapsetmanagementresourceuser",
    "method": "GET",
    "path": "/locations/nc_spm_08/mapsets/PERMANE/info",
    "request_url": "http://localhost/api/v1/locations/nc_spm_08/mapsets/PERMANE/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\n    raise AsyncProcessError(\"Error while running executable <%s>\" % process.executable)\n"
    ],
    "type": "<class 'actinia_core.resources.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/v1/resources/user/resource_id-79608249-521c-4a98-9e1f-9201f693870b"
  },
  "user_id": "user"
}

Get the color definition of an existing raster map layer.

GET /locations/{location_name}/mapsets/{mapset_name}/raster_layers/{raster_name}/colors

Get the color definition of an existing raster map layer. Minimum required user role: user.

location_name
in path
string

The location name

mapset_name
in path
string

The name of the mapset that contains the required raster map layer

raster_name
in path
string

The name of the raster map layer to get the color table from

A list of color rules

The error message and a detailed error log

Response Content-Types: application/json
Response Example (200 OK)
{
  "accept_datetime": "2018-05-02 12:02:20.746845",
  "accept_timestamp": 1525255340.746844,
  "api_info": {
    "endpoint": "listmapsetsresource",
    "method": "GET",
    "path": "/locations/nc_spm_08/mapsets",
    "request_url": "http://localhost:5000/locations/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"
}
Response Example (400 Bad Request)
{
  "accept_datetime": "2018-05-06 22:02:14.323815",
  "accept_timestamp": 1525636934.3238132,
  "api_info": {
    "endpoint": "mapsetmanagementresourceuser",
    "method": "GET",
    "path": "/locations/nc_spm_08/mapsets/PERMANE/info",
    "request_url": "http://localhost/api/v1/locations/nc_spm_08/mapsets/PERMANE/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\n    raise AsyncProcessError(\"Error while running executable <%s>\" % process.executable)\n"
    ],
    "type": "<class 'actinia_core.resources.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/v1/resources/user/resource_id-79608249-521c-4a98-9e1f-9201f693870b"
  },
  "user_id": "user"
}

Set the color definition for an existing raster map layer.

POST /locations/{location_name}/mapsets/{mapset_name}/raster_layers/{raster_name}/colors

Set the color definition for an existing raster map layer. Minimum required user role: user.

The color definition.

location_name
in path
string

The location name

mapset_name
in path
string

The name of the mapset that contains the required raster map layer

raster_name
in path
string

The name of the raster map layer to set the color table

Request Content-Types: application/json
Request Example
{
  "rules": [
    "1 0:0:0",
    "default 255:255:255"
  ],
  "color": "ndvi",
  "raster": "elevation@PERMANENT"
}

Successfuly set the color table for a raster map layer

The error message and a detailed error log

Response Content-Types: application/json
Response Example (200 OK)
{
  "accept_datetime": "2017-05-24 22:37:21.607255",
  "accept_timestamp": 1495658241.607252,
  "api_info": {
    "endpoint": "asyncephemeralresource",
    "method": "POST",
    "path": "/locations/nc_spm_08/processing_async",
    "request_url": "http://localhost/api/v1/locations/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/v1/resources/admin/resource_id-2be8cafe-b451-46a0-be15-f61d95c5efa1"
  },
  "user_id": "admin"
}
Response Example (400 Bad Request)
{
  "accept_datetime": "2018-05-06 22:02:14.323815",
  "accept_timestamp": 1525636934.3238132,
  "api_info": {
    "endpoint": "mapsetmanagementresourceuser",
    "method": "GET",
    "path": "/locations/nc_spm_08/mapsets/PERMANE/info",
    "request_url": "http://localhost/api/v1/locations/nc_spm_08/mapsets/PERMANE/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\n    raise AsyncProcessError(\"Error while running executable <%s>\" % process.executable)\n"
    ],
    "type": "<class 'actinia_core.resources.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/v1/resources/user/resource_id-79608249-521c-4a98-9e1f-9201f693870b"
  },
  "user_id": "user"
}

Export an existing raster map layer as GeoTiff.

POST /locations/{location_name}/mapsets/{mapset_name}/raster_layers/{raster_name}/geotiff_async

Export an existing raster map layer as GeoTiff. The link to the exported raster map layer is located in the JSON response. The current region settings of the mapsetare used to export the raster layer. Minimum required user role: user.

location_name
in path
string nc_spm_08

The location name

mapset_name
in path
string PERMANENT

The name of the mapset that contains the required raster map layer

raster_name
in path
string elevation

The name of the raster map layer to export

The response including the URL to the raster map layer GeoTiff file

The error message and a detailed log why gathering raster map layer information did not succeeded

Response Content-Types: application/json
Response Example (200 OK)
{
  "accept_datetime": "2017-05-24 22:37:21.607255",
  "accept_timestamp": 1495658241.607252,
  "api_info": {
    "endpoint": "asyncephemeralresource",
    "method": "POST",
    "path": "/locations/nc_spm_08/processing_async",
    "request_url": "http://localhost/api/v1/locations/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/v1/resources/admin/resource_id-2be8cafe-b451-46a0-be15-f61d95c5efa1"
  },
  "user_id": "admin"
}
Response Example (400 Bad Request)
{
  "accept_datetime": "2018-05-06 22:02:14.323815",
  "accept_timestamp": 1525636934.3238132,
  "api_info": {
    "endpoint": "mapsetmanagementresourceuser",
    "method": "GET",
    "path": "/locations/nc_spm_08/mapsets/PERMANE/info",
    "request_url": "http://localhost/api/v1/locations/nc_spm_08/mapsets/PERMANE/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\n    raise AsyncProcessError(\"Error while running executable <%s>\" % process.executable)\n"
    ],
    "type": "<class 'actinia_core.resources.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/v1/resources/user/resource_id-79608249-521c-4a98-9e1f-9201f693870b"
  },
  "user_id": "user"
}

Export an existing raster map layer as GeoTiff using the raster map specific region.

POST /locations/{location_name}/mapsets/{mapset_name}/raster_layers/{raster_name}/geotiff_async_orig

Export an existing raster map layer as GeoTiff using the raster map layer specific region. The link to the exported raster map layer is located in the JSON response. Minimum required user role: user.

location_name
in path
string nc_spm_08

The location name

mapset_name
in path
string PERMANENT

The name of the mapset that contains the required raster map layer

raster_name
in path
string elevation

The name of the raster map layer to export

The response including the URL to the raster map layer GeoTiff file

The error message and a detailed log why gathering raster map layer information did not succeeded

Response Content-Types: application/json
Response Example (200 OK)
{
  "accept_datetime": "2017-05-24 22:37:21.607255",
  "accept_timestamp": 1495658241.607252,
  "api_info": {
    "endpoint": "asyncephemeralresource",
    "method": "POST",
    "path": "/locations/nc_spm_08/processing_async",
    "request_url": "http://localhost/api/v1/locations/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/v1/resources/admin/resource_id-2be8cafe-b451-46a0-be15-f61d95c5efa1"
  },
  "user_id": "admin"
}
Response Example (400 Bad Request)
{
  "accept_datetime": "2018-05-06 22:02:14.323815",
  "accept_timestamp": 1525636934.3238132,
  "api_info": {
    "endpoint": "mapsetmanagementresourceuser",
    "method": "GET",
    "path": "/locations/nc_spm_08/mapsets/PERMANE/info",
    "request_url": "http://localhost/api/v1/locations/nc_spm_08/mapsets/PERMANE/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\n    raise AsyncProcessError(\"Error while running executable <%s>\" % process.executable)\n"
    ],
    "type": "<class 'actinia_core.resources.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/v1/resources/user/resource_id-79608249-521c-4a98-9e1f-9201f693870b"
  },
  "user_id": "user"
}

Render the legend of a raster map layer as a PNG image.

GET /locations/{location_name}/mapsets/{mapset_name}/raster_layers/{raster_name}/legend

Render the legend of a raster map layer as a PNG image. Minimum required user role: user.

location_name
in path
string nc_spm_08

The location name

mapset_name
in path
string PERMANENT

The name of the mapset that contains the required raster map layer

raster_name
in path
string elevation

The name of the raster map layer of which the legend should be rendered

200 OK

The PNG image

The error message and a detailed log why legend rendering did not succeeded

Response Content-Types: image/png
Response Example (400 Bad Request)
{
  "accept_datetime": "2018-05-06 22:02:14.323815",
  "accept_timestamp": 1525636934.3238132,
  "api_info": {
    "endpoint": "mapsetmanagementresourceuser",
    "method": "GET",
    "path": "/locations/nc_spm_08/mapsets/PERMANE/info",
    "request_url": "http://localhost/api/v1/locations/nc_spm_08/mapsets/PERMANE/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\n    raise AsyncProcessError(\"Error while running executable <%s>\" % process.executable)\n"
    ],
    "type": "<class 'actinia_core.resources.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/v1/resources/user/resource_id-79608249-521c-4a98-9e1f-9201f693870b"
  },
  "user_id": "user"
}

Render a raster map layer as a PNG image.

GET /locations/{location_name}/mapsets/{mapset_name}/raster_layers/{raster_name}/render

Render a raster map layer as a PNG image. Minimum required user role: user.

location_name
in path
string nc_spm_08

The location name

mapset_name
in path
string PERMANENT

The name of the mapset that contains the required raster map layer

raster_name
in path
string elevation

The name of the raster map layer to render

n
in query
number (double)

Northern border

s
in query
number (double)

Southern border

e
in query
number (double)

Eastern border

w
in query
number (double)

Western border

width
in query
number (integer) 800

Image width in pixel, default is 800

height
in query
number (integer) 600

Image height in pixel, default is 600

200 OK

The PNG image

The error message and a detailed log why rendering did not succeeded

Response Content-Types: image/png
Response Example (400 Bad Request)
{
  "accept_datetime": "2018-05-06 22:02:14.323815",
  "accept_timestamp": 1525636934.3238132,
  "api_info": {
    "endpoint": "mapsetmanagementresourceuser",
    "method": "GET",
    "path": "/locations/nc_spm_08/mapsets/PERMANE/info",
    "request_url": "http://localhost/api/v1/locations/nc_spm_08/mapsets/PERMANE/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\n    raise AsyncProcessError(\"Error while running executable <%s>\" % process.executable)\n"
    ],
    "type": "<class 'actinia_core.resources.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/v1/resources/user/resource_id-79608249-521c-4a98-9e1f-9201f693870b"
  },
  "user_id": "user"
}

Render three raster map layer as composed RGB PNG image.

GET /locations/{location_name}/mapsets/{mapset_name}/render_rgb

Render three raster map layer as composed RGB PNG image. Minimum required user role: user.

location_name
in path
string nc_spm_08

The location name

mapset_name
in path
string landsat

The name of the mapset that contains the required raster map layer

red
in query
string lsat5_1987_30

The name of the raster map layer to render as color red

green
in query
string lsat5_1987_20

The name of the raster map layer to render as color green

blue
in query
string lsat5_1987_10

The name of the raster map layer to render as color blue

n
in query
number (double)

Northern border

s
in query
number (double)

Southern border

e
in query
number (double)

Eastern border

w
in query
number (double)

Western border

width
in query
number (integer) 800

Image width in pixel, default is 800

height
in query
number (integer) 600

Image height in pixel, default is 600

200 OK

The RGB composition PNG image

The error message and a detailed log why rendering did not succeeded

Response Content-Types: image/png
Response Example (400 Bad Request)
{
  "accept_datetime": "2018-05-06 22:02:14.323815",
  "accept_timestamp": 1525636934.3238132,
  "api_info": {
    "endpoint": "mapsetmanagementresourceuser",
    "method": "GET",
    "path": "/locations/nc_spm_08/mapsets/PERMANE/info",
    "request_url": "http://localhost/api/v1/locations/nc_spm_08/mapsets/PERMANE/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\n    raise AsyncProcessError(\"Error while running executable <%s>\" % process.executable)\n"
    ],
    "type": "<class 'actinia_core.resources.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/v1/resources/user/resource_id-79608249-521c-4a98-9e1f-9201f693870b"
  },
  "user_id": "user"
}

Render two raster layers as a composed shade PNG image

GET /locations/{location_name}/mapsets/{mapset_name}/render_shade

Render two raster layers as a composed shade PNG image. Minimum required user role: user.

location_name
in path
string nc_spm_08

The location name

mapset_name
in path
string PERMANENT

The name of the mapset that contains the required raster map layer

shade
in query
string aspect

The name of the raster map layer to be used for shading

color
in query
string elevation

The name of the raster map layer to be used for coloring

n
in query
number (double)

Northern border

s
in query
number (double)

Southern border

e
in query
number (double)

Eastern border

w
in query
number (double)

Western border

width
in query
number (integer) 800

Image width in pixel, default is 800

height
in query
number (integer) 600

Image height in pixel, default is 600

200 OK

The shade/color composition PNG image

The error message and a detailed log why rendering did not succeeded

Response Content-Types: image/png
Response Example (400 Bad Request)
{
  "accept_datetime": "2018-05-06 22:02:14.323815",
  "accept_timestamp": 1525636934.3238132,
  "api_info": {
    "endpoint": "mapsetmanagementresourceuser",
    "method": "GET",
    "path": "/locations/nc_spm_08/mapsets/PERMANE/info",
    "request_url": "http://localhost/api/v1/locations/nc_spm_08/mapsets/PERMANE/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\n    raise AsyncProcessError(\"Error while running executable <%s>\" % process.executable)\n"
    ],
    "type": "<class 'actinia_core.resources.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/v1/resources/user/resource_id-79608249-521c-4a98-9e1f-9201f693870b"
  },
  "user_id": "user"
}

Raster Statistics

Compute areal categorical statistics on a raster map layer based on an input polygon asynchronously

POST /locations/{location_name}/mapsets/{mapset_name}/raster_layers/{raster_name}/area_stats_async

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.

GeoJSON definition of the polygon to compute the statistics for.

location_name
in path
string

The location name

mapset_name
in path
string

The name of the mapset that contains the required raster map layer

raster_name
in path
string

The name of the raster map layer to compute the statistics from

Request Content-Types: application/json
Request Example
"string"

The result of the areal raster statistical computation

The error message and a detailed log why raster statistic did not succeeded

Response Example (200 OK)
{
  "accept_datetime": "2018-05-04 22:02:42.503999",
  "accept_timestamp": 1525464162.5039973,
  "api_info": {
    "endpoint": "syncephemeralrasterareastatsresource",
    "method": "POST",
    "path": "/api/v1/locations/nc_spm_08/mapsets/PERMANENT/raster_layers/landuse96_28m/area_stats_sync",
    "request_url": "http://localhost/api/v1/locations/nc_spm_08/mapsets/PERMANENT/raster_layers/landuse96_28m/area_stats_sync"
  },
  "datetime": "2018-05-04 22:02:43.014544",
  "http_code": 200,
  "message": "Processing successfully finished",
  "process_chain_list": [
    {
      "1": {
        "inputs": {
          "input": "/tmp/gisdbase_c9071ae8c7844743a40fc2f864911a69/.tmp/tmpfgs_4jur"
        },
        "module": "v.import",
        "outputs": {
          "output": {
            "name": "polygon"
          }
        },
        "superquiet": true
      }
    },
    {
      "2": {
        "flags": "p",
        "inputs": {
          "align": "landuse96_28m@PERMANENT",
          "vector": "polygon"
        },
        "module": "g.region"
      },
      "3": {
        "inputs": {
          "vector": "polygon"
        },
        "module": "r.mask",
        "superquiet": true
      },
      "4": {
        "flags": "acpl",
        "inputs": {
          "input": "landuse96_28m@PERMANENT",
          "separator": "|"
        },
        "module": "r.stats",
        "outputs": {
          "output": {
            "name": "/tmp/gisdbase_c9071ae8c7844743a40fc2f864911a69/.tmp/tmp00trsfwh"
          }
        },
        "superquiet": true
      }
    }
  ],
  "process_log": [
    {
      "executable": "v.import",
      "parameter": [
        "input=/tmp/gisdbase_c9071ae8c7844743a40fc2f864911a69/.tmp/tmpfgs_4jur",
        "output=polygon",
        "--qq"
      ],
      "return_code": 0,
      "run_time": 0.15042471885681152,
      "stderr": [
        "WARNING: Width for column fid set to 255 (was not specified by OGR), some strings may be truncated!",
        ""
      ],
      "stdout": ""
    },
    {
      "executable": "g.region",
      "parameter": [
        "vector=polygon",
        "align=landuse96_28m@PERMANENT",
        "-p"
      ],
      "return_code": 0,
      "run_time": 0.050189971923828125,
      "stderr": [
        ""
      ],
      "stdout": "projection: 99 (Lambert Conformal Conic)\nzone:       0\ndatum:      nad83\nellipsoid:  a=6378137 es=0.006694380022900787\nnorth:      228527.25\nsouth:      214989.75\nwest:       629980\neast:       645028\nnsres:      28.5\newres:      28.5\nrows:       475\ncols:       528\ncells:      250800\n"
    },
    {
      "executable": "r.mask",
      "parameter": [
        "vector=polygon",
        "--qq"
      ],
      "return_code": 0,
      "run_time": 0.1504218578338623,
      "stderr": [
        ""
      ],
      "stdout": ""
    },
    {
      "executable": "r.stats",
      "parameter": [
        "separator=|",
        "input=landuse96_28m@PERMANENT",
        "output=/tmp/gisdbase_c9071ae8c7844743a40fc2f864911a69/.tmp/tmp00trsfwh",
        "-acpl",
        "--qq"
      ],
      "return_code": 0,
      "run_time": 0.050148725509643555,
      "stderr": [
        ""
      ],
      "stdout": ""
    }
  ],
  "process_results": [
    {
      "area": 812.25,
      "cat": "0",
      "cell_count": 1,
      "name": "not classified",
      "percent": 0
    },
    {
      "area": 28297165.5,
      "cat": "1",
      "cell_count": 34838,
      "name": "High Intensity Developed",
      "percent": 13.89
    },
    {
      "area": 30871185.75,
      "cat": "2",
      "cell_count": 38007,
      "name": "Low Intensity Developed",
      "percent": 15.16
    },
    {
      "area": 1727655.75,
      "cat": "3",
      "cell_count": 2127,
      "name": "Cultivated",
      "percent": 0.85
    },
    {
      "area": 20610843.75,
      "cat": "4",
      "cell_count": 25375,
      "name": "Managed Herbaceous Cover",
      "percent": 10.12
    },
    {
      "area": 24367.5,
      "cat": "6",
      "cell_count": 30,
      "name": "Riverine/Estuarine Herbaceous",
      "percent": 0.01
    },
    {
      "area": 13308716.25,
      "cat": "7",
      "cell_count": 16385,
      "name": "Evergreen Shrubland",
      "percent": 6.53
    },
    {
      "area": 256671,
      "cat": "8",
      "cell_count": 316,
      "name": "Deciduous Shrubland",
      "percent": 0.13
    },
    {
      "area": 36551.25,
      "cat": "9",
      "cell_count": 45,
      "name": "Mixed Shrubland",
      "percent": 0.02
    },
    {
      "area": 6394032,
      "cat": "10",
      "cell_count": 7872,
      "name": "Mixed Hardwoods",
      "percent": 3.14
    },
    {
      "area": 15972896.25,
      "cat": "11",
      "cell_count": 19665,
      "name": "Bottomland Hardwoods/Hardwood Swamps",
      "percent": 7.84
    },
    {
      "area": 52401496.5,
      "cat": "15",
      "cell_count": 64514,
      "name": "Southern Yellow Pine",
      "percent": 25.72
    },
    {
      "area": 27352518.75,
      "cat": "18",
      "cell_count": 33675,
      "name": "Mixed Hardwoods/Conifers",
      "percent": 13.43
    },
    {
      "area": 4289492.25,
      "cat": "20",
      "cell_count": 5281,
      "name": "Water Bodies",
      "percent": 2.11
    },
    {
      "area": 157576.5,
      "cat": "21",
      "cell_count": 194,
      "name": "Unconsolidated Sediment",
      "percent": 0.08
    },
    {
      "area": 2010318.75,
      "cat": "*",
      "cell_count": 2475,
      "name": "no data",
      "percent": 0.99
    }
  ],
  "progress": {
    "num_of_steps": 4,
    "step": 4
  },
  "resource_id": "resource_id-9757d66b-4986-4bc7-9b7d-7f985900fb20",
  "status": "finished",
  "time_delta": 0.5105781555175781,
  "timestamp": 1525464163.0145323,
  "urls": {
    "resources": [],
    "status": "http://localhost/api/v1/resources/admin/resource_id-9757d66b-4986-4bc7-9b7d-7f985900fb20"
  },
  "user_id": "admin"
}
Response Example (400 Bad Request)
{
  "accept_datetime": "2018-05-06 22:02:14.323815",
  "accept_timestamp": 1525636934.3238132,
  "api_info": {
    "endpoint": "mapsetmanagementresourceuser",
    "method": "GET",
    "path": "/locations/nc_spm_08/mapsets/PERMANE/info",
    "request_url": "http://localhost/api/v1/locations/nc_spm_08/mapsets/PERMANE/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\n    raise AsyncProcessError(\"Error while running executable <%s>\" % process.executable)\n"
    ],
    "type": "<class 'actinia_core.resources.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/v1/resources/user/resource_id-79608249-521c-4a98-9e1f-9201f693870b"
  },
  "user_id": "user"
}

Compute areal categorical statistics on a raster map layer based on an input polygon synchronously

POST /locations/{location_name}/mapsets/{mapset_name}/raster_layers/{raster_name}/area_stats_sync

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.

GeoJSON definition of the polygon to compute the statistics for.

location_name
in path
string

The location name

mapset_name
in path
string

The name of the mapset that contains the required raster map layer

raster_name
in path
string

The name of the raster map layer to compute the statistics from

Request Content-Types: application/json
Request Example
"string"

The result of the areal raster statistical computation

The error message and a detailed log why raster statistic did not succeeded

Response Example (200 OK)
{
  "accept_datetime": "2018-05-04 22:02:42.503999",
  "accept_timestamp": 1525464162.5039973,
  "api_info": {
    "endpoint": "syncephemeralrasterareastatsresource",
    "method": "POST",
    "path": "/api/v1/locations/nc_spm_08/mapsets/PERMANENT/raster_layers/landuse96_28m/area_stats_sync",
    "request_url": "http://localhost/api/v1/locations/nc_spm_08/mapsets/PERMANENT/raster_layers/landuse96_28m/area_stats_sync"
  },
  "datetime": "2018-05-04 22:02:43.014544",
  "http_code": 200,
  "message": "Processing successfully finished",
  "process_chain_list": [
    {
      "1": {
        "inputs": {
          "input": "/tmp/gisdbase_c9071ae8c7844743a40fc2f864911a69/.tmp/tmpfgs_4jur"
        },
        "module": "v.import",
        "outputs": {
          "output": {
            "name": "polygon"
          }
        },
        "superquiet": true
      }
    },
    {
      "2": {
        "flags": "p",
        "inputs": {
          "align": "landuse96_28m@PERMANENT",
          "vector": "polygon"
        },
        "module": "g.region"
      },
      "3": {
        "inputs": {
          "vector": "polygon"
        },
        "module": "r.mask",
        "superquiet": true
      },
      "4": {
        "flags": "acpl",
        "inputs": {
          "input": "landuse96_28m@PERMANENT",
          "separator": "|"
        },
        "module": "r.stats",
        "outputs": {
          "output": {
            "name": "/tmp/gisdbase_c9071ae8c7844743a40fc2f864911a69/.tmp/tmp00trsfwh"
          }
        },
        "superquiet": true
      }
    }
  ],
  "process_log": [
    {
      "executable": "v.import",
      "parameter": [
        "input=/tmp/gisdbase_c9071ae8c7844743a40fc2f864911a69/.tmp/tmpfgs_4jur",
        "output=polygon",
        "--qq"
      ],
      "return_code": 0,
      "run_time": 0.15042471885681152,
      "stderr": [
        "WARNING: Width for column fid set to 255 (was not specified by OGR), some strings may be truncated!",
        ""
      ],
      "stdout": ""
    },
    {
      "executable": "g.region",
      "parameter": [
        "vector=polygon",
        "align=landuse96_28m@PERMANENT",
        "-p"
      ],
      "return_code": 0,
      "run_time": 0.050189971923828125,
      "stderr": [
        ""
      ],
      "stdout": "projection: 99 (Lambert Conformal Conic)\nzone:       0\ndatum:      nad83\nellipsoid:  a=6378137 es=0.006694380022900787\nnorth:      228527.25\nsouth:      214989.75\nwest:       629980\neast:       645028\nnsres:      28.5\newres:      28.5\nrows:       475\ncols:       528\ncells:      250800\n"
    },
    {
      "executable": "r.mask",
      "parameter": [
        "vector=polygon",
        "--qq"
      ],
      "return_code": 0,
      "run_time": 0.1504218578338623,
      "stderr": [
        ""
      ],
      "stdout": ""
    },
    {
      "executable": "r.stats",
      "parameter": [
        "separator=|",
        "input=landuse96_28m@PERMANENT",
        "output=/tmp/gisdbase_c9071ae8c7844743a40fc2f864911a69/.tmp/tmp00trsfwh",
        "-acpl",
        "--qq"
      ],
      "return_code": 0,
      "run_time": 0.050148725509643555,
      "stderr": [
        ""
      ],
      "stdout": ""
    }
  ],
  "process_results": [
    {
      "area": 812.25,
      "cat": "0",
      "cell_count": 1,
      "name": "not classified",
      "percent": 0
    },
    {
      "area": 28297165.5,
      "cat": "1",
      "cell_count": 34838,
      "name": "High Intensity Developed",
      "percent": 13.89
    },
    {
      "area": 30871185.75,
      "cat": "2",
      "cell_count": 38007,
      "name": "Low Intensity Developed",
      "percent": 15.16
    },
    {
      "area": 1727655.75,
      "cat": "3",
      "cell_count": 2127,
      "name": "Cultivated",
      "percent": 0.85
    },
    {
      "area": 20610843.75,
      "cat": "4",
      "cell_count": 25375,
      "name": "Managed Herbaceous Cover",
      "percent": 10.12
    },
    {
      "area": 24367.5,
      "cat": "6",
      "cell_count": 30,
      "name": "Riverine/Estuarine Herbaceous",
      "percent": 0.01
    },
    {
      "area": 13308716.25,
      "cat": "7",
      "cell_count": 16385,
      "name": "Evergreen Shrubland",
      "percent": 6.53
    },
    {
      "area": 256671,
      "cat": "8",
      "cell_count": 316,
      "name": "Deciduous Shrubland",
      "percent": 0.13
    },
    {
      "area": 36551.25,
      "cat": "9",
      "cell_count": 45,
      "name": "Mixed Shrubland",
      "percent": 0.02
    },
    {
      "area": 6394032,
      "cat": "10",
      "cell_count": 7872,
      "name": "Mixed Hardwoods",
      "percent": 3.14
    },
    {
      "area": 15972896.25,
      "cat": "11",
      "cell_count": 19665,
      "name": "Bottomland Hardwoods/Hardwood Swamps",
      "percent": 7.84
    },
    {
      "area": 52401496.5,
      "cat": "15",
      "cell_count": 64514,
      "name": "Southern Yellow Pine",
      "percent": 25.72
    },
    {
      "area": 27352518.75,
      "cat": "18",
      "cell_count": 33675,
      "name": "Mixed Hardwoods/Conifers",
      "percent": 13.43
    },
    {
      "area": 4289492.25,
      "cat": "20",
      "cell_count": 5281,
      "name": "Water Bodies",
      "percent": 2.11
    },
    {
      "area": 157576.5,
      "cat": "21",
      "cell_count": 194,
      "name": "Unconsolidated Sediment",
      "percent": 0.08
    },
    {
      "area": 2010318.75,
      "cat": "*",
      "cell_count": 2475,
      "name": "no data",
      "percent": 0.99
    }
  ],
  "progress": {
    "num_of_steps": 4,
    "step": 4
  },
  "resource_id": "resource_id-9757d66b-4986-4bc7-9b7d-7f985900fb20",
  "status": "finished",
  "time_delta": 0.5105781555175781,
  "timestamp": 1525464163.0145323,
  "urls": {
    "resources": [],
    "status": "http://localhost/api/v1/resources/admin/resource_id-9757d66b-4986-4bc7-9b7d-7f985900fb20"
  },
  "user_id": "admin"
}
Response Example (400 Bad Request)
{
  "accept_datetime": "2018-05-06 22:02:14.323815",
  "accept_timestamp": 1525636934.3238132,
  "api_info": {
    "endpoint": "mapsetmanagementresourceuser",
    "method": "GET",
    "path": "/locations/nc_spm_08/mapsets/PERMANE/info",
    "request_url": "http://localhost/api/v1/locations/nc_spm_08/mapsets/PERMANE/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\n    raise AsyncProcessError(\"Error while running executable <%s>\" % process.executable)\n"
    ],
    "type": "<class 'actinia_core.resources.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/v1/resources/user/resource_id-79608249-521c-4a98-9e1f-9201f693870b"
  },
  "user_id": "user"
}

Compute areal univariate statistics on a raster map layer based on an input polygon asynchronously.

POST /locations/{location_name}/mapsets/{mapset_name}/raster_layers/{raster_name}/area_stats_univar_async

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.

GeoJSON definition of the polygon to compute the statistics for.

location_name
in path
string

The location name

mapset_name
in path
string

The name of the mapset that contains the required raster map layer

raster_name
in path
string

The name of the raster map layer to compute the statistics from

Request Content-Types: application/json
Request Example
"string"

The result of the areal raster statistical computation

The error message and a detailed log why raster statistic did not succeeded

Response Example (200 OK)
{
  "accept_datetime": "2018-05-04 22:07:14.108967",
  "accept_timestamp": 1525464434.1089664,
  "api_info": {
    "endpoint": "syncephemeralrasterareastatsunivarresource",
    "method": "POST",
    "path": "/api/v1/locations/nc_spm_08/mapsets/PERMANENT/raster_layers/towns/area_stats_univar_sync",
    "request_url": "http://localhost/api/v1/locations/nc_spm_08/mapsets/PERMANENT/raster_layers/towns/area_stats_univar_sync"
  },
  "datetime": "2018-05-04 22:07:15.793146",
  "http_code": 200,
  "message": "Processing successfully finished",
  "process_chain_list": [
    {
      "1": {
        "inputs": {
          "input": "/tmp/gisdbase_d36dd6841e7446f3b8d3b1bf5adcf527/.tmp/tmpdqtuzub4"
        },
        "module": "v.import",
        "outputs": {
          "output": {
            "name": "polygon"
          }
        },
        "superquiet": true
      }
    },
    {
      "2": {
        "flags": "p",
        "inputs": {
          "vector": "polygon"
        },
        "module": "g.region"
      },
      "3": {
        "inputs": {
          "column_prefix": "raster",
          "map": "polygon",
          "method": "number,minimum,maximum,range,average,median,stddev,sum,variance,coeff_var",
          "raster": "towns@PERMANENT"
        },
        "module": "v.rast.stats",
        "superquiet": true
      },
      "4": {
        "inputs": {
          "map": "polygon"
        },
        "module": "v.db.select",
        "outputs": {
          "file": {
            "name": "/tmp/gisdbase_d36dd6841e7446f3b8d3b1bf5adcf527/.tmp/tmpztw47z19"
          }
        }
      }
    }
  ],
  "process_log": [
    {
      "executable": "v.import",
      "parameter": [
        "input=/tmp/gisdbase_d36dd6841e7446f3b8d3b1bf5adcf527/.tmp/tmpdqtuzub4",
        "output=polygon",
        "--qq"
      ],
      "return_code": 0,
      "run_time": 0.1504511833190918,
      "stderr": [
        "WARNING: Width for column fid set to 255 (was not specified by OGR), some strings may be truncated!",
        ""
      ],
      "stdout": ""
    },
    {
      "executable": "g.region",
      "parameter": [
        "vector=polygon",
        "-p"
      ],
      "return_code": 0,
      "run_time": 0.050218820571899414,
      "stderr": [
        ""
      ],
      "stdout": "projection: 99 (Lambert Conformal Conic)\nzone:       0\ndatum:      nad83\nellipsoid:  a=6378137 es=0.006694380022900787\nnorth:      228500\nsouth:      215000\nwest:       630000\neast:       645000\nnsres:      500\newres:      500\nrows:       27\ncols:       30\ncells:      810\n"
    },
    {
      "executable": "v.rast.stats",
      "parameter": [
        "raster=towns@PERMANENT",
        "map=polygon",
        "column_prefix=raster",
        "method=number,minimum,maximum,range,average,median,stddev,sum,variance,coeff_var",
        "--qq"
      ],
      "return_code": 0,
      "run_time": 1.354858636856079,
      "stderr": [
        ""
      ],
      "stdout": ""
    },
    {
      "executable": "v.db.select",
      "parameter": [
        "map=polygon",
        "file=/tmp/gisdbase_d36dd6841e7446f3b8d3b1bf5adcf527/.tmp/tmpztw47z19"
      ],
      "return_code": 0,
      "run_time": 0.05019712448120117,
      "stderr": [
        ""
      ],
      "stdout": ""
    }
  ],
  "process_results": [
    {
      "cat": "1",
      "fid": "swwake_10m.0",
      "raster_average": 4.27381481481481,
      "raster_coeff_var": 36.2154244540989,
      "raster_maximum": 6,
      "raster_median": 5,
      "raster_minimum": 1,
      "raster_number": 2025000,
      "raster_range": 5,
      "raster_stddev": 1.54778017556735,
      "raster_sum": 8654475,
      "raster_variance": 2.39562347187929
    }
  ],
  "progress": {
    "num_of_steps": 4,
    "step": 4
  },
  "resource_id": "resource_id-ed2c2fdb-9963-4f71-acd0-1fbdff93f590",
  "status": "finished",
  "time_delta": 1.6842188835144043,
  "timestamp": 1525464435.7931283,
  "urls": {
    "resources": [],
    "status": "http://localhost/api/v1/resources/admin/resource_id-ed2c2fdb-9963-4f71-acd0-1fbdff93f590"
  },
  "user_id": "admin"
}
Response Example (400 Bad Request)
{
  "accept_datetime": "2018-05-06 22:02:14.323815",
  "accept_timestamp": 1525636934.3238132,
  "api_info": {
    "endpoint": "mapsetmanagementresourceuser",
    "method": "GET",
    "path": "/locations/nc_spm_08/mapsets/PERMANE/info",
    "request_url": "http://localhost/api/v1/locations/nc_spm_08/mapsets/PERMANE/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\n    raise AsyncProcessError(\"Error while running executable <%s>\" % process.executable)\n"
    ],
    "type": "<class 'actinia_core.resources.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/v1/resources/user/resource_id-79608249-521c-4a98-9e1f-9201f693870b"
  },
  "user_id": "user"
}

Compute areal univariate statistics on a raster map layer based on an input polygon synchronously.

POST /locations/{location_name}/mapsets/{mapset_name}/raster_layers/{raster_name}/area_stats_univar_sync

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.

GeoJSON definition of the polygon to compute the statistics for.

location_name
in path
string

The location name

mapset_name
in path
string

The name of the mapset that contains the required raster map layer

raster_name
in path
string

The name of the raster map layer to compute the statistics from

Request Content-Types: application/json
Request Example
"string"

The result of the areal raster statistical computation

The error message and a detailed log why raster statistic did not succeeded

Response Example (200 OK)
{
  "accept_datetime": "2018-05-04 22:07:14.108967",
  "accept_timestamp": 1525464434.1089664,
  "api_info": {
    "endpoint": "syncephemeralrasterareastatsunivarresource",
    "method": "POST",
    "path": "/api/v1/locations/nc_spm_08/mapsets/PERMANENT/raster_layers/towns/area_stats_univar_sync",
    "request_url": "http://localhost/api/v1/locations/nc_spm_08/mapsets/PERMANENT/raster_layers/towns/area_stats_univar_sync"
  },
  "datetime": "2018-05-04 22:07:15.793146",
  "http_code": 200,
  "message": "Processing successfully finished",
  "process_chain_list": [
    {
      "1": {
        "inputs": {
          "input": "/tmp/gisdbase_d36dd6841e7446f3b8d3b1bf5adcf527/.tmp/tmpdqtuzub4"
        },
        "module": "v.import",
        "outputs": {
          "output": {
            "name": "polygon"
          }
        },
        "superquiet": true
      }
    },
    {
      "2": {
        "flags": "p",
        "inputs": {
          "vector": "polygon"
        },
        "module": "g.region"
      },
      "3": {
        "inputs": {
          "column_prefix": "raster",
          "map": "polygon",
          "method": "number,minimum,maximum,range,average,median,stddev,sum,variance,coeff_var",
          "raster": "towns@PERMANENT"
        },
        "module": "v.rast.stats",
        "superquiet": true
      },
      "4": {
        "inputs": {
          "map": "polygon"
        },
        "module": "v.db.select",
        "outputs": {
          "file": {
            "name": "/tmp/gisdbase_d36dd6841e7446f3b8d3b1bf5adcf527/.tmp/tmpztw47z19"
          }
        }
      }
    }
  ],
  "process_log": [
    {
      "executable": "v.import",
      "parameter": [
        "input=/tmp/gisdbase_d36dd6841e7446f3b8d3b1bf5adcf527/.tmp/tmpdqtuzub4",
        "output=polygon",
        "--qq"
      ],
      "return_code": 0,
      "run_time": 0.1504511833190918,
      "stderr": [
        "WARNING: Width for column fid set to 255 (was not specified by OGR), some strings may be truncated!",
        ""
      ],
      "stdout": ""
    },
    {
      "executable": "g.region",
      "parameter": [
        "vector=polygon",
        "-p"
      ],
      "return_code": 0,
      "run_time": 0.050218820571899414,
      "stderr": [
        ""
      ],
      "stdout": "projection: 99 (Lambert Conformal Conic)\nzone:       0\ndatum:      nad83\nellipsoid:  a=6378137 es=0.006694380022900787\nnorth:      228500\nsouth:      215000\nwest:       630000\neast:       645000\nnsres:      500\newres:      500\nrows:       27\ncols:       30\ncells:      810\n"
    },
    {
      "executable": "v.rast.stats",
      "parameter": [
        "raster=towns@PERMANENT",
        "map=polygon",
        "column_prefix=raster",
        "method=number,minimum,maximum,range,average,median,stddev,sum,variance,coeff_var",
        "--qq"
      ],
      "return_code": 0,
      "run_time": 1.354858636856079,
      "stderr": [
        ""
      ],
      "stdout": ""
    },
    {
      "executable": "v.db.select",
      "parameter": [
        "map=polygon",
        "file=/tmp/gisdbase_d36dd6841e7446f3b8d3b1bf5adcf527/.tmp/tmpztw47z19"
      ],
      "return_code": 0,
      "run_time": 0.05019712448120117,
      "stderr": [
        ""
      ],
      "stdout": ""
    }
  ],
  "process_results": [
    {
      "cat": "1",
      "fid": "swwake_10m.0",
      "raster_average": 4.27381481481481,
      "raster_coeff_var": 36.2154244540989,
      "raster_maximum": 6,
      "raster_median": 5,
      "raster_minimum": 1,
      "raster_number": 2025000,
      "raster_range": 5,
      "raster_stddev": 1.54778017556735,
      "raster_sum": 8654475,
      "raster_variance": 2.39562347187929
    }
  ],
  "progress": {
    "num_of_steps": 4,
    "step": 4
  },
  "resource_id": "resource_id-ed2c2fdb-9963-4f71-acd0-1fbdff93f590",
  "status": "finished",
  "time_delta": 1.6842188835144043,
  "timestamp": 1525464435.7931283,
  "urls": {
    "resources": [],
    "status": "http://localhost/api/v1/resources/admin/resource_id-ed2c2fdb-9963-4f71-acd0-1fbdff93f590"
  },
  "user_id": "admin"
}
Response Example (400 Bad Request)
{
  "accept_datetime": "2018-05-06 22:02:14.323815",
  "accept_timestamp": 1525636934.3238132,
  "api_info": {
    "endpoint": "mapsetmanagementresourceuser",
    "method": "GET",
    "path": "/locations/nc_spm_08/mapsets/PERMANE/info",
    "request_url": "http://localhost/api/v1/locations/nc_spm_08/mapsets/PERMANE/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\n    raise AsyncProcessError(\"Error while running executable <%s>\" % process.executable)\n"
    ],
    "type": "<class 'actinia_core.resources.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/v1/resources/user/resource_id-79608249-521c-4a98-9e1f-9201f693870b"
  },
  "user_id": "user"
}

STRDS Management

Get a list of all STRDS that are located in a specific location/mapset.

GET /locations/{location_name}/mapsets/{mapset_name}/strds

Get a list of all STRDS that are located in a specific location/mapset. Minimum required user role: user.

location_name
in path
string

The name of the location

mapset_name
in path
string

The name of the mapset

where
in query
string

A where statement to select user specific STRDS

This response returns a list of STRDS names and timestamps and the log of the process chain that was used to create the response.

The error message and a detailed log why listing of STRDS did not succeeded

Response Example (200 OK)
{
  "accept_datetime": "2018-05-02 12:02:20.746845",
  "accept_timestamp": 1525255340.746844,
  "api_info": {
    "endpoint": "listmapsetsresource",
    "method": "GET",
    "path": "/locations/nc_spm_08/mapsets",
    "request_url": "http://localhost:5000/locations/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"
}
Response Example (400 Bad Request)
{
  "accept_datetime": "2018-05-06 22:02:14.323815",
  "accept_timestamp": 1525636934.3238132,
  "api_info": {
    "endpoint": "mapsetmanagementresourceuser",
    "method": "GET",
    "path": "/locations/nc_spm_08/mapsets/PERMANE/info",
    "request_url": "http://localhost/api/v1/locations/nc_spm_08/mapsets/PERMANE/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\n    raise AsyncProcessError(\"Error while running executable <%s>\" % process.executable)\n"
    ],
    "type": "<class 'actinia_core.resources.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/v1/resources/user/resource_id-79608249-521c-4a98-9e1f-9201f693870b"
  },
  "user_id": "user"
}

Delete a STRDS that is located in a specific location/mapset.

DELETE /locations/{location_name}/mapsets/{mapset_name}/strds/{strds_name}

Delete a STRDS that is located in a specific location/mapset. Minimum required user role: user.

location_name
in path
string

The name of the location

mapset_name
in path
string

The name of the mapset

strds_name
in path
string

The name of the STRDS

recursive
in query
boolean

Delete the STRDS and all registered raster map layer recursively

Deletion of the STRDS was successfully finished.

The error message and a detailed log why deletion of theSTRDS did not succeeded

Response Example (200 OK)
{
  "accept_datetime": "2017-05-24 22:37:21.607255",
  "accept_timestamp": 1495658241.607252,
  "api_info": {
    "endpoint": "asyncephemeralresource",
    "method": "POST",
    "path": "/locations/nc_spm_08/processing_async",
    "request_url": "http://localhost/api/v1/locations/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/v1/resources/admin/resource_id-2be8cafe-b451-46a0-be15-f61d95c5efa1"
  },
  "user_id": "admin"
}
Response Example (400 Bad Request)
{
  "accept_datetime": "2018-05-06 22:02:14.323815",
  "accept_timestamp": 1525636934.3238132,
  "api_info": {
    "endpoint": "mapsetmanagementresourceuser",
    "method": "GET",
    "path": "/locations/nc_spm_08/mapsets/PERMANE/info",
    "request_url": "http://localhost/api/v1/locations/nc_spm_08/mapsets/PERMANE/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\n    raise AsyncProcessError(\"Error while running executable <%s>\" % process.executable)\n"
    ],
    "type": "<class 'actinia_core.resources.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/v1/resources/user/resource_id-79608249-521c-4a98-9e1f-9201f693870b"
  },
  "user_id": "user"
}

Get information about a STRDS that is located in a specific location/mapset.

GET /locations/{location_name}/mapsets/{mapset_name}/strds/{strds_name}

Get information about a STRDS that is located in a specific location/mapset. Minimum required user role: user.

location_name
in path
string

The name of the location

mapset_name
in path
string

The name of the mapset

strds_name
in path
string

The name of the STRDS

This response returns information about a specific STRDS and the log of the process chain that was used to create the response.

The error message and a detailed log why information gathering of theSTRDS did not succeeded

Response Example (200 OK)
{
  "accept_datetime": "2018-05-02 10:36:43.119861",
  "accept_timestamp": 1525257403.119857,
  "api_info": {
    "endpoint": "strdsmanagementresource",
    "method": "GET",
    "path": "/locations/ECAD/mapsets/PERMANENT/strds/precipitation_1950_2013_yearly_mm",
    "request_url": "http://localhost:8080/locations/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",
    "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_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"
}
Response Example (400 Bad Request)
{
  "accept_datetime": "2018-05-06 22:02:14.323815",
  "accept_timestamp": 1525636934.3238132,
  "api_info": {
    "endpoint": "mapsetmanagementresourceuser",
    "method": "GET",
    "path": "/locations/nc_spm_08/mapsets/PERMANE/info",
    "request_url": "http://localhost/api/v1/locations/nc_spm_08/mapsets/PERMANE/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\n    raise AsyncProcessError(\"Error while running executable <%s>\" % process.executable)\n"
    ],
    "type": "<class 'actinia_core.resources.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/v1/resources/user/resource_id-79608249-521c-4a98-9e1f-9201f693870b"
  },
  "user_id": "user"
}

Create a new STRDS in a specific location/mapset.

POST /locations/{location_name}/mapsets/{mapset_name}/strds/{strds_name}

Create a new STRDS in a specific location/mapset. Minimum required user role: user.

Temporal type, title and description of the STRDS

location_name
in path
string

The name of the location

mapset_name
in path
string

The name of the mapset

strds_name
in path
string

The name of the STRDS

Request Example
{
  "title": "Monthly mean temperature from 1950-2010 for Germany",
  "description": "Monthly mean temperature from 1950-2010 for Germany in degree celsius",
  "ttype": "absolute"
}

Creation of the STRDS was successfully finished.

The error message and a detailed log why creation of theSTRDS did not succeeded

Response Example (200 OK)
{
  "accept_datetime": "2017-05-24 22:37:21.607255",
  "accept_timestamp": 1495658241.607252,
  "api_info": {
    "endpoint": "asyncephemeralresource",
    "method": "POST",
    "path": "/locations/nc_spm_08/processing_async",
    "request_url": "http://localhost/api/v1/locations/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/v1/resources/admin/resource_id-2be8cafe-b451-46a0-be15-f61d95c5efa1"
  },
  "user_id": "admin"
}
Response Example (400 Bad Request)
{
  "accept_datetime": "2018-05-06 22:02:14.323815",
  "accept_timestamp": 1525636934.3238132,
  "api_info": {
    "endpoint": "mapsetmanagementresourceuser",
    "method": "GET",
    "path": "/locations/nc_spm_08/mapsets/PERMANE/info",
    "request_url": "http://localhost/api/v1/locations/nc_spm_08/mapsets/PERMANE/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\n    raise AsyncProcessError(\"Error while running executable <%s>\" % process.executable)\n"
    ],
    "type": "<class 'actinia_core.resources.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/v1/resources/user/resource_id-79608249-521c-4a98-9e1f-9201f693870b"
  },
  "user_id": "user"
}

Unregister raster map layers from a STRDS located in a specific location/mapset.

DELETE /locations/{location_name}/mapsets/{mapset_name}/strds/{strds_name}/raster_layers

Unregister raster map layers from a STRDS located in a specific location/mapset. Minimum required user role: user.

The list of raster map layers to be unregistered from the STRDS

string
location_name
in path
string

The name of the location

mapset_name
in path
string

The name of the mapset

strds_name
in path
string

The name of the STRDS

Request Example
[
  "string"
]

Unregistration of raster map layers was successfully finished.

The error message and a detailed log why raster map layer unregistration did not succeeded

Response Example (200 OK)
{
  "accept_datetime": "2017-05-24 22:37:21.607255",
  "accept_timestamp": 1495658241.607252,
  "api_info": {
    "endpoint": "asyncephemeralresource",
    "method": "POST",
    "path": "/locations/nc_spm_08/processing_async",
    "request_url": "http://localhost/api/v1/locations/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/v1/resources/admin/resource_id-2be8cafe-b451-46a0-be15-f61d95c5efa1"
  },
  "user_id": "admin"
}
Response Example (400 Bad Request)
{
  "accept_datetime": "2018-05-06 22:02:14.323815",
  "accept_timestamp": 1525636934.3238132,
  "api_info": {
    "endpoint": "mapsetmanagementresourceuser",
    "method": "GET",
    "path": "/locations/nc_spm_08/mapsets/PERMANE/info",
    "request_url": "http://localhost/api/v1/locations/nc_spm_08/mapsets/PERMANE/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\n    raise AsyncProcessError(\"Error while running executable <%s>\" % process.executable)\n"
    ],
    "type": "<class 'actinia_core.resources.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/v1/resources/user/resource_id-79608249-521c-4a98-9e1f-9201f693870b"
  },
  "user_id": "user"
}

Get a list of all raster map layers that are registered in a STRDS

GET /locations/{location_name}/mapsets/{mapset_name}/strds/{strds_name}/raster_layers

Get a list of all raster map layers that are registered in a STRDS that is located in a specific location/mapset. Minimum required user role: user.

location_name
in path
string

The name of the location

mapset_name
in path
string

The name of the mapset

strds_name
in path
string

The name of the STRDS

where
in query
string

A where statement to select user specific raster map layers from the STRDS

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.

The error message and a detailed log why creating a list of raster map layers from STRDS did not succeeded

Response Example (200 OK)
{
  "accept_datetime": "2018-05-06 21:28:18.583050",
  "accept_timestamp": 1525634898.5830483,
  "api_info": {
    "endpoint": "strdsrastermanagement",
    "method": "GET",
    "path": "/locations/ECAD/mapsets/PERMANENT/strds/precipitation_1950_2013_yearly_mm/raster_layers",
    "request_url": "http://localhost:5000/locations/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"
}
Response Example (400 Bad Request)
{
  "accept_datetime": "2018-05-06 22:02:14.323815",
  "accept_timestamp": 1525636934.3238132,
  "api_info": {
    "endpoint": "mapsetmanagementresourceuser",
    "method": "GET",
    "path": "/locations/nc_spm_08/mapsets/PERMANE/info",
    "request_url": "http://localhost/api/v1/locations/nc_spm_08/mapsets/PERMANE/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\n    raise AsyncProcessError(\"Error while running executable <%s>\" % process.executable)\n"
    ],
    "type": "<class 'actinia_core.resources.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/v1/resources/user/resource_id-79608249-521c-4a98-9e1f-9201f693870b"
  },
  "user_id": "user"
}

Register raster map layers in a STRDS located in a specific location/mapset.

PUT /locations/{location_name}/mapsets/{mapset_name}/strds/{strds_name}/raster_layers

Register raster map layers in a STRDS located in a specific location/mapset. Minimum required user role: user.

The list of raster map layers to be registered in the STRDS

location_name
in path
string

The name of the location

mapset_name
in path
string

The name of the mapset

strds_name
in path
string

The name of the STRDS

Request 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"
  }
]

Registration of raster map layers was successfully finished.

The error message and a detailed log why raster map layer registration did not succeeded

Response Example (200 OK)
{
  "accept_datetime": "2017-05-24 22:37:21.607255",
  "accept_timestamp": 1495658241.607252,
  "api_info": {
    "endpoint": "asyncephemeralresource",
    "method": "POST",
    "path": "/locations/nc_spm_08/processing_async",
    "request_url": "http://localhost/api/v1/locations/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/v1/resources/admin/resource_id-2be8cafe-b451-46a0-be15-f61d95c5efa1"
  },
  "user_id": "admin"
}
Response Example (400 Bad Request)
{
  "accept_datetime": "2018-05-06 22:02:14.323815",
  "accept_timestamp": 1525636934.3238132,
  "api_info": {
    "endpoint": "mapsetmanagementresourceuser",
    "method": "GET",
    "path": "/locations/nc_spm_08/mapsets/PERMANE/info",
    "request_url": "http://localhost/api/v1/locations/nc_spm_08/mapsets/PERMANE/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\n    raise AsyncProcessError(\"Error while running executable <%s>\" % process.executable)\n"
    ],
    "type": "<class 'actinia_core.resources.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/v1/resources/user/resource_id-79608249-521c-4a98-9e1f-9201f693870b"
  },
  "user_id": "user"
}

Render the raster map layers of a specific STRDS as a single image.

GET /locations/{location_name}/mapsets/{mapset_name}/strds/{strds_name}/render

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.

location_name
in path
string nc_spm_08

The location name

mapset_name
in path
string PERMANENT

The name of the mapset that contains the required raster map layer

strds_name
in path
string elevation

The name of the STRDS to render

n
in query
number (double)

Northern border

s
in query
number (double)

Southern border

e
in query
number (double)

Eastern border

w
in query
number (double)

Western border

width
in query
number (integer) 800

Image width in pixel, default is 800

height
in query
number (integer) 600

Image height in pixel, default is 600

start_time
in query
string

Raster map layers that have equal or greater the start time will be rendered

end_time
in query
string

Raster map layers that have equal or lower the end time will be rendered

200 OK

The PNG image

The error message and a detailed log why rendering did not succeeded

Response Content-Types: image/png
Response Example (400 Bad Request)
{
  "accept_datetime": "2018-05-06 22:02:14.323815",
  "accept_timestamp": 1525636934.3238132,
  "api_info": {
    "endpoint": "mapsetmanagementresourceuser",
    "method": "GET",
    "path": "/locations/nc_spm_08/mapsets/PERMANE/info",
    "request_url": "http://localhost/api/v1/locations/nc_spm_08/mapsets/PERMANE/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\n    raise AsyncProcessError(\"Error while running executable <%s>\" % process.executable)\n"
    ],
    "type": "<class 'actinia_core.resources.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/v1/resources/user/resource_id-79608249-521c-4a98-9e1f-9201f693870b"
  },
  "user_id": "user"
}

STRDS Sampling

Sample a strds by point coordinates, asynchronous call

POST /locations/{location_name}/mapsets/{mapset_name}/strds/{strds_name}/sampling_async

Spatial sampling of a space-time raster dataset with vector points. The vector points must be in the same coordinate reference system as the location 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.

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 location that contains the space-time raster dataset.

location_name
in path
string

The location name

mapset_name
in path
string

The name of the mapset that contains the required raster map layer

strds_name
in path
string

The name of the space-time raster dataset that should be sampledS

Request Content-Types: application/json
Request Example
{
  "where": "start_time > '2001-01-01'",
  "points": [
    [
      "a",
      "1",
      "1"
    ],
    [
      "b",
      "2",
      "2"
    ],
    [
      "c",
      "3",
      "3"
    ]
  ]
}

The result of the strds sampling

The error message and a detailed log why strds sampling did not succeeded

Response Example (200 OK)
{
  "accept_datetime": "2017-05-11 10:09:47.237997",
  "accept_timestamp": 1494490187.237996,
  "api_info": {
    "endpoint": "syncephemeralstrdssamplingresource",
    "method": "POST",
    "path": "/locations/ECAD/mapsets/PERMANENT/strds/temperature_mean_1950_2013_yearly_celsius/sampling_sync",
    "request_url": "http://localhost/locations/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"
}
Response Example (400 Bad Request)
{
  "accept_datetime": "2018-05-06 22:02:14.323815",
  "accept_timestamp": 1525636934.3238132,
  "api_info": {
    "endpoint": "mapsetmanagementresourceuser",
    "method": "GET",
    "path": "/locations/nc_spm_08/mapsets/PERMANE/info",
    "request_url": "http://localhost/api/v1/locations/nc_spm_08/mapsets/PERMANE/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\n    raise AsyncProcessError(\"Error while running executable <%s>\" % process.executable)\n"
    ],
    "type": "<class 'actinia_core.resources.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/v1/resources/user/resource_id-79608249-521c-4a98-9e1f-9201f693870b"
  },
  "user_id": "user"
}

Sample a strds by point coordinates, asynchronous call

POST /locations/{location_name}/mapsets/{mapset_name}/strds/{strds_name}/sampling_async_geojson

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.

location_name
in path
string ECAD

The location name

mapset_name
in path
string PERMANENT

The name of the mapset that contains the required raster map layer

strds_name
in path
string temperature_mean_1950_2013_yearly_celsius

The name of the space-time raster dataset that should be sampled

Request Content-Types: application/json
Request Example

The result of the strds sampling

The error message and a detailed log why strds sampling did not succeeded

Response Example (200 OK)
{
  "accept_datetime": "2017-09-04 19:41:41.456341",
  "accept_timestamp": 1504546901.456339,
  "api_info": {
    "endpoint": "syncephemeralstrdssamplinggeojsonresource",
    "method": "POST",
    "path": "/api/v1/locations/ECAD/mapsets/PERMANENT/strds/temperature_mean_1950_2013_yearly_celsius/sampling_sync_geojson",
    "request_url": "http://localhost/api/v1/locations/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/v1/status/admin/resource_id-6ee74d8c-1ef6-4b01-a098-2bc04bcb75c8"
  },
  "user_id": "admin"
}
Response Example (400 Bad Request)
{
  "accept_datetime": "2018-05-06 22:02:14.323815",
  "accept_timestamp": 1525636934.3238132,
  "api_info": {
    "endpoint": "mapsetmanagementresourceuser",
    "method": "GET",
    "path": "/locations/nc_spm_08/mapsets/PERMANE/info",
    "request_url": "http://localhost/api/v1/locations/nc_spm_08/mapsets/PERMANE/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\n    raise AsyncProcessError(\"Error while running executable <%s>\" % process.executable)\n"
    ],
    "type": "<class 'actinia_core.resources.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/v1/resources/user/resource_id-79608249-521c-4a98-9e1f-9201f693870b"
  },
  "user_id": "user"
}

Sample a strds by point coordinates, synchronous call

POST /locations/{location_name}/mapsets/{mapset_name}/strds/{strds_name}/sampling_sync

Spatial sampling of a space-time raster dataset with vector points. The vector points must be in the same coordinate reference system as the location 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.

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 location that contains the space-time raster dataset.

location_name
in path
string

The location name

mapset_name
in path
string

The name of the mapset that contains the required raster map layer

strds_name
in path
string

The name of the space-time raster dataset that should be sampledS

Request Content-Types: application/json
Request Example
{
  "where": "start_time > '2001-01-01'",
  "points": [
    [
      "a",
      "1",
      "1"
    ],
    [
      "b",
      "2",
      "2"
    ],
    [
      "c",
      "3",
      "3"
    ]
  ]
}

The result of the strds sampling

The error message and a detailed log why strds sampling did not succeeded

Response Example (200 OK)
{
  "accept_datetime": "2017-05-11 10:09:47.237997",
  "accept_timestamp": 1494490187.237996,
  "api_info": {
    "endpoint": "syncephemeralstrdssamplingresource",
    "method": "POST",
    "path": "/locations/ECAD/mapsets/PERMANENT/strds/temperature_mean_1950_2013_yearly_celsius/sampling_sync",
    "request_url": "http://localhost/locations/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"
}
Response Example (400 Bad Request)
{
  "accept_datetime": "2018-05-06 22:02:14.323815",
  "accept_timestamp": 1525636934.3238132,
  "api_info": {
    "endpoint": "mapsetmanagementresourceuser",
    "method": "GET",
    "path": "/locations/nc_spm_08/mapsets/PERMANE/info",
    "request_url": "http://localhost/api/v1/locations/nc_spm_08/mapsets/PERMANE/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\n    raise AsyncProcessError(\"Error while running executable <%s>\" % process.executable)\n"
    ],
    "type": "<class 'actinia_core.resources.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/v1/resources/user/resource_id-79608249-521c-4a98-9e1f-9201f693870b"
  },
  "user_id": "user"
}

Sample a strds by point coordinates, synchronous call

POST /locations/{location_name}/mapsets/{mapset_name}/strds/{strds_name}/sampling_sync_geojson

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.

location_name
in path
string ECAD

The location name

mapset_name
in path
string PERMANENT

The name of the mapset that contains the required raster map layer

strds_name
in path
string temperature_mean_1950_2013_yearly_celsius

The name of the space-time raster dataset that should be sampled

Request Content-Types: application/json
Request Example

The result of the strds sampling

The error message and a detailed log why strds sampling did not succeeded

Response Example (200 OK)
{
  "accept_datetime": "2017-09-04 19:41:41.456341",
  "accept_timestamp": 1504546901.456339,
  "api_info": {
    "endpoint": "syncephemeralstrdssamplinggeojsonresource",
    "method": "POST",
    "path": "/api/v1/locations/ECAD/mapsets/PERMANENT/strds/temperature_mean_1950_2013_yearly_celsius/sampling_sync_geojson",
    "request_url": "http://localhost/api/v1/locations/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/v1/status/admin/resource_id-6ee74d8c-1ef6-4b01-a098-2bc04bcb75c8"
  },
  "user_id": "admin"
}
Response Example (400 Bad Request)
{
  "accept_datetime": "2018-05-06 22:02:14.323815",
  "accept_timestamp": 1525636934.3238132,
  "api_info": {
    "endpoint": "mapsetmanagementresourceuser",
    "method": "GET",
    "path": "/locations/nc_spm_08/mapsets/PERMANE/info",
    "request_url": "http://localhost/api/v1/locations/nc_spm_08/mapsets/PERMANE/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\n    raise AsyncProcessError(\"Error while running executable <%s>\" % process.executable)\n"
    ],
    "type": "<class 'actinia_core.resources.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/v1/resources/user/resource_id-79608249-521c-4a98-9e1f-9201f693870b"
  },
  "user_id": "user"
}

STRDS Statistics

Compute area statistics based on a vector map for a single raster

POST /locations/{location_name}/mapsets/{mapset_name}/strds/{strds_name}/timestamp/{timestamp}/area_stats_async

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.

GeoJSON definition of the polygon to compute the statistics for. The .

location_name
in path
string

The location name

mapset_name
in path
string

The name of the mapset that contains the required space-time raster dataset

strds_name
in path
string

The name of the space-time raster dataset to select the raster map layer from

timestamp
in path
string (dateTime)

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.

Request Content-Types: application/json
Request Example
"string"

The result of the areal raster statistical computation

The error message and a detailed log why raster statistic did not succeeded

Response Example (200 OK)
{
  "accept_datetime": "2018-05-04 22:02:42.503999",
  "accept_timestamp": 1525464162.5039973,
  "api_info": {
    "endpoint": "syncephemeralrasterareastatsresource",
    "method": "POST",
    "path": "/api/v1/locations/nc_spm_08/mapsets/PERMANENT/raster_layers/landuse96_28m/area_stats_sync",
    "request_url": "http://localhost/api/v1/locations/nc_spm_08/mapsets/PERMANENT/raster_layers/landuse96_28m/area_stats_sync"
  },
  "datetime": "2018-05-04 22:02:43.014544",
  "http_code": 200,
  "message": "Processing successfully finished",
  "process_chain_list": [
    {
      "1": {
        "inputs": {
          "input": "/tmp/gisdbase_c9071ae8c7844743a40fc2f864911a69/.tmp/tmpfgs_4jur"
        },
        "module": "v.import",
        "outputs": {
          "output": {
            "name": "polygon"
          }
        },
        "superquiet": true
      }
    },
    {
      "2": {
        "flags": "p",
        "inputs": {
          "align": "landuse96_28m@PERMANENT",
          "vector": "polygon"
        },
        "module": "g.region"
      },
      "3": {
        "inputs": {
          "vector": "polygon"
        },
        "module": "r.mask",
        "superquiet": true
      },
      "4": {
        "flags": "acpl",
        "inputs": {
          "input": "landuse96_28m@PERMANENT",
          "separator": "|"
        },
        "module": "r.stats",
        "outputs": {
          "output": {
            "name": "/tmp/gisdbase_c9071ae8c7844743a40fc2f864911a69/.tmp/tmp00trsfwh"
          }
        },
        "superquiet": true
      }
    }
  ],
  "process_log": [
    {
      "executable": "v.import",
      "parameter": [
        "input=/tmp/gisdbase_c9071ae8c7844743a40fc2f864911a69/.tmp/tmpfgs_4jur",
        "output=polygon",
        "--qq"
      ],
      "return_code": 0,
      "run_time": 0.15042471885681152,
      "stderr": [
        "WARNING: Width for column fid set to 255 (was not specified by OGR), some strings may be truncated!",
        ""
      ],
      "stdout": ""
    },
    {
      "executable": "g.region",
      "parameter": [
        "vector=polygon",
        "align=landuse96_28m@PERMANENT",
        "-p"
      ],
      "return_code": 0,
      "run_time": 0.050189971923828125,
      "stderr": [
        ""
      ],
      "stdout": "projection: 99 (Lambert Conformal Conic)\nzone:       0\ndatum:      nad83\nellipsoid:  a=6378137 es=0.006694380022900787\nnorth:      228527.25\nsouth:      214989.75\nwest:       629980\neast:       645028\nnsres:      28.5\newres:      28.5\nrows:       475\ncols:       528\ncells:      250800\n"
    },
    {
      "executable": "r.mask",
      "parameter": [
        "vector=polygon",
        "--qq"
      ],
      "return_code": 0,
      "run_time": 0.1504218578338623,
      "stderr": [
        ""
      ],
      "stdout": ""
    },
    {
      "executable": "r.stats",
      "parameter": [
        "separator=|",
        "input=landuse96_28m@PERMANENT",
        "output=/tmp/gisdbase_c9071ae8c7844743a40fc2f864911a69/.tmp/tmp00trsfwh",
        "-acpl",
        "--qq"
      ],
      "return_code": 0,
      "run_time": 0.050148725509643555,
      "stderr": [
        ""
      ],
      "stdout": ""
    }
  ],
  "process_results": [
    {
      "area": 812.25,
      "cat": "0",
      "cell_count": 1,
      "name": "not classified",
      "percent": 0
    },
    {
      "area": 28297165.5,
      "cat": "1",
      "cell_count": 34838,
      "name": "High Intensity Developed",
      "percent": 13.89
    },
    {
      "area": 30871185.75,
      "cat": "2",
      "cell_count": 38007,
      "name": "Low Intensity Developed",
      "percent": 15.16
    },
    {
      "area": 1727655.75,
      "cat": "3",
      "cell_count": 2127,
      "name": "Cultivated",
      "percent": 0.85
    },
    {
      "area": 20610843.75,
      "cat": "4",
      "cell_count": 25375,
      "name": "Managed Herbaceous Cover",
      "percent": 10.12
    },
    {
      "area": 24367.5,
      "cat": "6",
      "cell_count": 30,
      "name": "Riverine/Estuarine Herbaceous",
      "percent": 0.01
    },
    {
      "area": 13308716.25,
      "cat": "7",
      "cell_count": 16385,
      "name": "Evergreen Shrubland",
      "percent": 6.53
    },
    {
      "area": 256671,
      "cat": "8",
      "cell_count"