feat(rust/sedona-testing): add ergonomic raster function test harness#945
Draft
james-willis wants to merge 1 commit into
Draft
feat(rust/sedona-testing): add ergonomic raster function test harness#945james-willis wants to merge 1 commit into
james-willis wants to merge 1 commit into
Conversation
Adds RasterSpec, a terse declarative raster fixture (the raster analog of WKT for geometry tests), plus tester and assertion plumbing: - RasterSpec::d2/nd with band/band_values/band_nd/nodata/name/outdb modifiers, sequential default pixel fill, and a PixelValue trait for typed pixel data (little-endian) - raster_array() for multi-row inputs with null rasters - ScalarUdfTester::invoke_raster_scalar/invoke_raster_array/ invoke_raster_array_scalar and a raster Literal path through scalar_lit - AggregateUdfTester::aggregate_rasters for future raster aggregates - Raster-aware assert_scalar_equal/assert_array_equal (null rows compared by validity, mismatches reported per-field instead of a struct dump) - list_utf8_row/list_i64_row/band_pixels extractors for common return shapes - Retrofit rs_bandpath and rs_band_accessors tests as demos - Parameterized end-to-end Python tests for RS_ functions over a Zarr fixture, with a gated probe documenting that the Zarr byte loader is not yet reachable from RS_EnsureLoaded in Python
paleolimbot
reviewed
Jun 12, 2026
paleolimbot
left a comment
Member
There was a problem hiding this comment.
This is great, thanks for working on it! Feel free to ignore any of this if you're still working through changes
Comment on lines
+221
to
+226
| /// Override the GDAL geotransform | ||
| /// `[origin_x, scale_x, skew_x, origin_y, skew_y, scale_y]`. | ||
| pub fn transform(mut self, transform: [f64; 6]) -> Self { | ||
| self.transform = transform; | ||
| self | ||
| } |
Member
There was a problem hiding this comment.
No need to do this here, but Wwhen we get to some more spatial interactions, setting this from a BoundingBox might also be nice
Comment on lines
+22
to
+23
| @pytest.fixture | ||
| def zarr_group(tmp_path): |
Member
There was a problem hiding this comment.
It would be great to find a way to have an ND fixture without the zarr dependency (for the sedonadb package...for sedonadb-zarr this will be great)
Contributor
Author
There was a problem hiding this comment.
yeah this is just Fable's first go, I havent even look at this code yet. probably will just use numpy for creating rasters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.