Skip to main content

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

Metadata

Release files for rio-tiler-mvt 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for rio-tiler-mvt 0.2.0
File Size Uploaded
rio_tiler_mvt-0.2.0.tar.gz 90.5 kB Details

Release files / rio_tiler_mvt-0.2.0.tar.gz

Download URL rio_tiler_mvt-0.2.0.tar.gz
Size 90.5 kB
Tags Source
SHA-256 checksum
How to use checksums
d2595d9ae929db06663b70bccf234849bd1b6949f29d4eafc827b63759bff039
BLAKE2b-256 checksum
How to use checksums
3badf5393ecb11abfcd69025bf02f93fc7b0e287e6ab58700a7d45dfccfeb872
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.13.1
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page