jiayuasu opened a new pull request, #3159: URL: https://github.com/apache/sedona/pull/3159
## 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 #3156. Closes #3157. Closes #3158. - Part of #2230. ## What changes were proposed in this PR? - Implement distributed `GeoSeries.explode` with GeoPandas-compatible index modes, deterministic component ordering, geometry metadata preservation, and empty/null handling. - Implement distributed `GeoSeries.get_coordinates` and its `GeoDataFrame` delegation, including optional Z/M ordinates and GeoPandas-compatible index modes. - Share the `ST_Dump`/`ST_DumpPoints` plus `posexplode` row-expansion path between both expansion methods. - Add the native `ST_EqualsExact` predicate with coordinate tolerance to Sedona common, Spark SQL registration, the Scala DataFrame API, and the Python DataFrame API. - Implement distributed `GeoSeries.geom_equals_exact` and its `GeoDataFrame` delegation for scalar geometry and distributed Series operands, including duplicate-index and MultiIndex alignment behavior. - Keep geometry processing in Spark without Python UDFs or driver-side geometry collection. ## How was this patch tested? - Added GeoPandas parity tests covering geometry families, index modes, named and multi-level indexes, duplicate indexes, empty and null geometries, all-empty CRS preservation, output reuse, Z/M ordinates, and invalid inputs. - Ran the consolidated focused GeoPandas suite: 37 tests passed. - Ran the common predicate suite: 35 tests passed. - Ran the focused Python SQL and DataFrame API suites: 5 tests passed. - Built the Spark shaded package successfully with Spotless checks. - Ran repository formatting and pre-commit checks. ## Did this PR include necessary documentation updates? - Yes, I am adding new APIs. I am using the [current SNAPSHOT version number](https://github.com/apache/sedona/blob/99239524f17389fc4ae9548ea88756f8ea538bb9/pom.xml#L29) in `v1.9.1` format. - Added public API docstrings and examples for all three GeoPandas methods. - Added the `ST_EqualsExact` SQL reference. -- 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]
