#geospatial #spatial-index #gis #geography #h3

no-std bin+lib h3o

A Rust implementation of the H3 geospatial indexing system

17 个不稳定版本 (5 个破坏性)

0.6.4 2024年5月10日
0.6.2 2024年3月31日
0.4.0 2023年8月9日
0.3.4 2023年7月28日
0.3.1 2023年3月17日

#11 in 地理空间

Download history 2613/week @ 2024-05-04 3770/week @ 2024-05-11 2678/week @ 2024-05-18 2300/week @ 2024-05-25 2632/week @ 2024-06-01 2199/week @ 2024-06-08 2160/week @ 2024-06-15 2737/week @ 2024-06-22 2947/week @ 2024-06-29 2911/week @ 2024-07-06 2386/week @ 2024-07-13 2568/week @ 2024-07-20 2330/week @ 2024-07-27 2491/week @ 2024-08-03 1794/week @ 2024-08-10 1953/week @ 2024-08-17

8,939 个月下载量
用于 7 crates

BSD-3-Clause

3MB
8K SLoC

h3o

Crates.io Docs.rs CI Status Coverage License

Rust implementation of the H3 geospatial indexing system.

设计

This is not a binding of the reference implementation, but a reimplementation from scratch.

The goals are

  • To be safer/harder to misuse by leveraging the strong typing of Rust.
  • To be 100% Rust (no C deps): painless compilation to WASM, easier LTO, …
  • To be as fast (or even faster when possible) than the reference library.

安装

Cargo

  • 按照指南安装 rust 工具链,以便通过 cargo 安装。
  • 运行 cargo install h3o

使用

use h3o::{LatLng, Resolution};

let coord = LatLng::new(37.769377, -122.388903).expect("valid coord");
let cell = coord.to_cell(Resolution::Nine);

为什么是这个名字?

Rust 是一种氧化铁。Rust 版本的 H3 是一种 H3 氧化物,换句话说 $H_3O$(也称为水合氢离子)。从化学的角度来看这是错误的( $H_3O$ 是通过 $H_2O$ 的质子化产生的,而不是 $H_3$ 的氧化),但是 ¯\(ツ)

许可证

BSD 3-Clause

依赖项