james-willis opened a new pull request, #749:
URL: https://github.com/apache/sedona-db/pull/749

   ## Summary
   
   Upgrades SedonaDB's raster type from 2D tiles to N-dimensional chunks with 
named dimensions, enabling support for climate model outputs, hyperspectral 
imagery, Zarr/NetCDF datacubes, and other multi-dimensional geospatial datasets.
   
   **Design doc:** 
https://www.notion.so/wherobots/328ba32ec027812e9413eacf3096aa77
   
   ### Key changes
   
   - **New Arrow schema** — flat band struct with `dim_names`, `shape`, 
`strides`, `offset`; affine transform collapsed to single `List<Float64>`; 
explicit `x_dim`/`y_dim` fields for spatial dimension declaration; `outdb_uri` 
replaces `outdb_url` + `outdb_band_id`; `StorageType` enum removed
   - **New traits** — `RasterRef` (transform, x_dim/y_dim, width/height derived 
from band dims) and `BandRef` (ndim, dim_names, shape, nd_buffer, 
contiguous_data returning `Cow<[u8]>`)
   - **`NdBuffer` struct** — exposes raw buffer + shape + strides + offset for 
zero-copy access (numpy/Arrow FFI boundary)
   - **Builder convenience** — `start_raster_2d`/`start_band_2d` for legacy 2D 
usage; full N-D `start_raster`/`start_band` for multi-dimensional data
   - **All 33 RS_* functions migrated** — mechanical migration, all produce 
identical outputs
   - **Backward compatible** — legacy 2D rasters represented as bands with 
`dim_names=["y","x"]`, `shape=[height, width]`
   
   ### Crates modified
   
   - `sedona-schema` — N-D raster schema definition
   - `sedona-raster` — traits, Arrow array reader, builder, affine transform, 
display
   - `sedona-testing` — raster test helpers
   - `sedona-raster-functions` — all RS_* function implementations
   
   ## Test plan
   
   - [x] `sedona-schema`: 25 tests pass
   - [x] `sedona-raster`: 24 tests pass (17 existing + 7 new N-D capability 
tests)
   - [x] `sedona-raster-functions`: 140 tests pass — all existing tests produce 
identical outputs
   - [x] `sedona-testing`: 8 raster tests pass
   - [x] Full workspace compiles (`cargo check --workspace`)
   - [x] New N-D tests cover: non-standard spatial dim names (lon/lat), mixed 
dimensionality bands, dim_index/dim_size lookups, Cow::Borrowed verification, 
NdBuffer strides for various types/shapes, no-bands edge case, nullable band 
names


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to