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.
@developmentseed/geozarrpackage and define zod schema #395The
@developmentseed/deck.gl-rastersubpackage definesRasterTileset2D. 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
deck.gl-raster/packages/deck.gl-geotiff/src/cog-tile-matrix-set.ts
Lines 23 to 26 in 790b5f5
that parses GeoTIFF metadata and constructs the
TileMatrixSet, a generic representation of the tile layout that we can pass intoRasterTileset2D.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 likelat/lon/latitude/longitudeand 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.