Awesome
geoarrow-rs
A Rust implementation of the GeoArrow specification and bindings to GeoRust algorithms for efficient spatial operations on GeoArrow memory.
This repository also includes Python bindings and JavaScript (WebAssembly) bindings, wrapping the GeoArrow memory layout and offering vectorized geometry operations.
Documentation
<!-- - [Use from Rust](https://docs.rs/geoarrow/latest/geoarrow/) - [Use from Python](https://geoarrow.org/geoarrow-rs/python) - [Use from JavaScript](https://geoarrow.org/geoarrow-rs/js) - [Create your own Rust-JavaScript library with `wasm-bindgen`](https://docs.rs/geoarrow-wasm/latest/geoarrow_wasm/) --> <!-- - [Create your own Rust-Python library with `pyo3-geoarrow`](https://docs.rs/geoarrow-wasm/latest/geoarrow_wasm/) -->Examples
References
- Prototyping GeoRust + GeoArrow in WebAssembly gives an early preview of the JavaScript API.
- GeoArrow and GeoParquet in deck.gl gives an overview of what GeoArrow's memory layout looks like under the hood, even though it's focused on how to render the data on a map.
- Thoughts on GEOS in WebAssembly introduces why I think GeoRust + GeoArrow on the web has significant potential.
- Zero-copy Apache Arrow with WebAssembly explains how the JavaScript bindings are able to move memory between JavaScript and WebAssembly so efficiently.