finds.dev← search

// the find

georust/geo

★ 1,879 · Rust · NOASSERTION · updated Jun 2026

Rust geospatial primitives & algorithms

The de-facto standard geospatial library for Rust. Covers the full stack of 2D geometry — primitives, boolean ops, clustering, DE-9IM, distance calculations across multiple metrics (haversine, geodesic, vincenty), and polygon repair. Part of the larger georust ecosystem that includes projection, serialization, and GPS tooling.

Full DE-9IM topological relations are genuinely rare outside of JTS/GEOS; having them in safe Rust is a big deal. The metric space abstraction for distance/bearing/length is well-designed — you swap Haversine for Geodesic at the type level, not via runtime flags. Polygon repair via constrained Delaunay triangulation means you can feed it real-world garbage data and get valid output back. The benchmark suite with real GeoJSON fixtures (Louisiana, Netherlands plots) shows the maintainers actually care about perf on realistic inputs, not synthetic microbenchmarks.

The `old_sweep` module sitting right in the source tree is a code smell — it's either dead or a half-finished migration, and neither is confidence-inspiring in a geometry library where edge cases matter. No rasterization support; if you need to burn geometries to a grid you're on your own. The PROJ integration is an optional feature but the docs don't clearly warn you about PROJ's notoriously painful native build dependency, which will bite anyone who just adds `geo = { features = ["use-proj"] }` in CI. Stars are modest for the scope of the library — this is a small community and some algorithms haven't had a serious reviewer in years.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →