jiayuasu opened a new issue, #3039: URL: https://github.com/apache/sedona/issues/3039
Follow-up to the Box3D EPIC ([#2973](https://github.com/apache/sedona/issues/2973)) and the Flink foundation slice [#3037](https://github.com/apache/sedona/pull/3037). Second Flink Box3D slice. With `Box3DTypeSerializer` + `ST_Box3D` / `ST_3DMakeBox` already merged, this adds the accessor surface, the text form, and the aggregate — mirroring the Box2D Flink functions. ## Scope - Box3D `eval` overloads on the existing accessor scalar functions: `ST_XMin`, `ST_YMin`, `ST_ZMin`, `ST_XMax`, `ST_YMax`, `ST_ZMax` (`ST_ZMin` / `ST_ZMax` previously had only the Geometry overload). - `ST_AsText(box3d)` → `box3dAsText` (PostGIS-style `BOX3D(...)` text). - `Aggregators.ST_3DExtent` — `AggregateFunction<Box3D, Envelope3D>` mirroring `ST_Extent`. Per-row folding via `Functions.box3D` (missing Z → 0, empty → skipped); returns null on an all-empty/null input. New `Accumulators.Envelope3D` six-double accumulator. - Register `ST_3DExtent` in `Catalog`. ## Out of scope - `ST_Expand(box3d)` — the common layer has no `expand(Box3D, ...)`, and the Spark Box3D surface doesn't expose it either. - Box3D overloads on `ST_Intersects` / `ST_Contains`; `ST_3DDWithin` — the final Flink slice. ## Tests - `FunctionTest.testBox3DAsTextAndAccessors` — `BOX3D` text + all six accessors over a Box3D. - `AggregatorTest.test3DExtent` (mixed XYZ / XY-fold-to-0) and `test3DExtent_EmptyAndNullGeometries` (all-empty/null → NULL). -- 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]
