Skip to main content

CloudOptimized GeoTIFF (COGEO) creation plugin for rasterio

Project description

CloudOptimized GeoTIFF (COGEO) creation plugin for rasterio

https://badge.fury.io/py/rio-cogeo.svg https://circleci.com/gh/mapbox/rio-cogeo.svg?style=svg https://codecov.io/gh/mapbox/rio-cogeo/branch/master/graph/badge.svg?token=zuHupC20cG

Install

$ pip install -U pip
$ pip install rio-cogeo

Or install from source:

$ git clone https://github.com/mapbox/rio-cogeo.git
$ cd rio-cogeo
$ pip install -U pip
$ pip install -e .

Usage

$ rio cogeo --help
Usage: rio cogeo [OPTIONS] INPUT OUTPUT

  Create Cloud Optimized Geotiff.

Options:
  -b, --bidx BIDX                 Band index to copy
  -p, --cog-profile [ycbcr|zstd|lzw|deflate|packbits|raw]
                                  CloudOptimized GeoTIFF profile (default: ycbcr)
  --nodata INTEGER                Force mask creation from a given nodata value
  --alpha INTEGER                 Force mask creation from a given alpha band number
  --overview-level INTEGER        Overview level (default: 6)
  --threads INTEGER
  --co, --profile NAME=VALUE      Driver specific creation options.See the
                                  documentation for the selected output driver
                                  for more information.
  --help                          Show this message and exit.

Examples

# Create a COGEO with YCbCR profile and the first 3 bands of the data
$ rio cogeo mydataset.tif mydataset_ycbcr.tif -b 1,2,3

# Create a COGEO without compression and wiht 1024x1024 block size
$ rio cogeo mydataset.tif mydataset_raw.tif -co BLOCKXSIZE=1024 -co BLOCKXSIZE=1024 --cog-profile raw

Default COGEO profiles

Profiles can be extended by providing ‘–co’ option in command line (e.g: rio cogeo mydataset.tif mydataset_zstd.tif -b 1,2,3 –profile deflate –co “COMPRESS=ZSTD” )

YCbCr

  • JPEG compression

  • PIXEL interleave

  • YCbCr colorspace

  • limited to uint8 datatype and 3 bands data

ZSTD

  • ZSTD compression

  • PIXEL interleave

  • Available for GDAL>=2.3.0

LZW

  • LZW compression

  • PIXEL interleave

DEFLATE

  • DEFLATE compression

  • PIXEL interleave

PACKBITS

  • PACKBITS compression

  • PIXEL interleave

RAW

  • NO compression

  • PIXEL interleave

Default profiles are tiled with 512x512 blocksizes.

Contribution & Devellopement

Issues and pull requests are more than welcome.

dev install

$ git clone https://github.com/mapbox/rio-cogeo.git
$ cd rio-cogeo
$ 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

Extras

Checkout rio-glui (https://github.com/mapbox/rio-glui/) rasterio plugin to explore COG locally in your web browser.

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

rio-cogeo-1.0.dev3.tar.gz (5.4 kB view details)

Uploaded Source

File details

Details for the file rio-cogeo-1.0.dev3.tar.gz.

File metadata

File hashes

Hashes for rio-cogeo-1.0.dev3.tar.gz
Algorithm Hash digest
SHA256 59a0bd25d3854e9576ebce616e303165122117f974b8581868366a911906d052
MD5 9b1fb23c7c2ced9af6a2fc141c5b2d2e
BLAKE2b-256 ee996cc1dfe8bfc992ee9dc5ee6c2b1e62dba8cea9f8e1609d8959a675db330e

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page