Skip to content

wip: Start brainstorming zarr integration#1179

Draft
kylebarron wants to merge 3 commits into
mainfrom
feat/zarr-support
Draft

wip: Start brainstorming zarr integration#1179
kylebarron wants to merge 3 commits into
mainfrom
feat/zarr-support

Conversation

@kylebarron
Copy link
Copy Markdown
Member

Designs a Python-proxied Zarr tile pipeline via RasterLayer.from_zarr and RasterLayer.from_xarray, reusing the existing GeoTIFF model. Async per-tile fetching via zarr-python 3 directly or xarray.load_async. JS-side raster model gains a generic TilesetDescriptor trait; TileMatrixSet becomes one descriptor shape. Scope narrowly to Python-rendered PNGs; WebGL rendering, animation, and RasterTileLayer refactor are deferred.

Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com

What I am changing

How I did it

How you can test it

Related Issues

Designs a Python-proxied Zarr tile pipeline via RasterLayer.from_zarr and
RasterLayer.from_xarray, reusing the existing GeoTIFF model. Async per-tile
fetching via zarr-python 3 directly or xarray.load_async. JS-side raster
model gains a generic TilesetDescriptor trait; TileMatrixSet becomes one
descriptor shape. Scope narrowly to Python-rendered PNGs; WebGL rendering,
animation, and RasterTileLayer refactor are deferred.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@kylebarron kylebarron marked this pull request as draft April 23, 2026 18:39
- Reorder CRS discovery priority: GeoZarr attrs now come first (before
  rioxarray and CF), since the primary from_xarray use case is
  xr.open_zarr on a GeoZarr store.
- State more forcefully that rioxarray stays an optional dep; Lonboard
  must not pull GDAL transitively.
- Replace "wait for first-tile error" with a construction-time
  BackendArray.async_getitem introspection, falling back to first-tile
  error only when the wrapped-array chain is opaque (dask, etc.).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@kylebarron
Copy link
Copy Markdown
Member Author

Does xarray define any chunking natively? Lonboard needs to know the internal chunk size of the input dataset, or the user needs to pass them in.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant