Skip to content

mapbox/rio-glui

rio-glui

image

image

image

Explore and adjust Cloud-optimized geotiffs (COGs) in your browser using rasterio and Mapbox GL JS.

Install

You can install rio-glui using pip

pip install -U pip
pip install rio-glui

or install from source:

git clone https://github.com/mapbox/rio-glui.git
cd rio-glui
pip install -e .

Usage

Usage: rio glui [OPTIONS] PATH

  Rasterio glui cli.

Options:
-b, --bidx BIDX                   Raster band index
--scale INTEGER Min Max           Min and Max data bounds to rescale data from.
--colormap [cfastie|schwarzwald]  Rio-tiler compatible colormap name ('cfastie' or 'schwarzwald')
--tiles-format [png|jpg|webp]     Tile image format (default: png)
--tiles-dimensions INTEGER        Dimension of images being served (default: 512)
--nodata INTEGER                  Force mask creation from a given nodata value
--gl-tile-size INTEGER            mapbox-gl tileSize (default is the same as `tiles-dimensions`)
--port INTEGER                    Webserver port (default: 8080)
--playground                      Launch playground app
--mapbox-token TOKEN              Pass Mapbox token
--help                            Show this message and exit.

Example: explore COG hosted on aws

rio glui https://<s3 bucket name>.s3.amazonaws.com/<object path>.tif

Playground

The --playground option opens a playground template where you an interact with the data to apply rio-color formula.

Creating Cloud-Optimized Geotiffs

To create rio-glui friendly files (Cloud-Optimized Geotiff) you can use another rasterio plugin: rio-cogeo. Alternately, you can use GDAL tools:

gdal_translate input.tif output.tif -of COG -co TILING_SCHEME=GoogleMapsCompatible -co COMPRESS=JPEG

Extras

This plugin also enables raster visualisation in a Jupyter Notebook using mapboxgl-jupyter

Contribution & Development

Issues and pull requests are more than welcome.

Dev install & Pull-Request

git clone https://github.com/mapbox/rio-glui.git
cd rio-glui
pip install -e .[dev]

Python3.6 only

This repo is set to use pre-commit to run flake8, pydocstring and black ("uncompromising Python code formatter") when commiting new code.

$ pre-commit install
$ git add .
$ git commit -m'my change'
black....................................................................Passed
Flake8...................................................................Passed
Verifying PEP257 Compliance..............................................Passed
$ git push origin

About

Explore CloudOptimized geotiff on your browser using Mapbox GL JS

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 7