← Back to all sparks
G

geoarrow-r

ANALYTICS
Velocity0.0

Extension Types for Spatial Data for Use with Arrow

geoarrow tracks the GeoArrow spec and otherwise just keeps compiling

geospatialrapache arrowcolumnar formatssfinteroperability
Current state
geoarrow gives R zero-copy access to geospatial data in the Arrow columnar format, with conversions to and from sf and wk. The package is thin by design — most of the work lives in vendored copies of geoarrow-c and nanoarrow — and its release notes reflect that: the substantive one in the window implemented GeoArrow 0.2 specification features, and everything since has been compiler warnings and a test fixed for a new sf version.
Where it's heading
Development is downstream of two things the package does not control: the GeoArrow specification and the C libraries it vendors. When the spec added non-PROJJSON CRS types and spheroidal edge interpolations, the R package followed; when the geoarrow.box type appeared, it gained conversions to and from wk::rct(). Between those, releases exist to keep CRAN builds green. The type-selection work in 0.4.0 — letting callers force geoarrow.wkb output when converting from sf — is the only recent change driven by R-side ergonomics rather than upstream.
Prediction
Given that every feature release so far has implemented a spec revision, the next one likely arrives when GeoArrow publishes its next set of extension types rather than on any schedule of its own.

Recent moves

  1. 2mo ago

    geoarrow 0.4.3

    A patch to the vendored nanoarrow.h clearing new CRAN gcc warnings. Build hygiene, nothing else — and the version between it and the previous entry never reached this feed.

    View source ↗
  2. 8mo ago

    geoarrow 0.4.1

    A test updated for a new sf release. No package behaviour changes.

    View source ↗
  3. 10mo ago

    geoarrow lets callers choose the geometry type when converting from sf

    Converting sf objects now accepts an optional geometry vctr type, so output can be forced to geoarrow.wkb rather than whatever the converter infers. The vendored geoarrow-c and nanoarrow copies are refreshed alongside. A small piece of control for anyone whose downstream reader expects a specific encoding.

    View source ↗
  4. 1y ago

    geoarrow implements the GeoArrow 0.2 specification features

    The substantive release of the window. Non-PROJJSON CRS types and spheroidal edge interpolations from the GeoArrow 0.2 spec land, the geoarrow.box type gains conversions to and from wk::rct(), wk_set_crs() and wk_set_geodesic() are implemented for geoarrow_vctr, and the wkb and wkt extension types accept binary view and string view storage. Spheroidal edges in particular are what makes non-planar geometry representable rather than silently flattened.

    View source ↗
  5. 2y ago

    geoarrow 0.2.1

    Undefined behaviour found by UBSAN and fixed. The kind of release a package with vendored C code produces regularly.

    View source ↗
  6. 2y ago

    Legacy geoarrow tagged before the rewrite

    A tag marking the unsupported pre-2023 version of the package, published to clear the way for the rewritten one that went to CRAN. Useful only as the boundary between two different codebases sharing a name.

    View source ↗