Skip to contents

Josiah Parry

Fast and efficient geospatial operations on GeoArrow arrays.

Bindings to the geoarrow-rs, pure-Rust implementation of GeoArrow with fast “geospatial algorithms implemented by the GeoRust community.”1

Rust 🦀 bindings created using extendr.

The geoarrowrs (pronounced “gee-oh-air-oh-arr-ess”) package provides the following:

  • Data I/O readers:
    • Shapefile
    • Flatgeobuf
    • GeoJson
    • Note: use geoarrow and arrow R packages for reading parquet.
  • Triangulation (Delaunay, Earcut)
  • Voronoi cells and edges
  • Length
  • Distance (pairwise only at the moment)
  • Simplification
  • Area
  • Bounding Boxes
  • Extremes
  • Rotated rectangles
  • Interpolation
  • Geometry conversion
  • Geometry explosion & flattening
  • Affine ops

Installation

Install the geoarrowrs from GitHub:

pak::pak("josiahparry/geoarrowrs")

Note that this requires Rust to be installed.

Visit rustup to install rust (do it, it’s fun! believe me!).

Usage

Note that {geoarrowrs} is desigend to work with {geoarrow} and {nanoarrow} R packages, specifically. Additionally, special care was taken to work with {arrow} and it’s Acero / {dplyr} engines.