Crates.io | haversine-rs |
lib.rs | haversine-rs |
version | 0.3.0 |
source | src |
created_at | 2023-05-21 16:08:50.263128 |
updated_at | 2023-05-22 00:16:52.152421 |
description | Provides some helpers functions to calculate the distance between two points on Earth using the Haversine formula. |
homepage | |
repository | https://github.com/efrenfuentes/haversine-rs |
max_upload_size | |
id | 870036 |
size | 11,765 |
Provides some helpers functions to calculate the distance between two points on Earth using the Haversine formula. Also can find the bearing between two points, and get a point at a given distance and bearing from a given point.
Add this to your Cargo.toml
:
[dependencies]
haversine-rs = "0.3.0"
use haversine_rs::point::Point;
use haversine_rs::units::Unit;
use haversine_rs::distance;
use haversine_rs::bearing;
use haversine_rs::find_point;
fn main() {
let p1 = Point::new(40.7767644, -73.9761399);
let p2= Point::new(40.771209, -73.9673991);
let distance = distance(p1, p2, Unit::Miles);
let bearing = bearing(p1, p2);
let p3 = find_point(p1, 1.0, 90.0, Unit::Miles);
println!("Distance: {} miles", distance);
println!("Bearing: {} degrees", bearing);
println!("Point at 1 mile and 90 degrees: {:?}", p3);
}
use haversine_rs::point::Point;
use haversine_rs::units::Unit;
use haversine_rs::distance;
use haversine_rs::bearing;
use haversine_rs::find_point;
fn main() {
let p1 = Point::new(40.7767644, -73.9761399);
let p2= Point::new(40.771209, -73.9673991);
let distance = distance(p1, p2, Unit::Custom(3950.0));
let bearing = bearing(p1, p2);
let p3 = find_point(p1, 1.0, 90.0, Unit::Custom(3950.0));
println!("Distance: {} miles", distance);
println!("Bearing: {} degrees", bearing);
println!("Point at 1 mile and 90 degrees: {:?}", p3);
}
use haversine_rs::point::Point;
use haversine_rs::units::Unit;
use haversine_rs::distance_vec;
fn main() {
let p1 = Point::new(40.7767644, -73.9761399);
let p2 = Point::new(40.773987, -73.971769);
let p3 = Point::new(40.771209, -73.9673991);
let distance = distance_vec(vec![point_x, point_y, point_z], Unit::Miles);
println!("Distance: {} miles", distance);
}
This project is licensed under the MIT License - see the LICENSE file for details.