rio-tiler
User friendly Rasterio plugin to read raster datasets.
Documentation: https://cogeotiff.github.io/rio-tiler/
Source Code: https://github.com/cogeotiff/rio-tiler
Description
rio-tiler was initially designed to create slippy map
tiles from large raster data
sources and render these tiles dynamically on a web map. Since rio-tiler v2.0, we added many more helper methods to read
data and metadata from any raster source supported by Rasterio/GDAL.
This includes local and remote files via HTTP, AWS S3, Google Cloud Storage,
etc.
At the low level, rio-tiler is just a wrapper around the rasterio and GDAL libraries.
Features
-
Read any dataset supported by GDAL/Rasterio
from rio_tiler.io import Reader with Reader("my.tif") as image: print(image.dataset) # rasterio opened dataset img = image.read() # similar to rasterio.open("my.tif").read() but returns a rio_tiler.models.ImageData object
-
User friendly
tile,part,feature,pointreading methodsfrom rio_tiler.io import Reader with Reader("my.tif") as image: img = image.tile(x, y, z) # read mercator tile z-x-y img = image.part(bbox) # read the data intersecting a bounding box img = image.feature(geojson_feature) # read the data intersecting a geojson feature img = image.point(lon,lat) # get pixel values for a lon/lat coordinates
-
Enable property assignment (e.g nodata) on data reading
from rio_tiler.io import Reader with Reader("my.tif") as image: img = image.tile(x, y, z, nodata=-9999) # read mercator tile z-x-y
-
STAC support
from rio_tiler.io import STACReader with STACReader("item.json") as stac: print(stac.assets) # available asset img = stac.tile( # read tile for asset1 and indexes 1,2,3 x, y, z, assets="asset1", indexes=(1, 2, 3), # same as asset_indexes={"asset1": (1, 2, 3)}, ) # Merging data from different assets img = stac.tile( # create an image from assets 1,2,3 using their first band x, y, z, assets=("asset1", "asset2", "asset3",), asset_indexes={"asset1": 1, "asset2": 1, "asset3": 1}, )
-
Xarray support (>=4.0)
import xarray from rio_tiler.io import XarrayReader ds = xarray.open_dataset( "https://pangeo.blob.core.windows.net/pangeo-public/daymet-rio-tiler/na-wgs84.zarr/", engine="zarr", decode_coords="all", consolidated=True, ) da = ds["tmax"] with XarrayReader(da) as dst: print(dst.info()) img = dst.tile(1, 1, 2)
Note: The XarrayReader needs optional dependencies to be installed
pip install rio-tiler["xarray"]. -
Non-Geo Image support (>=4.0)
from rio_tiler.io import ImageReader with ImageReader("image.jpeg") as src: im = src.tile(0, 0, src.maxzoom) # read top-left `tile` im = src.part((0, 100, 100, 0)) # read top-left 100x100 pixels pt = src.point(0, 0) # read pixel value
Note:
ImageReaderis also compatible with proper geo-referenced raster datasets. -
Mosaic (merging or stacking)
from rio_tiler.io import Reader from rio_tiler.mosaic import mosaic_reader def reader(file, x, y, z, **kwargs): with Reader(file) as image: return image.tile(x, y, z, **kwargs) img, assets = mosaic_reader(["image1.tif", "image2.tif"], reader, x, y, z)
-
Native support for multiple TileMatrixSet via morecantile
import morecantile from rio_tiler.io import Reader # Use EPSG:4326 (WGS84) grid wgs84_grid = morecantile.tms.get("WorldCRS84Quad") with Reader("my.tif", tms=wgs84_grid) as src: img = src.tile(1, 1, 1)
Install
You can install rio-tiler using pip
python -m pip install -U pip
python -m pip install -U rio-tiler
or install from source:
git clone https://github.com/cogeotiff/rio-tiler.git
cd rio-tiler
python -m pip install -U pip
python -m pip install -e .
Plugins
rio-tiler-pds
rio-tiler v1 included several helpers for reading popular public datasets (e.g. Sentinel 2, Sentinel 1, Landsat 8, CBERS) from cloud providers. This functionality is now in a separate plugin, enabling easier access to more public datasets.
rio-tiler-mvt
Create Mapbox Vector Tiles from raster sources
Implementations
titiler: A lightweight Cloud Optimized GeoTIFF dynamic tile server.
cogeo-mosaic: Create mosaics of Cloud Optimized GeoTIFF based on the mosaicJSON specification.
Contribution & Development
See CONTRIBUTING.md
Authors
The rio-tiler project was begun at Mapbox and was transferred to the cogeotiff Github organization in January 2019.
See AUTHORS.txt for a listing of individual contributors.
Changes
See CHANGES.md.
License
See LICENSE
Metadata
Release files for rio-tiler 9.4.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| rio_tiler-9.4.7.tar.gz | 213.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| rio_tiler-9.4.7-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 529.8 kB
Release files / rio_tiler-9.4.7.tar.gz
| Download URL | rio_tiler-9.4.7.tar.gz |
|---|---|
| Size | 213.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f456e9df5cf81ba7cc7901ff709391dc78afff0d07c93959b9fe35bab36cf62d
|
|
BLAKE2b-256 checksum How to use checksums |
640aa9ea688aa83777a89d1eb1b2d5a3c9b5e05b0e0d2db4b7206e9140f671f7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 28, 2026.
Transparency logRelease files / rio_tiler-9.4.7-py3-none-any.whl
| Download URL | rio_tiler-9.4.7-py3-none-any.whl |
|---|---|
| Size | 316.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
eed09bd5f74fd1e321e4502fd56053eaa86ece250693b3ba4c53194da84535d3
|
|
BLAKE2b-256 checksum How to use checksums |
bcd5f12d62a287068619288f268a355b9d3e8158b5aeed94eb050300ab774819
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 28, 2026.
Transparency log