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]

Reply via email to