Expand description
High-performance geospatial utilities for FoodShare.
This crate provides:
- Haversine distance calculations
- PostGIS POINT parsing (JSON and WKT formats)
- Batch processing with optional parallelism
- WASM bindings for browser usage
§Example
use foodshare_geo::{haversine_distance, Coordinate};
let coord1 = Coordinate::new(52.5200, 13.4050); // Berlin
let coord2 = Coordinate::new(48.8566, 2.3522); // Paris
let distance_km = haversine_distance(&coord1, &coord2);
assert!((distance_km - 878.0).abs() < 10.0); // ~878 kmRe-exports§
pub use batch::calculate_distances;pub use batch::DistanceResult;
Modules§
- batch
- Batch distance calculations with optional parallelism.
Structs§
- Coordinate
- A geographic coordinate with latitude and longitude.
Enums§
- GeoError
- Errors that can occur during geo operations.
- PostGIS
Point - A PostGIS Point representation that can be parsed from JSON or WKT.
Constants§
- EARTH_
RADIUS_ KM - Earth’s mean radius in kilometers.
- EARTH_
RADIUS_ M - Earth’s mean radius in meters.
Functions§
- haversine_
distance - Calculates the great-circle distance between two coordinates in kilometers.
- haversine_
distance_ meters - Calculates the great-circle distance between two coordinates in meters.
- parse_
postgis_ point - Parse a PostGIS point from a JSON value.
Type Aliases§
- Result
- Result type alias for geo operations.