Skip to content

Epic: Zarr support #166

@kylebarron

Description

@kylebarron

The @developmentseed/deck.gl-raster subpackage defines RasterTileset2D. This is a generic description of a (potentially but not necessarily) multi-resolution set of image tiles.

This was designed to extend naturally to Zarr data as well.

For COGs we have the function

export async function parseCOGTileMatrixSet(
tiff: GeoTIFF,
geoKeysParser: GeoKeysParser,
): Promise<TileMatrixSet> {

that parses GeoTIFF metadata and constructs the TileMatrixSet, a generic representation of the tile layout that we can pass into RasterTileset2D.

We'll need to do something similar for Zarr data. That is, we'll need to construct the Zarr tile layout based on Zarr metadata. Something like parseZarrMetadataToTileMatrixSet. This is something I don't know exactly how to do. It may be something that we want to be user-customizeable. But it would be nice to have defaults for GeoZarr (if it's stable? Maybe @maxrjones has some input there?). Alternatively, we can look for common named strings like lat/lon/latitude/longitude and infer the grid from those attributes.

We should support ndpyramid-based Zarr tile grids out of the box, and when stable the new Zarr multi-resolution extension.

I want to use Zarrita as the Zarr data loader here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions