1 unstable release

0.1.0 Jul 10, 2023

#101 in #geospatial

MIT license

33KB
795 lines

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.

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.

How it Works

Dependencies

~23MB
~385K SLoC