james-willis opened a new pull request, #750: URL: https://github.com/apache/sedona-db/pull/750
## Summary Adds 8 new RS_* functions for querying and manipulating N-dimensional raster data. Depends on #749. ### Dimension query functions (`rs_dimensions.rs`) - **RS_NumDimensions(raster [, band])** → Int32 — number of dimensions - **RS_DimNames(raster [, band])** → List\<Utf8\> — ordered dimension names - **RS_DimSize(raster, dim_name [, band])** → Int64 — size of a named dimension (null if missing) - **RS_Shape(raster [, band])** → List\<Int64\> — full shape array When the band argument is omitted, defaults to band 0 and verifies all bands agree — returns an error if bands have different dimensionality. ### Slice functions (`rs_slice.rs`) - **RS_Slice(raster, dim_name, index)** → Raster — reduce a dimension by picking one index - **RS_SliceRange(raster, dim_name, start, end)** → Raster — narrow a dimension to [start, end) ### Dimension ↔ band functions (`rs_dim_band.rs`) - **RS_DimToBand(raster, dim_name)** → Raster — promote a dimension into separate bands - **RS_BandToDim(raster, dim_name)** → Raster — collapse bands into a new dimension All slice/dim functions error on spatial dimensions (x_dim/y_dim). Phase 1 always materializes data as contiguous copies. ## Test plan - [x] 31 new tests across 3 files (19 dimension queries + 12 slice/dim-band) - [x] All 174 tests pass (143 existing + 31 new) - [x] `cargo clippy` — zero warnings - [x] `pre-commit` — all hooks pass - [x] Round-trip test: RS_DimToBand then RS_BandToDim recovers original data -- 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]
