geoarrow-wasm
Efficient, vectorized geospatial operations in WebAssembly.
This library defines efficient data structures for arrays of geometries (by wrapping the Rust implementation of GeoArrow, geoarrow-rs
) and connects to GeoRust, a suite of geospatial algorithms implemented in Rust.
Note that this is an opinionated library. Today, it chooses performance over ease of use. Over time it will get easier to use.
Documentation
Why?
I wrote a blog post about this that goes into more detail.
Install
From JavaScript
Most users will use this by installing the prebuilt JavaScript package. This is published to NPM as geoarrow-wasm
.
From Rust
Advanced users can also depend on these Rust-Wasm bindings directly, enabling you to add custom operations on top of these bindings and generating your own WebAssembly bundles. This means you can reuse all the binding between JavaScript and WebAssembly and focus on implementing your algorithms. This package is published to crates.io as geoarrow-wasm
.
Examples
How it Works