jiayuasu opened a new pull request, #3184:
URL: https://github.com/apache/sedona/pull/3184

   ## Did you read the Contributor Guide?
   
   - Yes, I have read the [Contributor 
Rules](https://sedona.apache.org/latest/community/rule/) and [Contributor 
Development Guide](https://sedona.apache.org/latest/community/develop/)
   
   ## Is this PR related to a ticket?
   
   - Yes, and the PR name follows the format `[GH-XXX] my subject`. Closes #3182
   
   ## What changes were proposed in this PR?
   
   This PR implements distributed GeoPandas-compatible `sjoin_nearest` for the 
top-level API and `GeoDataFrame`.
   
   The implementation uses Sedona's distributed KNN join rather than a 
Cartesian product, Python geometry UDF, or driver-side geometry collection. It 
supports inner, left, and right joins; equidistant matches; `max_distance`; 
`distance_col`; `exclusive`; suffixing; named and MultiIndex inputs; null/empty 
geometries; active geometry; CRS; and SRID preservation.
   
   The SQL KNN predicate gains five- and six-argument forms for query-local 
`include_ties` and `exclusive` controls. The regular planar path now routes 
non-point queries by their full geometry and reconciles partition-local 
candidates with bounded per-query state and stable row identities. Legacy 
three/four-argument and geography tie behavior remain unchanged.
   
   English and Chinese SQL and GeoPandas documentation are updated.
   
   ## How was this patch tested?
   
   - Direct KNN iterator tests (3 tests)
   - `KnnJoinSuite` (40 tests)
   - GeoPandas nearest-join and Python `ST_KNN` API/type tests (285 tests)
   - Spark 3.4 / Scala 2.12 shaded package build
   - Spotless and repository pre-commit hooks
   
   The tests force regular and both broadcast KNN plans and cover non-point 
queries, duplicate rows, ties, exclusive ranking, outer reconstruction, 
indexes, column collisions, null/empty geometries, CRS/SRID metadata, and 
legacy/geography compatibility.
   
   ## Did this PR include necessary documentation updates?
   
   - Yes, I am adding new APIs. I am using the current SNAPSHOT version number 
`v1.9.1`.
   - Yes, I have updated the documentation.
   


-- 
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]

Reply via email to