User friendly Rasterio plugin to read raster datasets.
Project description
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 initialy designed to create slippy map
tiles from large raster data
sources and render these tiles dynamically on a web map. With 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 files and via HTTP, AWS S3, Google Cloud Storage,
etc.
At the low level, rio-tiler
is just a wrapper around the rasterio.vrt.WarpedVRT class, which can be useful for doing reprojection and/or property overriding (e.g nodata value).
Features
-
Read any dataset supported by GDAL/Rasterio
from rio_tiler.io import COGReader with COGReader("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
,point
reading methodsfrom rio_tiler.io import COGReader with COGReader("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 assignement (e.g nodata) on data reading
from rio_tiler.io import COGReader with COGReader("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}, )
-
Mosaic (merging or stacking)
from rio_tiler.io import COGReader from rio_tiler.mosaic import mosaic_reader def reader(file, x, y, z, **kwargs): with COGReader(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 COGReader # Use EPSG:4326 (WGS84) grid wgs84_grid = morecantile.tms.get("WorldCRS84Quad") with COGReader("my.tif", tms=wgs84_grid) as cog: img = cog.tile(1, 1, 1)
Install
You can install rio-tiler
using pip
$ pip install -U pip
$ pip install -U rio-tiler
or install from source:
$ git clone https://github.com/cogeotiff/rio-tiler.git
$ cd rio-tiler
$ pip install -U pip
$ 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
rio-viz: Visualize Cloud Optimized GeoTIFFs locally in the browser
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file rio-tiler-3.0.0a2.tar.gz
.
File metadata
- Download URL: rio-tiler-3.0.0a2.tar.gz
- Upload date:
- Size: 130.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 82d203626ed144470e1d270d752f37b8a9e86d1d3c035b604b196c94e3d6742d |
|
MD5 | 8453e80d3df28a7032db2606760b5c02 |
|
BLAKE2b-256 | bf4790c18d9acd7102bae1fb47dc530769a3d6550de99a7c063fe9d4cc6bbb73 |