Skip to main content

Lizard raster reducer is a tool to auto-generate regional reports from Lizard data.

Project description

lizard-raster-reducer

Introduction

Lizard raster reducer is a tool to auto-generate regional reports from Lizard data. It “reduces” raster data to aggregate statistics for multiple regions. Lizard API endpoints are used to retrieve data. The main ones are search, rasters, regions and raster-aggregates. To prevent API overload, the tool creates and fills a ‘lizard_cache’ folder by default.

Multiple rasters can be specified. The first raster will act as the scope raster. The scope raster determines the spatial extent and temporal behaviour of the result. Rasters can be temporal or static. Rasters can contain continuous values or discrete classes. Regions of one region type are used for the result. Regions within the spatial extent of the scope raster are used in the result. A configuration file is used to customize the output.

The results are aggregate numbers of data per region. When the data type is interval or ratio, the average of the region is returned. When data are classes, the area fraction per class are returned. The output format can be specified to be CSV, JSON or HTML.

Installation

We can be installed with:

$ pip install lizard-raster-reducer

Usage (iPython notebook example)

This example notebook (link) exemplifies how the Lizard raster reducer can be used.

Usage (command line example)

Create .yml configuration files from templates:

$ run-lizard-raster-reducer
  1. Specify reducer options in reducer_options.yml.

  2. Specify Lizard credentials in credentials.yml

  3. Review optional arguments to pass: run-lizard-raster-reducer -h

  4. Run the code: run-lizard-raster-reducer

  5. Find result(s) in local sub-folder /reducer_results

Development installation of this project itself

We’re installed with pipenv, a handy wrapper around pip and virtualenv. Install that first with pip install pipenv. Then run:

$ PIPENV_VENV_IN_PROJECT=1 pipenv --three
$ pipenv install --dev

There will be a script you can run like this:

$ pipenv run run-lizard-raster-reducer

It runs the main() function in lizard-raster-reducer/scripts.py, adjust that if necessary. The script is configured in setup.py (see entry_points).

In order to get nicely formatted python files without having to spend manual work on it, run the following command periodically:

$ pipenv run black lizard_raster_reducer

Run the tests regularly. This also checks with pyflakes, black and it reports coverage. Pure luxury:

$ pipenv run pytest

The tests are also run automatically on travis-ci, you’ll see it in the pull requests. There’s also coverage reporting on coveralls.io (once it has been set up).

If you need a new dependency (like requests), add it in setup.py in install_requires. Afterwards, run install again to actually install your dependency:

$ pipenv install --dev

Changelog of lizard-raster-reducer

0.6 (2019-04-30)

  • Options for hectares (besides fraction) and temporal range (besides last timesteps)

0.5 (2019-04-11)

  • Improved readme

0.4 (2019-04-08)

  • Notebook example to demonstrate usage

0.3 (2019-04-08)

  • Functionality to set regional alarms.

0.2 (2019-03-27)

  • First deploy to pypi.org.

0.1 (2019-03-27)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lizard-raster-reducer-0.6.tar.gz (15.8 kB view hashes)

Uploaded Source

Built Distribution

lizard_raster_reducer-0.6-py3-none-any.whl (21.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page