Skip to main content

rfham_geo/
lib.rs

1//! Geographic data types and lookup services for RF-Ham libraries.
2//!
3//! `rfham-geo` provides:
4//!
5//! - **Grid systems** ([`grid`]) — trait abstractions for identifier-based locator systems
6//!   (e.g. Maidenhead / QTH, implemented in separate crates).
7//! - **Geo-IP lookup** ([`geoip`]) — map an IP address to location, locale, and ASN data
8//!   via pluggable [`geoip::Provider`] implementations.
9//!
10//! # Module overview
11//!
12//! | Module | Key types | Purpose |
13//! |--------|-----------|---------|
14//! | [`grid`] | [`grid::GridIdentifier`], [`grid::GridPolygon`], [`grid::GridSystem`] | Locator-grid trait abstractions |
15//! | [`geoip`] | [`geoip::IpGeoData`], [`geoip::Provider`] | IP-to-location resolution |
16//! | [`geoip::providers`] | [`geoip::providers::GeoIpLookup`], [`geoip::providers::NoOp`] | Concrete provider implementations |
17//! | [`error`] | [`error::GeoError`], [`error::GeoResult`] | Crate-wide error and result types |
18//!
19//! # Features
20//!
21//! - **`std`** *(default)*: enables standard-library support. Disable for `no_std` + `alloc`
22//!   environments (note: the HTTP provider requires `std`).
23
24// ------------------------------------------------------------------------------------------------
25// Modules
26// ------------------------------------------------------------------------------------------------
27
28pub mod error;
29
30pub mod geoip;
31
32pub mod grid;