25个不稳定版本

0.13.1 2024年3月13日
0.13.0 2023年1月15日
0.12.0 2021年10月8日
0.11.0 2021年1月17日
0.1.1 2014年11月21日

#13 in 地理空间

Download history 5475/week @ 2024-04-29 6726/week @ 2024-05-06 6647/week @ 2024-05-13 7983/week @ 2024-05-20 5710/week @ 2024-05-27 7139/week @ 2024-06-03 7259/week @ 2024-06-10 7153/week @ 2024-06-17 8273/week @ 2024-06-24 7093/week @ 2024-07-01 7081/week @ 2024-07-08 5830/week @ 2024-07-15 7334/week @ 2024-07-22 7291/week @ 2024-07-29 5673/week @ 2024-08-05 5624/week @ 2024-08-12

26,172次每月下载
8个crate(3个直接)中使用

MIT/Apache

115KB
242

Rust-Geohash

Rust-Geohash是一个用于Geohash算法的Rust库。从node-geohash模块移植而来。

文档

docs.rs查看API文档

许可

根据您的选择,许可如下

贡献

除非您明确声明,否则根据Apache-2.0许可定义的,您有意提交以包含在作品中的任何贡献,将根据上述条款双重许可,不附加任何其他条款或条件。


lib.rs:

Geohash

在Rust中实现的Geohash算法。将经纬度元组编码/解码为哈希字符串。您可以在维基百科上找到更多关于geohash算法的信息

用法

extern crate geohash;

use std::error::Error;

use geohash::{encode, decode, neighbor, Direction, Coord};

fn main() -> Result<(), Box<Error>> {
  // encode a coordinate
  let c = Coord { x: 112.5584f64, y: 37.8324f64 };
  println!("encoding 37.8324, 112.5584: {}", encode(c, 9usize)?);

  // decode a geohash
  let (c, _, _) = decode("ww8p1r4t8")?;
  println!("decoding ww8p1r4t8 to: {}, {}", c.y, c.x);

  // find a neighboring hash
  let sw = neighbor("ww8p1r4t8", Direction::SW)?;

  Ok(())
}

依赖项

~750KB
~15K SLoC