7个版本 (4个重大更新)

0.5.1 2022年8月7日
0.5.0 2022年6月10日
0.4.1 2021年4月5日
0.4.0 2020年3月19日
0.1.0 2018年12月1日

#383 in 算法

Download history 6468/week @ 2024-03-14 7305/week @ 2024-03-21 7915/week @ 2024-03-28 7413/week @ 2024-04-04 7212/week @ 2024-04-11 7863/week @ 2024-04-18 6462/week @ 2024-04-25 7504/week @ 2024-05-02 6505/week @ 2024-05-09 7606/week @ 2024-05-16 7617/week @ 2024-05-23 7410/week @ 2024-05-30 8035/week @ 2024-06-06 7845/week @ 2024-06-13 6595/week @ 2024-06-20 5325/week @ 2024-06-27

每月下载 28,805次
5 个crate中使用了(4个直接使用)

Apache-2.0

16KB
230

Build Status Documentation

geoutils

Geoutils是一个不断发展的crate,提供多种地质计算和实用工具。大多数计算基于Location结构体上的方法。

docs.rs上找到完整的API参考。

示例

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());
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());
  • 获取一系列坐标的中心。
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());
  • 检查一个点是否在另一个点的特定半径内。
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);

许可

Apache-2.0

依赖关系

~175KB