feat(c/sedona-geos): Implement item crs support for GEOS-based kernels#509
Merged
paleolimbot merged 6 commits intoapache:mainfrom Jan 15, 2026
Merged
feat(c/sedona-geos): Implement item crs support for GEOS-based kernels#509paleolimbot merged 6 commits intoapache:mainfrom
paleolimbot merged 6 commits intoapache:mainfrom
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR implements item CRS (Coordinate Reference System) support for GEOS-based geometry kernels in Apache Sedona, enabling these functions to work with geometries that have embedded CRS information.
Changes:
- Modified all GEOS kernel implementations to return
Vec<ScalarKernelRef>instead of singleScalarKernelRef, wrapping implementations withItemCrsKernel::wrap_impl() - Added comprehensive test coverage for item CRS support across all affected functions
- Refactored the registration system to use declarative macros for cleaner kernel registration
Reviewed changes
Copilot reviewed 26 out of 26 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| c/sedona-geos/src/st_unaryunion.rs | Added item CRS support and test for ST_UnaryUnion |
| c/sedona-geos/src/st_snap.rs | Added item CRS support and test for ST_Snap |
| c/sedona-geos/src/st_simplifypreservetopology.rs | Added item CRS support and test for ST_SimplifyPreserveTopology |
| c/sedona-geos/src/st_simplify.rs | Added item CRS support and test for ST_Simplify |
| c/sedona-geos/src/st_polygonize.rs | Added item CRS support and test for ST_Polygonize |
| c/sedona-geos/src/st_perimeter.rs | Added item CRS support to existing test for ST_Perimeter |
| c/sedona-geos/src/st_numpoints.rs | Added item CRS support to existing test for ST_NumPoints |
| c/sedona-geos/src/st_numinteriorrings.rs | Added item CRS support to existing test for ST_NumInteriorRings |
| c/sedona-geos/src/st_nrings.rs | Added item CRS support to existing test for ST_NRings |
| c/sedona-geos/src/st_minimumclearance_line.rs | Added item CRS support and test for ST_MinimumClearanceLine |
| c/sedona-geos/src/st_minimumclearance.rs | Added item CRS support to existing test for ST_MinimumClearance |
| c/sedona-geos/src/st_makevalid.rs | Added item CRS support and test for ST_MakeValid |
| c/sedona-geos/src/st_line_merge.rs | Added item CRS support and test for ST_LineMerge |
| c/sedona-geos/src/st_length.rs | Added item CRS support to existing test for ST_Length |
| c/sedona-geos/src/st_isvalidreason.rs | Added item CRS support to existing test for ST_IsValidReason |
| c/sedona-geos/src/st_isvalid.rs | Added item CRS support to existing test for ST_IsValid |
| c/sedona-geos/src/st_issimple.rs | Added item CRS support to existing test for ST_IsSimple |
| c/sedona-geos/src/st_isring.rs | Added item CRS support to existing test for ST_IsRing |
| c/sedona-geos/src/st_dwithin.rs | Added item CRS support and updated existing test for ST_DWithin |
| c/sedona-geos/src/st_convexhull.rs | Added item CRS support and test for ST_ConvexHull |
| c/sedona-geos/src/st_concavehull.rs | Added item CRS support and test for ST_ConcaveHull |
| c/sedona-geos/src/st_centroid.rs | Added item CRS support and test for ST_Centroid |
| c/sedona-geos/src/st_buffer.rs | Added item CRS support and test for ST_Buffer |
| c/sedona-geos/src/st_boundary.rs | Added item CRS support and test for ST_Boundary |
| c/sedona-geos/src/st_area.rs | Added item CRS support to existing test for ST_Area |
| c/sedona-geos/src/register.rs | Refactored kernel registration to use macros and support Vec return type |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Kontinuation
approved these changes
Jan 15, 2026
pwrliang
pushed a commit
to pwrliang/sedona-db
that referenced
this pull request
Jan 15, 2026
pwrliang
pushed a commit
to pwrliang/sedona-db
that referenced
this pull request
Jan 15, 2026
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.
A continuation of #492 for
c/sedona-geos. 2/3 PRs to address #487 (c/sedona-tg, c/sedona-geoarrow-c remain).