1 个不稳定版本
0.13.0 | 2023 年 10 月 25 日 |
---|
#9 在 #geohash
2,017 每月下载量
在 20 个包中使用(通过 encointer-primitives)
17KB
267 行
Substrate 的 Rust-Geohash
这是一个派生版本,用于与 parity substrate 一起使用
Rust-Geohash 是一个用于 Geohash 算法的 Rust 库。从 node-geohash 模块移植而来。
文档
在 docs.rs 查看API文档
许可
根据您的选择,许可协议为以下之一
- Apache 许可协议第 2.0 版 (LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT 许可协议 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
。
贡献
除非您明确声明,否则任何有意提交以包含在本作品中的贡献,根据 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