#geohash #gis #geography

substrate-geohash

Rust 的 Geohash 实现。用于与 substrate 一起使用

1 个不稳定版本

0.13.0 2023 年 10 月 25 日

#9#geohash

Download history 380/week @ 2024-04-04 210/week @ 2024-04-11 473/week @ 2024-04-18 260/week @ 2024-04-25 225/week @ 2024-05-02 153/week @ 2024-05-09 581/week @ 2024-05-16 332/week @ 2024-05-23 284/week @ 2024-05-30 690/week @ 2024-06-06 320/week @ 2024-06-13 519/week @ 2024-06-20 568/week @ 2024-06-27 179/week @ 2024-07-04 721/week @ 2024-07-11 360/week @ 2024-07-18

2,017 每月下载量
20 个包中使用(通过 encointer-primitives

MIT/Apache

17KB
267

crates.io

Substrate 的 Rust-Geohash

这是一个派生版本,用于与 parity substrate 一起使用

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

文档

文档

docs.rs 查看API文档

许可

根据您的选择,许可协议为以下之一

贡献

除非您明确声明,否则任何有意提交以包含在本作品中的贡献,根据 Apache-2.0 许可协议定义,应如上所述双重许可,无需附加条款或条件。


lib.rs:

Geohash

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

使用方法

extern crate geohash;

use fixed::types::I64F64;

fn main() -> Result<(), Box<geohash::GeohashError>> {
use std::convert::TryFrom;
use geohash::{GeoHash, Direction};
let lon = I64F64::from_num(112.5584);
  let lat = I64F64::from_num(37.8324f64);

  // decode a geohash
  let (lon, lat, _, _) = GeoHash::<9>::try_from("ww8p1r4t8")?.try_as_coordinates()?;

  // find a neighboring hash
  let sw = GeoHash::<9>::try_from("ww8p1r4t8")?.neighbor(Direction::SW)?;

  Ok(())
}

依赖项

~4MB
~87K SLoC