Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Rust
  3. rust-reverse-geocoder

rust-reverse-geocoder

Apache-2.0Rust

A blazing fast, offline reverse geocoder that finds the nearest city and country for given coordinates.

GitHubGitHub
142 stars11 forks0 contributors

What is rust-reverse-geocoder?

rrgeo is a reverse geocoder written in Rust that converts latitude and longitude coordinates into human-readable location data like city and country. It uses a k-d tree for efficient nearest-neighbor searches against a built-in dataset, making it ideal for high-throughput or offline scenarios where external APIs are impractical.

Target Audience

Developers and engineers who need to reverse geocode large volumes of coordinates quickly, such as those processing geospatial data in batch jobs or building offline-capable applications. It also targets those building high-performance web services that require reverse geocoding functionality without network dependencies.

Value Proposition

Developers choose rrgeo for its exceptional speed, with nanosecond-scale search times, and its offline operation, eliminating reliance on external APIs. Its multiple interfaces, including a core library, command-line tool, and REST APIs via popular web frameworks, provide flexibility for various integration scenarios.

Overview

A blazing fast, offline, reverse geocoder

Use Cases

Best For

  • Processing large batches of coordinates quickly without network calls
  • Building offline applications that require location data from coordinates
  • Creating high-throughput web services that need reverse geocoding functionality
  • Developing command-line tools for geospatial data analysis
  • Integrating reverse geocoding into Rust applications with minimal latency
  • Serving reverse geocoding via REST APIs using Axum, Actix, or Warp frameworks

Not Ideal For

  • Applications requiring street-level address accuracy or detailed postal codes
  • Projects that need frequently updated location data, such as for mapping new constructions or events
  • Systems where integration with multiple geocoding providers for fallback or specific data sources is essential

Pros & Cons

Pros

Blazing Fast Performance

Benchmarked at ~155 ns per query, enabling high-throughput processing without performance bottlenecks, as shown in core library tests.

Offline Operation

Uses an embedded dataset, allowing reverse geocoding without network dependencies, ideal for batch jobs or offline scenarios.

Multiple Integration Options

Provides a core library, CLI tool, and REST APIs via Axum, Actix, and Warp, offering flexibility for various use cases.

Efficient Spatial Search

Implements a k-d tree for nearest-neighbor lookups, ensuring fast and accurate location matching based on the built-in dataset.

Production-Ready Web Servers

Includes HTTP servers that handle over 200,000 requests per second, as demonstrated in benchmarks with oha for high-traffic scenarios.

Cons

Coarse Location Data

Only returns city and country information, lacking street addresses, postal codes, or more granular details, which limits precision for detailed applications.

Static Dataset

The embedded location data is fixed and not automatically updated, which can result in outdated information over time without manual intervention.

Rust-Centric Ecosystem

Primarily designed for Rust projects; integrating into non-Rust environments requires additional effort, such as using FFI or running separate services.

Limited Dataset Customization

Users cannot easily modify or extend the built-in dataset without recompiling the project or forking the codebase, reducing adaptability.

Frequently Asked Questions

Quick Stats

Stars142
Forks11
Contributors0
Open Issues3
Last commit4 months ago
CreatedSince 2015

Tags

#high-performance#geocoding#offline#geolocation#cli-tool#web-api#rust#reverse-geocoding

Built With

C
Cargo
R
Rust
W
Warp
a
axum
A
Actix

Included in

Rust56.6k
Auto-fetched 17 hours ago

Related Projects

MapLibre/MartinMapLibre/Martin

Blazing fast and lightweight PostGIS, MBtiles and PMtiles tile server, tile generation, and mbtiles tooling.

Stars3,897
Forks385
Last commit1 day ago
sedona-dbsedona-db

A single-node analytical database engine with geospatial as a first-class citizen

Stars500
Forks61
Last commit2 days ago
coord_transformscoord_transforms

Rust crate for performing coordinate transforms

Stars35
Forks9
Last commit8 months ago
geomorphgeomorph

Rust implementation to simply convert between coordinate systems

Stars14
Forks6
Last commit2 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub