finds.dev← search

// the find

georust/geojson

★ 339 · Rust · Apache-2.0 · updated Apr 2026

Library for serializing the GeoJSON vector GIS file format

A Rust library for parsing and serializing GeoJSON, the standard JSON format for geographic features. It sits in the georust ecosystem and handles the full GeoJSON spec: Points, LineStrings, Polygons, GeometryCollections, FeatureCollections, and all the bbox/id/foreign-member edge cases. If you're building geospatial tooling in Rust and need to read or write `.geojson` files, this is the go-to crate.

Bi-directional conversion with the `geo-types` crate means you can move cleanly between GeoJSON and Rust geometry primitives without writing glue code. Streaming reader/writer (`FeatureReader`/`FeatureWriter`) lets you process large FeatureCollections without loading everything into memory — critical for real-world geodata files that routinely hit hundreds of MB. Serde integration via `ser`/`de` modules lets you derive GeoJSON serialization on your own structs directly. The test fixtures cover null geometry, 3D coordinates, string IDs, and bbox on collections — spec-compliant edge cases that most partial implementations miss.

The minimum Rust version claim of 1.34 from 2019 is almost certainly stale and not tested in CI anymore — any MSRV guarantee that old is marketing, not engineering. The README is skeletal; there's no documentation on error handling strategy or what happens with invalid coordinates, which matters in production when you're ingesting third-party geodata. No support for GeoJSON validation beyond structural parsing — you can parse a Polygon with self-intersecting rings just fine, and the library won't tell you. The crate has 339 stars in a space where Python's `shapely` and JS's `turf.js` dominate; the Rust geospatial ecosystem is still thin, so if you need spatial operations beyond read/write, you'll be reaching for other crates immediately.

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 →