Repository navigation
Updates 202606 - #90
Conversation
|
Hi @nmandery — I just took the opportunity of having Fable 5 back to dig a little into this PR and the migration work you did here. First of all: really nice job, this is a big update and it reads very cleanly — and CI is green across the board. While going through it I spotted a few small things that might be worth a look, roughly by severity: 1. cells = geometry_to_cells(shapely.Point(8.9, 47.2), 8)
cells_to_wkb_polygons(cells).type
# 0.22.0: arro3.core.DataType<LargeBinary>
# PR readthedocs/readthedocs.org#90: arro3.core.DataType<Binary>Besides the dtype change, WKB payloads > 2 GiB (~16M hexagon polygons) would panic on offset overflow, and it's inconsistent with 2. Empty geometries now yield nulls instead of empty cell lists. 3. The 4. Minor: the WKB output field name changed from If you don't mind, I can propose these improvements directly in the PR, and you can validate them later on. |
|
Hi @regislon Thanks for looking into this - these are all valid findings. Please just go ahead and start a PR to address these. For some of the issues like point 3 and the rasterh3 upgrade I also have started to prepare fixes, but so far that is not finished. |
geoarrow-array 0.8's `WkbArray` is an alias for `GenericWkbArray<i32>`, so the migration silently changed the output of cells_to_wkb_polygons from large_binary to binary. This was inconsistent with the other *_to_wkb_* functions (which kept <i64>) and would panic on i32 offset overflow for WKB payloads over 2 GiB. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The ToWKB* error type changed from Infallible to a real error in the
geoarrow 0.8 migration, turning the pre-existing .expect("wkbarray")
calls into reachable panic paths. Convert them into Python exceptions.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The migration replaced extension_field() with data_type().to_field("", true),
changing the arro3-visible field name from "geometry" to "".
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Picks up the antimeridian and resolution-search fixes released on 2026-06-26, plus iterator perf improvements. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Allows using the enum as a dict key / in sets, as expected from a Python enum. It was unhashable in 0.22 as well (eq without hash removes the default __hash__). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- all *_to_wkb_* functions return large_binary (i64 offsets) - WKB output field is named "geometry" and carries the geoarrow.wkb extension metadata - wkb_to_cells: flatten/list consistency, per-geometry compact round-trip via uncompact, containment mode ordering, null entry preservation - document the pre-existing compact+flatten 'heterogeneous resolution' failure (present in 0.22.0 as well) as xfail Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
keewis
left a comment
There was a problem hiding this comment.
some small nits, otherwise this looks good to me (and tests pass). Shall we merge this now and follow up with smaller PRs afterwards?
Fixes for the updates-202606 migration (follow-up to #90 review)
|
@nmandery, I've added the small changes I've suggested in the reviews. Should CI pass, I'll merge this in a week and release afterwards (though if you have the time feel free to merge and optionally release yourself). |
|
thanks again! |
fixes #86
Requires readthedocs/readthedocs-builder#11