jiayuasu opened a new pull request, #3265: URL: https://github.com/apache/sedona/pull/3265
## 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`. Part of #3260. ## What changes were proposed in this PR? - Preserve M and ZM coordinate layouts in Sedona's native Python GeometryUDT serializer. - Detect measures through the optional GEOS 3.12 `GEOSHasM_r` API while retaining compatibility with older supported GEOS versions. - Preserve Z layouts when the first Z ordinate is NaN. - Make the pure-Python fallback reject M and ZM inputs instead of silently discarding their measure coordinates. - Add round-trip coverage for M and ZM points, lines, polygons, and geometry collections. This is the first PR in the #3260 stack and is based on `master`. ## How was this patch tested? - Native serializer tests passed with Shapely 2.1 and GEOS 3.13. - Legacy compatibility tests passed with Shapely 2.0 and GEOS 3.11. - Regression coverage includes XY, XYZ, XYM, and XYZM layouts, including first-ordinate NaN cases. - The repository commit-hook suite, including C formatting, Black, and `git diff --check`, passed. ## Did this PR include necessary documentation updates? - No, this PR does not add or change a public API. -- 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]
