Skip to content

[GH-3204] GeoPandas: complete maximum-circle, dwithin-distance, and Voronoi-extent parity - #3209

Merged
jiayuasu merged 6 commits into
apache:masterfrom
jiayuasu:feature/geopandas-native-parity
Jul 30, 2026
Merged

[GH-3204] GeoPandas: complete maximum-circle, dwithin-distance, and Voronoi-extent parity#3209
jiayuasu merged 6 commits into
apache:masterfrom
jiayuasu:feature/geopandas-native-parity

Conversation

@jiayuasu

Copy link
Copy Markdown
Member

Did you read the Contributor Guide?

Is this PR related to a ticket?

  • Yes, and the PR name follows the format [GH-XXX] my subject.

Closes #3204

What changes were proposed in this PR?

  • Implement GeoSeries.maximum_inscribed_circle with scalar, local array-like, pandas Series, and same-frame pandas-on-Spark tolerances. The implementation uses a native two-argument ST_MaximumInscribedCircle overload, preserves CRS and SRID, evaluates the circle search once per row, and handles null, empty, unsupported, and zero-extent geometries consistently.
  • Extend GeoSeries.dwithin to accept local and distributed row-wise distances. Distances are paired after geometry alignment, with distributed validation for lengths and numeric types.
  • Implement extend_to for GeoSeries.voronoi_polygons with native per-row Sedona expressions while accounting for the difference between GEOS extension and JTS clipping semantics.
  • Keep all geometry processing distributed without collecting geometry rows to the driver or introducing Python row UDFs.

How was this patch tested?

  • mvn -pl common -Dtest=FunctionsTest#maximumInscribedCircle test
  • mvn -pl spark-shaded -am -DskipTests package
  • Focused GeoSeries and GeoPandas parity tests: 13 passed.
  • Focused Python SQL and DataFrame API tests: 7 passed.
  • Native execution-plan assertions cover the absence of Python UDF nodes.
  • Repository commit hooks and diff checks passed.

Did this PR include necessary documentation updates?

  • Yes, I am adding a new API. I am using the current SNAPSHOT version number in v1.9.1 format.
  • Yes, I have updated the SQL API documentation and GeoPandas API docstrings.

@jiayuasu jiayuasu added this to the sedona-1.9.1 milestone Jul 30, 2026
@jiayuasu
jiayuasu marked this pull request as ready for review July 30, 2026 01:52
@jiayuasu
jiayuasu merged commit 44c2b44 into apache:master Jul 30, 2026
41 of 44 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

GeoPandas: complete native maximum-circle, dwithin-distance, and Voronoi-extent parity

1 participant