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

   ## 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 
#3058.
   
   ## What changes were proposed in this PR?
   
   This is the first step toward Geography type support in SedonaFlink (#3054).
   
   It adds `GeographyTypeSerializer`, a Flink `TypeSerializer<Geography>` that 
lets `Geography` values flow through the Flink Table/DataStream type system, 
mirroring the existing `GeometryTypeSerializer`:
   
   - Length-prefixed, null-safe binary layout, delegating to 
`org.apache.sedona.common.S2Geography.GeographyWKBSerializer` (the same 
serializer the Spark `GeographyUDT` uses), so geography bytes are 
interchangeable across engines.
   - `copy(Geography)` is implemented via a serialize/deserialize round-trip, 
since `Geography` exposes no `copy()`/`clone()`.
   - A `TypeSerializerSnapshot` is provided for state schema compatibility, 
mirroring `GeometrySerializerSnapshot`.
   
   No user-facing functions are registered yet — the `ST_Geog*` constructors 
and `Catalog` registration follow in a subsequent PR.
   
   ## How was this patch tested?
   
   Added `GeographyTypeSerializerTest`, which round-trips geographies through 
the Flink `DataOutputView`/`DataInputView` API:
   
   - point and polygon round-trips (asserting EWKT and SRID are preserved),
   - null round-trip,
   - `copy()` for a value and for null.
   
   `mvn -pl flink test -Dtest=GeographyTypeSerializerTest` → 4 tests pass.
   
   ## Did this PR include necessary documentation updates?
   
   - No, this PR does not affect any public API so no need to change the 
documentation. The user-facing geography functions and their docs are tracked 
as follow-up sub-tasks of #3054.
   


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