Skip to content

HydroniumLabs/h3o

Folders and files

NameName
Last commit message
Last commit date

Latest commit

93b707a · Jan 3, 2025
Nov 14, 2024
Jan 3, 2025
Nov 14, 2024
Jan 3, 2025
Jan 3, 2025
Jan 3, 2025
Jul 30, 2023
Dec 9, 2022
Dec 9, 2022
Jan 9, 2023
Jan 3, 2025
Jan 9, 2023
Jan 2, 2025
Dec 9, 2022
Jan 15, 2023
Dec 9, 2022

Repository files navigation

h3o

Crates.io Docs.rs CI Status Coverage License

Rust implementation of the H3 geospatial indexing system.

Design

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.

Installation

Cargo

  • Install the rust toolchain in order to have cargo installed by following this guide.
  • run cargo install h3o

Usage

use h3o::{LatLng, Resolution};

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

Why this name?

Rust is an iron oxide. A Rust version of H3 is an H3 oxide, in other word H 3 O (a.k.a hydronium). Chemically speaking this is wrong ( H 3 O is produced by protonation of H 2 O , not oxidation of H 3 ), but ¯\(ツ)

License

BSD 3-Clause

About

Rust implementation of the H3 geospatial indexing system.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages