Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cogeotiff/rio-tiler-mvt
A rio-tiler plugin to translate tile array to MVT (using python-vtzero)
https://github.com/cogeotiff/rio-tiler-mvt
Last synced: 3 months ago
JSON representation
A rio-tiler plugin to translate tile array to MVT (using python-vtzero)
- Host: GitHub
- URL: https://github.com/cogeotiff/rio-tiler-mvt
- Owner: cogeotiff
- License: mit
- Created: 2019-05-02T21:33:37.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2022-08-08T22:43:53.000Z (over 2 years ago)
- Last Synced: 2024-05-21T00:49:28.611Z (6 months ago)
- Language: Python
- Size: 413 KB
- Stars: 47
- Watchers: 3
- Forks: 7
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGES.md
- License: LICENSE
Awesome Lists containing this project
README
# rio-tiler-mvt
A rio-tiler plugin to translate tile array to MVT (using python-vtzero).
More on [COG Talk](https://medium.com/devseed/search?q=cog%20talk) blog posts
## Install
### Requirements
rio-tiler-mvt use [python-vtzero](https://github.com/tilery/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.
```bash
$ pip install cython # see https://github.com/tilery/python-vtzero#requirements$ pip install rio-tiler-mvt
```
Or
```bash
$ 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:
```python
from rio_tiler.io import COGReader
from rio_tiler_mvt import pixels_encoderwith 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**
```bash
$ 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.
```bash
$ pre-commit install
```## Links
- **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