Crate foodshare_geo

Crate foodshare_geo 

Source
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 km

Re-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.
PostGISPoint
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.