A rio-tiler plugin to translate tile array to MVT (using python-vtzero).
More on COG Talk blog posts
rio-tiler-mvt use python-vtzero wrapper to encode point and polygons to MVT. Because VTZERO is a C++ library, python-vtzero is written in Cython, thus cython is required to compile this library.
$ pip install cython # see https://github.com/tilery/python-vtzero#requirements
$ pip install rio-tiler-mvt
Or
$ git clone http://github.com/cogeotiff/rio-tiler-mvt
$ cd rio-tiler-mvt
$ pip install -e .
pixels_encoder(
data: numpy.ndarray,
mask: numpy.ndarray,
band_names: list = [],
layer_name: str = "my_layer",
feature_type: str = "point"
)
Inputs:
- data: raster tile data to encode
- mask: mask data
- band_names: Raster band's names
- layer_name: Layer name
- feature_type: Feature type (point or polygon)
Returns:
- mvt : Mapbox Vector Tile encoded data.
Examples:
from rio_tiler.io import COGReader
from rio_tiler_mvt import pixels_encoder
with COGReader("fixtures/test.tif") as cog
img = cog.tile(72, 63, 7, resampling_method="nearest")
mvt = pixels_encoder(img.data, img.mask, layer_name="test", feature_type="point")
shapes_encoder(
data: numpy.ndarray, # 1D array (height, width)
mask: numpy.ndarray,
layer_name: str = "my_layer",
colormap: dict = {},
class_names: dict = {}
)
Inputs:
- data: raster tile data to encode
- mask: mask data
- layer_name: Layer name
- colormap: GDAL colormap. If provided a
color
value will be added to the feature properties - class_names: Dictionary mapping pixel value with class names. If provided a
name
value will be added to the feature properties.
Returns:
- mvt : Mapbox Vector Tile encoded data.
Issues and pull requests are more than welcome.
dev install
$ git clone https://github.com/cogeotiff/rio-tiler-mvt.git
$ cd rio-tiler-mvt
$ pip install -e .[dev]
pre-commit
This repo is set to use pre-commit
to run isort, flake8, pydocstring, black ("uncompromising Python code formatter") and mypy when committing new code.
$ pre-commit install
- satellite-3d: http://github.com/developmentseed/satellite-3d.git
- titiler-mvt: http://github.com/developmentseed/titiler-mvt.git
- rio-viz: http://github.com/developmentseed/rio-viz.git