https://github.com/geoscienceaustralia/wagl
Python library for standardising satellite imagery into an Analysis Ready Data (ARD) form
https://github.com/geoscienceaustralia/wagl
Last synced: about 1 year ago
JSON representation
Python library for standardising satellite imagery into an Analysis Ready Data (ARD) form
- Host: GitHub
- URL: https://github.com/geoscienceaustralia/wagl
- Owner: GeoscienceAustralia
- License: apache-2.0
- Created: 2013-06-28T04:44:42.000Z (about 13 years ago)
- Default Branch: develop
- Last Pushed: 2024-09-30T16:29:42.000Z (almost 2 years ago)
- Last Synced: 2025-04-13T23:49:44.045Z (over 1 year ago)
- Language: Python
- Homepage:
- Size: 17 MB
- Stars: 31
- Watchers: 29
- Forks: 7
- Open Issues: 15
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# wagl
------
wagl is a Python package for producing standarised imagery in the form of:
* Nadir Bi-directional Reflectance Distribution Function Adjusted Reflectance (NBAR)
* NBART; NBAR with Terrain Illumination correction
* Surface Brightness Temperature
* Pixel Quality (per pixel metadata)
The luigi task workflow for producing NBAR for a Landsat 5TM scene is given below.

## Supported Satellites and Sensors
-----------------------------------
* Landsat 5 TM
* Landsat 7 ETM
* Landsat 8 OLI
* Landsat 8 TIRS
* Sentinel-2a
## Requirements
---------------
* [luigi](https://github.com/spotify/luigi)
* [numpy](https://github.com/numpy/numpy)
* [scipy](https://github.com/scipy/scipy)
* [numexpr](https://github.com/pydata/numexpr)
* [pyephem](http://rhodesmill.org/pyephem/)
* [proj](https://github.com/OSGeo/proj.4)
* [h5py](https://github.com/h5py/h5py)
* [tables](https://github.com/PyTables/PyTables)
* [pandas](https://github.com/pandas-dev/pandas)
* [scikit-image](https://github.com/scikit-image/scikit-image)
* [GDAL](https://github.com/OSGeo/gdal)
* [rasterio](https://github.com/mapbox/rasterio)
* [fiona](https://github.com/Toblerity/Fiona)
* [shapely](https://github.com/Toblerity/Shapely)
* [geopandas](https://github.com/geopandas/geopandas)
* [pyyaml](https://github.com/yaml/pyyaml)
* [attrs](https://github.com/python-attrs/attrs)
## Installation
---------------
### wagl Package
The wagl pacakage can be installed via:
`$ python setup.py install --prefix=`
### Additional HDF5 compression filters (optional)
Additional compression filters can be used via HDF5's
[dynamically loaded filters](https://support.hdfgroup.org/HDF5/doc/Advanced/DynamicallyLoadedFilters/HDF5DynamicallyLoadedFilters.pdf).
Essentially the filter needs to be compiled against the HDF5 library, and
installed into HDF5's plugin path, or a path of your choosing, and set the
HDF5_PLUGIN_PATH environment variable. The filters are then automatically
accessible by HDF5 via the [integer code](https://support.hdfgroup.org/services/contributions.html)
assigned to the filter.
#### Mafisc compression filter
Mafisc combines both a bitshuffling filter and lzma compression filter in order
to get the best compression possible at the cost of lower compression speeds.
To install the `mafisc` compression filter, follow these [instructions](https://wr.informatik.uni-hamburg.de/research/projects/icomex/mafisc).
#### Bitshuffle
The [bitshuffle filter](https://github.com/kiyo-masui/bitshuffle) can be installed
from source, or conda via the supplied [conda recipe](https://github.com/kiyo-masui/bitshuffle/tree/master/conda-recipe).
It utilises a bitshuffling filter on top of either a lz4 or lzf compression filter.
## Basic command line useage
--------------------------
Using the [local scheduler](http://luigi.readthedocs.io/en/stable/command_line.html):
$ luigi --module wagl.multifile_workflow ARD --workflow NBAR --level1-list scenes.txt --outdir /some/path --local-scheduler --workers 4
Using the [central scheduler](http://luigi.readthedocs.io/en/stable/central_scheduler.html):
$ luigid --background --pidfile --logdir --state-path
$ luigi --module wagl.multifile_workflow ARD --level1-list scenes.txt --workflow STANDARD --outdir /some/path --workers 4
$ luigi --module wagl.multifile_workflow ARD --level1-list scenes.txt --workflow NBAR --outdir /some/path --workers 4
$ luigi --module wagl.multifile_workflow ARD --level1-list scenes.txt --workflow SBT --outdir /some/path --workers 4