jiayuasu opened a new issue, #3036:
URL: https://github.com/apache/sedona/issues/3036

   Follow-up to the Box3D EPIC 
([#2973](https://github.com/apache/sedona/issues/2973)). The Spark + Python 
Box3D surface is shipped, but the Flink module has no Box3D support at all — 
only Box2D (`Box2DTypeSerializer`, `ST_Box2D`, `ST_MakeBox2D`, 
`ST_GeomFromBox2D`, Box2D accessors / `ST_Extent` / predicate overloads).
   
   This issue is the **foundation slice** of porting Box3D to Flink, mirroring 
how the Spark work was sliced. It lands the serializer plus the two 
constructors so a Box3D value can be produced and round-tripped through Flink's 
type system.
   
   ## Scope
   
   - `Box3DTypeSerializer` — Flink `TypeSerializer<Box3D>`, mirroring 
`Box2DTypeSerializer`. Presence byte + six doubles (xmin, ymin, zmin, xmax, 
ymax, zmax); 49-byte payload for a non-null value. Includes the 
`Box3DSerializerSnapshot` for state compatibility.
   - `Functions.ST_Box3D(geom) -> Box3D` — Flink scalar function wrapping 
`org.apache.sedona.common.Functions.box3D`.
   - `Constructors.ST_3DMakeBox(pointZ, pointZ) -> Box3D` — wrapping 
`org.apache.sedona.common.Constructors.make3DBox`.
   - Register all three in `Catalog`.
   
   ## Tests
   
   - `ConstructorTest.testMake3DBox` — build a Box3D from two POINT Z corners, 
assert all six bounds.
   - `FunctionTest.testBox3D` — `ST_Box3D` over a geometry, assert bounds; NULL 
/ empty propagation.
   - Round-trip a Box3D value through a Flink query to exercise the serializer.
   
   ## Out of scope (later Flink slices)
   
   - Box3D accessors (`ST_XMin` ... `ST_ZMax`), `ST_AsText(box3d)`, 
`ST_Expand(box3d)`.
   - `ST_3DExtent` aggregate.
   - Box3D overloads on `ST_Intersects` / `ST_Contains`; `ST_3DDWithin`.


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