← Back to all sparks
G

geos

ANALYTICS
Velocity0.0

Open Source Geometry Engine (GEOS) R API

The thin GEOS binding for R adds terra interop after three years of compiler triage

geospatialgeometryc-bindingsr-packagemaintenance
Current state
geos is a low-overhead R binding to the GEOS geometry engine, exposing predicates, overlays and spatial indexes with minimal copying. Version 0.2.5 accepts terra SpatVector objects directly, alongside fixes for zero-length memcpy and plotting of invalid geometries. The releases between 0.2.0 and 0.2.5 contain almost no feature work — they are responses to compiler warnings, sanitiser findings and CRAN check failures.
Where it's heading
Feature development stopped after 0.2.0 and the package has since been kept alive against a moving toolchain: strict-prototypes warnings, a clang sanitiser error, format string checks, an M1 test failure. The 0.2.5 terra support breaks that pattern and came from an outside contributor, which suggests the package's direction is now set by what neighbouring spatial packages need from it rather than by GEOS feature coverage.
Prediction
GEOS has released new capabilities since the 3.11 features wired up in 0.2.0, and none have been exposed since; whether the next release closes that gap or continues as interop-and-maintenance is the open question the history does not yet answer.

Recent moves

  1. 7mo ago

    Accepts terra SpatVector objects; invalid-geometry plotting fixed

    Adds support for terra SpatVector inputs, fixes plotting of invalid geometries and a zero-length memcpy, and clarifies geos_clearance_line_between() documentation. The first release in three years to widen what the package accepts rather than just keep it compiling.

    View source ↗
  2. 2y ago

    Fix format string checks flagged by CRAN

    A compile-time correction to satisfy CRAN's package check page. No user-visible change.

    View source ↗
  3. 2y ago

    NA/NaN handling adjusted for waldo; M1 test fixed

    Adjusts NA and NaN handling ahead of a waldo update and fixes a test failing on Apple silicon. Purely reactive maintenance against the surrounding ecosystem.

    View source ↗
  4. 3y ago

    Silence -Wstrict-prototypes warnings

    Compiler warning cleanup after a toolchain change. Invisible to users of the package.

    View source ↗
  5. 3y ago

    Fix clang address sanitizer error

    Resolves a memory error surfaced by the clang address sanitizer. Correctness work in the C layer with no interface change.

    View source ↗
  6. 3y ago

    GEOS 3.11 functions exposed; spatial tree and join helpers added

    Exposes geos_line_merge(), geos_concave_hull(), geos_hilbert_code(), geos_transform_xy() and other GEOS 3.11 features, adds geos_basic_strtree() for indexing non-GEOS geometries with fewer copies, and rewrites the geometry construction code around a conversion bug. The last substantive feature release in the visible history.

    View source ↗