# KEA

Driver short name

KEA

Build dependencies

libkea and libhdf5 libraries

GDAL can read, create and update files in the KEA format, through the libkea library.

KEA is an image file format, named after the New Zealand bird, that provides a full implementation of the GDAL data model and is implemented within a HDF5 file. A software library, libkea, is used to access the file format. The format has comparable performance with existing formats while producing smaller file sizes and is already within active use for a number of projects within Landcare Research, New Zealand, and the wider community.

The KEA format supports the following features of the GDAL data model:

- Multiple-band support, with possible different datatypes. Bands can be added to an existing dataset with AddBand() API

- Image blocking support

- Reading, creation and update of data of image blocks

- Affine geotransform, WKT projection, GCP

- Metadata at dataset and band level

- Per-band description

- Per-band nodata and color interpretation

- Per-band color table

- Per-band RAT (Raster Attribute Table) of arbitrary size

- Internal overviews and mask bands

## Driver capabilities

Supports CreateCopy()

This driver supports the `GDALDriver::CreateCopy()` operation

Supports Create()

This driver supports the `GDALDriver::Create()` operation

Supports Georeferencing

This driver supports georeferencing

New in version 3.0:

Supports VirtualIO

This driver supports virtual I/O operations (/vsimem/, etc.)

## Creation options

Creation options can be specified in command-line tools using the syntax `-co <NAME>=<VALUE>` or by providing the appropriate arguments to `GDALCreate()` (C) or `Driver.Create` (Python). The following creation options are available. Some are rather esoteric and should rarely be specified, unless the user has good knowledge of the working of the underlying HDF5 format.

- IMAGEBLOCKSIZE=<integer>: Defaults to `256`. The size of each block for image data.

- ATTBLOCKSIZE=<integer>: Defaults to `1000`. The size of each block for attribute data.

- MDC_NELMTS=<integer>: Defaults to `0`. Number of elements in the meta data cache. Defaults to 0. See the Data caching page of HDF5 documentation.

- RDCC_NELMTS=<integer>: Defaults to `512`. Number of elements in the raw data chunk cache. See the Data caching page of HDF5 documentation.

- RDCC_NBYTES=<bytes>: Defaults to `1048576`. Total size of the raw data chunk cache, in bytes. See the Data caching page of HDF5 documentation.

- RDCC_W0=<floating_point_value between 0 and 1>: Defaults to `0.75`. Preemption policy. See the Data caching page of HDF5 documentation.

- SIEVE_BUF=<integer>: Defaults to `65536`. Sets the maximum size of the data sieve buffer. See H5Pset_sieve_buf_size() documentation

- META_BLOCKSIZE=<integer>: Defaults to `2048`. Sets the minimum size of metadata block allocations. See H5Pset_meta_block_size() documentation

- DEFLATE=[0-9]: Defaults to `1`. Compression level between 0 (no compression) to 9 (max compression).

- THEMATIC=[YES​/​NO]: Defaults to `NO`. If YES then all bands are set to thematic.

## See Also

- libkea GitHub repository

- The KEAimage file format, by Peter Bunting and Sam Gillingham, published in Computers&Geosciences

- HDF5 driver page