dask-rasterio
provides some methods for reading and writing rasters in
parallel using Rasterio and
Dask arrays.
Read a multiband raster with read_raster
:
>>> from dask_rasterio import read_raster
>>> array = read_raster('tests/data/RGB.byte.tif')
>>> array
dask.array<stack, shape=(3, 718, 791), dtype=uint8, chunksize=(1, 3, 791)>
>>> array.mean()
dask.array<mean_agg-aggregate, shape=(), dtype=float64, chunksize=()>
>>> array.mean().compute()
40.858976977533935
Write a singleband or multiband raster with write_raster
:
>>> from dask_rasterio import read_raster
>>> array = read_raster('tests/data/RGB.byte.tif')
>>> new_array = array & (array > 100)
>>> new_array
dask.array<and_, shape=(3, 718, 791), dtype=uint8, chunksize=(1, 3, 791)>
>>> prof = ... # reuse profile from tests/data/RGB.byte.tif...
>>> write_raster('processed_image.tif', new_array, **prof)
Install with pip:
pip install dask-rasterio
This project is managed by Poetry. If you do not have it installed, please refer to Poetry instructions.
Now, clone the repository and run poetry install
. This will create a virtual
environment and install all required packages there.
Run poetry run pytest
to run all tests.
Run poetry build
to build package on dist/
.
Please report any bugs and enhancement ideas using the GitHub issue tracker:
https://github.com/dymaxionlabs/dask-rasterio/issues
Feel free to also ask questions on our Gitter channel, or by email.
Any help in testing, development, documentation and other tasks is highly appreciated and useful to the project.
For more details, see the file CONTRIBUTING.md.
Source code is released under a BSD-2 license. Please refer to LICENSE.md for more information.