[GH-3180] GeoPandas: Implement distributed cx and clip APIs - #3183
Merged
jiayuasu merged 8 commits intoJul 28, 2026
Conversation
This was referenced Jul 27, 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.
Did you read the Contributor Guide?
Is this PR related to a ticket?
[GH-XXX] my subject. Closes GeoPandas: implement distributed cx and clip APIs #3180What changes were proposed in this PR?
This PR implements the GeoPandas-compatible
cxcoordinate indexer andclipAPIs for distributedGeoSeriesandGeoDataFrameobjects.The implementation uses native Spark and Sedona expressions for spatial filtering, clipping, rectangle fast paths, and distributed mask aggregation. It preserves indexes, active geometry columns, CRS/SRID metadata, input ordering,
keep_geom_typebehavior, and all-null geometry CRS metadata without collecting geometry rows to the driver.English and Chinese GeoPandas API documentation are updated for the new APIs.
The development dependency set includes Rtree on Python 3.8 so GeoPandas
0.13 clip parity tests have a spatial-index backend.
How was this patch tested?
python/tests/geopandas/test_spatial_subsetting.py(16 tests)test_set_crsregression testThe tests cover
GeoSeriesandGeoDataFrameinputs, coordinate slices, geometry and rectangle masks, distributed masks, collection-triggered multipart explosion, mixed-family filtering without explosion, null-first collection results, null/empty/all-null geometries, CRS/SRID preservation, MultiIndex inputs, ordering, and validation behavior.Did this PR include necessary documentation updates?
v1.9.1.