Visualize Cloud Optimized GeoTIFF in browser
Project description
rio-viz
A Rasterio plugin to visualize Cloud Optimized GeoTIFF in browser.
Install
You can install rio-viz using pip
$ pip install rio-viz
with 3d feature
# 3d visualization features is optional, you'll need to have `cython==0.28` installed before being able to install `rio-viz["mvt"]`
$ pip install -U pip cython==0.28
$ pip install rio-viz["mvt"]
Build from source
$ git clone https://github.com/developmentseed/rio-viz.git
$ cd rio-viz
$ pip install -e .
CLI
$ rio viz --help
Usage: rio viz [OPTIONS] SRC_PATH
Rasterio Viz cli.
Options:
--nodata NUMBER|nan Set nodata masking values for input dataset.
--minzoom INTEGER Overwrite minzoom
--maxzoom INTEGER Overwrite maxzoom
--style [satellite|basic] Mapbox basemap
--port INTEGER Webserver port (default: 8080)
--host TEXT Webserver host url (default: 127.0.0.1)
--mapbox-token TOKEN Pass Mapbox token
--no-check Ignore COG validation
--reader TEXT rio-tiler Reader (BaseReader or AsyncBaseReader). Default is `rio_tiler.io.COGReader`
--layers TEXT limit to specific layers (for Multi* readers)
--server-only Launch API without opening the rio-viz web-page.
--config NAME=VALUE GDAL configuration options.
--help Show this message and exit.
3D (Experimental)
rio-viz supports Mapbox VectorTiles encoding from a raster array. This feature was added to visualize sparse data stored as raster but will also work for dense array. This is highly experimental and might be slow to render in certain browser and/or for big rasters.
Multi Reader support
rio-viz support multiple/custom reader as long they are subclass of rio_tiler.io.base.BaseReader
or rio_tiler.io.base.AsyncBaseReader
.
# MultiFiles
$ rio viz "cog_band{2,3,4}.tif" --reader rio_viz.io.MultiFilesReader
# Simple Mosaic
$ rio viz "tests/fixtures/mosaic_cog{1,2}.tif" --reader rio_viz.io.MosaicReader
# MultiBandReader
# Landsat 8 - rio-tiler-pds
# We use `--layers` to limit the number of bands
$ rio viz LC08_L1TP_013031_20130930_20170308_01_T1 \
--reader rio_tiler_pds.landsat.aws.landsat8.L8Reader \
--layers B1,B2 \
--config GDAL_DISABLE_READDIR_ON_OPEN=FALSE \
--config CPL_VSIL_CURL_ALLOWED_EXTENSIONS=".TIF,.ovr"
# MultiBaseReader
# We use `--layers` to limit the number of assets
rio viz https://earth-search.aws.element84.com/v0/collections/sentinel-s2-l2a-cogs/items/S2A_34SGA_20200318_0_L2A \
--reader rio_tiler.io.STACReader \
--layers B04,B03,B02
# aiocogeo
$ rio viz https://naipblobs.blob.core.windows.net/naip/v002/al/2019/al_60cm_2019/30087/m_3008701_ne_16_060_20191115.tif \
--reader aiocogeo.tiler.COGTiler
RestAPI
When launching rio-viz, the application will create a FastAPI application to access and read the data you want. By default the CLI will open a web-page for you to explore your file but you can use --server-only
option to ignore this.
$ rio viz my.tif --server-only
# In another console
$ curl http://127.0.0.1:8080/info | jq
{
"bounds": [6.608576517072109, 51.270642883468895, 11.649386808679436, 53.89267160832534],
"band_metadata": [...],
"band_descriptions": [...],
"dtype": "uint8",
"nodata_type": "Mask",
"colorinterp": [
"red",
"green",
"blue"
]
}
You can see the full API documentation over http://127.0.0.1:8080/docs
Contribution & Development
See CONTRIBUTING.md
Authors
Created by Development Seed
Changes
See CHANGES.md.
License
See LICENSE.txt
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.