jiayuasu opened a new pull request, #2966: URL: https://github.com/apache/sedona/pull/2966
## 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 `[DOCS] my subject`. Documentation for the Box2D type and associated functions delivered across the Box2D epic (#2877, #2925, #2926, #2938, #2927, #2939). ## What changes were proposed in this PR? Documents the planar `Box2D` UDT and its full function surface, structured as a sibling of the existing Geometry and Geography type docs. ### New `docs/api/sql/box2d/` folder A master page plus per-function pages mirroring the layout of `docs/api/sql/geography/`: - `Box2D-Functions.md` — type intro, semantic notes (closed-interval, NULL-for-absent, inverted-bounds reservation), constructor / accessor / predicate / function tables, type-conversion section covering both `CAST` and the function-form aliases, and a query-optimization summary linking out to `Optimizer.md`. - `Box2D-Constructors/` — `ST_Box2D`, `ST_MakeBox2D`, `ST_GeomFromBox2D`. - `Box2D-Accessors/` — `ST_XMin`, `ST_YMin`, `ST_XMax`, `ST_YMax` (Box2D-input variants of the same functions documented for `Geometry` under `Bounding-Box-Functions/`). - `Box2D-Predicates/` — `ST_BoxIntersects`, `ST_BoxContains`. - `Box2D-Functions/` — `ST_Expand` (Box2D overloads) and `ST_AsText` (PostGIS-compatible `BOX(...)` form). ### Optimizer page additions Two new sections in `docs/api/sql/Optimizer.md`: - **Box2D filter pushdown** — documents the row-group statistics translation for `ST_BoxIntersects` / `ST_BoxContains` on a Parquet-backed Box2D column (the path that landed in #2946). Includes the per-predicate inequality table. - **Box2D spatial join** — documents the rectangle-polygon materialisation at the executor boundary that lets `ST_BoxIntersects` / `ST_BoxContains` reuse the existing range and broadcast-index join operators (#2939). Notes the `COVERS`-not-`CONTAINS` mapping for closed-interval semantics. ### Navigation Added a single line in `mkdocs.yml` placing `Box2D Functions` between `Geometry Functions` and `Geography Functions` under "Vector data". ### Out of scope - Chinese (`.zh.md`) translations — these will be picked up by the existing i18n epic (#2867) on its normal cadence. - GeoParquet tutorial mention of Box2D covering columns — small enough to slip into the tutorial separately if useful. ## How was this patch tested? - `mkdocs build --strict` locally produces all eleven Box2D pages and adds them to the SQL nav. The remaining strict-mode warnings are pre-existing and unrelated (`api/rdocs` / `api/pydocs` / `scaladoc` are generated build artifacts not present in a clean checkout; the `Optimizer.zh.md` anchor info messages come from the i18n fallback for sections that don't have Chinese translations yet). - Cross-references between pages (`Box2D-Functions.md` ↔ per-function pages ↔ `Optimizer.md` ↔ existing Geometry pages) all resolve. ## Did this PR include necessary documentation updates? - Yes, this PR itself is the documentation update. -- 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]
