A rio-tiler plugin to create mosaic tiles.
Project description
rio-tiler-mosaic
A rio-tiler plugin for creating tiles from multiple observations.
Install
$ pip install rio-tiler-mosaic
Or
$ git clone http://github.com/cogeotiff/rio-tiler-mosaic
$ cd rio-tiler-mosaic
$ pip install -e .
Rio-tiler + Mosaic
The goal of this rio-tiler plugin is to create tiles from multiple observations.
Because user might want to choose which pixel goes on top of the tile, this plugin comes with 5 differents pixel selection
algorithms:
- First: takes the first pixel received
- Highest: loop though all the assets and return the highest value
- Lowest: loop though all the assets and return the lowest value
- Mean: compute the mean value of the whole stack
- Median: compute the median value of the whole stack
API
mosaic_tiler(assets, tile_x, tile_y, tile_z, tiler, pixel_selection=None, chunk_size=5, kwargs)
Inputs:
- assets : list, tuple of rio-tiler compatible assets (url or sceneid)
- tile_x : Mercator tile X index.
- tile_y : Mercator tile Y index.
- tile_z : Mercator tile ZOOM level.
- tiler: Rio-tiler's tiler function (e.g rio_tiler.landsat8.tile)
- pixel_selection : optional pixel selection algorithm (default: "first").
- kwargs: Rio-tiler tiler module specific otions.
Returns:
- tile, mask : tuple of ndarray Return tile and mask data.
Examples
from rio_tiler.main import tile as cogTiler
from rio_tiler_mosaic.mosaic import mosaic_tiler
from rio_tiler_mosaic.methods import defaults
assets = ["mytif1.tif", "mytif2.tif", "mytif3.tif"]
tile = (1000, 1000, 9)
x, y, z = tile
# Use Default First value method
mosaic_tiler(assets, x, y, z, cogTiler)
# Use Highest value: defaults.HighestMethod()
mosaic_tiler(
assets,
x,
y,
z,
cogTiler,
pixel_selection=defaults.HighestMethod()
)
# Use Lowest value: defaults.LowestMethod()
mosaic_tiler(
assets,
x,
y,
z,
cogTiler,
pixel_selection=defaults.LowestMethod()
)
The MosaicMethod
interface
the rio-tiler-mosaic.methods.base.MosaicMethodBase
class defines an abstract
interface for all pixel selection
methods allowed by rio-tiler-mosaic
. its methods and properties are:
is_done
: property, returns a boolean indicating if the process is done filling the tiledata
: property, returns the output tile and mask numpy arraysfeed(tile: numpy.ma.ndarray)
: method, update the tile
The MosaicMethodBase class is not intended to be used directly but as an abstract base class, a template for concrete implementations.
Writing your own Pixel Selection method
The rules for writing your own pixel selection algorithm
class are as follows:
- Must inherit from MosaicMethodBase
- Must provide concrete implementations of all the above methods.
See rio_tiler_mosaic.methods.defaults classes for examples.
Example
See /example
Contribution & Development
Issues and pull requests are more than welcome.
dev install
$ git clone https://github.com/cogeotiff/rio-tiler-mosaic.git
$ cd rio-tiler-mosaic
$ pip install -e .[dev]
Python3.6 only
This repo is set to use pre-commit
to run flake8, pydocstring and black ("uncompromising Python code formatter") when commiting new code.
$ pre-commit install
Implementation
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Hashes for rio-tiler-mosaic-0.0.1.dev2.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 825bab3fe41bfd0e3832f91a329348dec20898c7477b020cd3ee611b94624034 |
|
MD5 | f32efc90e1f92313c6f6ce7411be2457 |
|
BLAKE2b-256 | fb737c4f15e748a55c470b3d98c9b93d7544e4bea956707874fc0252c61d2556 |