Skip to content

A rio-tiler plugin to translate tile array to MVT (using python-vtzero)

License

Notifications You must be signed in to change notification settings

cogeotiff/rio-tiler-mvt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

a85a8b0 · Jan 20, 2025

History

32 Commits
Jan 20, 2025
Jan 20, 2025
Jan 20, 2025
May 10, 2019
Jan 20, 2025
Jan 20, 2025
May 2, 2019
Jun 25, 2019
Aug 8, 2022
May 10, 2019
Jan 20, 2025
Jan 21, 2021
Jan 20, 2025
Jan 20, 2025

Repository files navigation

rio-tiler-mvt

rio-tiler

A rio-tiler plugin to translate tile array to MVT (using python-vtzero).

Test Coverage Package version Downloads

More on COG Talk blog posts

Install

Requirements

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 .

Rio-tiler + Mapbox Vector tiles

API

pixel_encoder

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

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.

Contribution & Development

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

Links

About

A rio-tiler plugin to translate tile array to MVT (using python-vtzero)

Resources

License

Stars

Watchers

Forks

Packages

No packages published