7 releases (4 breaking)
0.5.1 | Aug 7, 2022 |
---|---|
0.5.0 | Jun 10, 2022 |
0.4.1 | Apr 5, 2021 |
0.4.0 | Mar 19, 2020 |
0.1.0 | Dec 1, 2018 |
#83 in Geospatial
27,895 downloads per month
Used in 5 crates
(4 directly)
16KB
230 lines
geoutils
Geoutils is a evolving crate to provide several geological computations and utilities. Most computations are based off methods on the Location struct.
Find the full API reference at docs.rs.
Examples
- Get the distance between two points using Vincenty's Inverse Formula.
use geoutils::Location;
let berlin = Location::new(52.518611, 13.408056);
let moscow = Location::new(55.751667, 37.617778);
let distance = berlin.distance_to(&moscow).unwrap();
println!("Distance = {}", distance.meters());
- Get the distance between two points using the Haversine Formula.
use geoutils::Location;
let berlin = Location::new(52.518611, 13.408056);
let moscow = Location::new(55.751667, 37.617778);
let distance = berlin.haversine_distance_to(&moscow);
println!("Distance = {}", distance.meters());
- Get the center of a list of coordinates.
use geoutils::Location;
let berlin = Location::new(52.518611, 13.408056);
let moscow = Location::new(55.751667, 37.617778);
let center = Location::center(&vec![&berlin, &moscow]);
println!("Center {}, {}", center.latitude(), center.longitude());
- Check if a point falls in a certain radius of another point.
use geoutils::{Location, Distance};
let berlin = Location::new(52.518611, 13.408056);
let moscow = Location::new(55.751667, 37.617778);
let is_in_radius = berlin.is_in_circle(&moscow, Distance::from_meters(2000.0)).unwrap();
println!("Is Berlin in 2000m of Moscow? {}", is_in_radius);
License
Apache-2.0
Dependencies
~155KB