Skip to main content

A rio-tiler plugin to encode tile array to MVT

Project description

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~=0.28 is required to compile this library.

$ pip install cython~=0.28 # 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]

Python3.7 only

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rio-tiler-mvt-0.0.1.dev2.tar.gz (69.7 kB view details)

Uploaded Source

File details

Details for the file rio-tiler-mvt-0.0.1.dev2.tar.gz.

File metadata

  • Download URL: rio-tiler-mvt-0.0.1.dev2.tar.gz
  • Upload date:
  • Size: 69.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.2

File hashes

Hashes for rio-tiler-mvt-0.0.1.dev2.tar.gz
Algorithm Hash digest
SHA256 6041c7abd395cd295e25123f2c310c981859c23942ef72bc7243f4532d4d3fdd
MD5 5ad38f0e1df5fe65ceaffebe2f045a94
BLAKE2b-256 10d744712eed5dd198db34a067cb259990f243c78414ce940fffef3f37c66939

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page