feat(vortex-geo): add MultiPolygon extension type + WKB export for native geometry#8608
feat(vortex-geo): add MultiPolygon extension type + WKB export for native geometry#8608HarukiMoriarty wants to merge 2 commits into
Conversation
Signed-off-by: Nemo Yu <zyu379@wisc.edu>
Signed-off-by: Nemo Yu <zyu379@wisc.edu>
Merging this PR will not alter performance
|
| 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)
Footnotes
-
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. ↩
Summary
Adds a native
MultiPolygongeometry extension type tovortex-geo, and a WKB-export helper (to_wkb) for the native geometry types (Point,Polygon,MultiPolygon).MultiPolygon(vortex.geo.multipolygon) mirrors the existingPolygontype, mainly for SpatialBenchz_boundarycolumn, which is mixture ofPolygonandMultiPolygon.to_wkbserializes a native geometry array to WKB (viageoarrow-cast), the form DuckDB'sGEOMETRYvectors 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 itsExtVTable+ Arrow import/export).extension::{PointData, PolygonData}+to_wkbon the existingPoint/Polygontypes.