Skip to content

feat(vortex-geo): add MultiPolygon extension type + WKB export for native geometry#8608

Open
HarukiMoriarty wants to merge 2 commits into
nemo/spatial-wire-vx-benchfrom
nemo/geo-multipolygin
Open

feat(vortex-geo): add MultiPolygon extension type + WKB export for native geometry#8608
HarukiMoriarty wants to merge 2 commits into
nemo/spatial-wire-vx-benchfrom
nemo/geo-multipolygin

Conversation

@HarukiMoriarty

Copy link
Copy Markdown
Contributor

Summary

Adds a native MultiPolygon geometry extension type to vortex-geo, and a WKB-export helper (to_wkb) for the native geometry types (Point, Polygon, MultiPolygon).

MultiPolygon (vortex.geo.multipolygon) mirrors the existing Polygon type, mainly for SpatialBench z_boundary column, which is mixture of Polygon and MultiPolygon.

to_wkb serializes a native geometry array to WKB (via geoarrow-cast), the form DuckDB's GEOMETRY vectors carry, for communicate with DuckDB.

What APIs are changed? Are there any user-facing changes?

Purely additive, new public API in vortex-geo:

  • extension::MultiPolygon, the new extension type (with its ExtVTable + Arrow import/export).
  • extension::{PointData, PolygonData} + to_wkb on the existing Point/Polygon types.

Signed-off-by: Nemo Yu <zyu379@wisc.edu>
@HarukiMoriarty HarukiMoriarty added the changelog/feature A new feature label Jun 26, 2026
Signed-off-by: Nemo Yu <zyu379@wisc.edu>
@codspeed-hq

codspeed-hq Bot commented Jun 26, 2026

Copy link
Copy Markdown

Merging this PR will not alter performance

⚠️ Unknown Walltime execution environment detected

Using the Walltime instrument on standard Hosted Runners will lead to inconsistent data.

For the most accurate results, we recommend using CodSpeed Macro Runners: bare-metal machines fine-tuned for performance measurement consistency.

⚡ 2 improved benchmarks
❌ 1 regressed benchmark
✅ 1586 untouched benchmarks
⏩ 4 skipped benchmarks1

Warning

Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Mode Benchmark BASE HEAD Efficiency
Simulation chunked_bool_canonical_into[(1000, 10)] 16.7 µs 26.8 µs -37.55%
Simulation bitwise_not_vortex_buffer_mut[128] 244.4 ns 215.3 ns +13.55%
Simulation bitwise_not_vortex_buffer_mut[1024] 304.7 ns 275.6 ns +10.58%

Tip

Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.


Comparing nemo/geo-multipolygin (a3c046b) with nemo/spatial-wire-vx-bench (fdb0872)

Open in CodSpeed

Footnotes

  1. 4 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog/feature A new feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant