| Crates.io | libh3 |
| lib.rs | libh3 |
| version | 0.2.3-beta.1 |
| created_at | 2020-03-09 20:37:37.308779+00 |
| updated_at | 2025-08-08 16:53:56.241596+00 |
| description | Safe Rust Bindings to Uber's Hexagonal Hierarchical Spatial Index - H3 |
| homepage | |
| repository | https://github.com/ricky85ps/libh3.git |
| max_upload_size | |
| id | 216974 |
| size | 155,232 |
This crate calls functions provided by Uber's H3 library to expose a safe Rust API for it.
Contributions are welcome, just do a pull request.
This refers to a Debian like sytem, please adopt to your needs. It will build Uber's H3 library during build step, otherwise the libh3 crate cannot link.
sudo apt install cmake make gcc libtool
You may then dir into your project and build it using libh3 as dependency
To provide your own H3 Library, you must set H3_INSTALL_PREFIX as environment variable, so
libh3 can find it's header and static library.
You must then call cargo with feature flag uber_h3_from_scratch disabled, e.g.:
cargo build --no-default-features
If you installed H3 via a package manager, it's likely installed to /usr.
Set environment accordingly:
export H3_INSTALL_PREFIX=/usr
To build from sources do following steps:
sudo apt install git cmake make gcc libtool
git clone --depth=1 --branch v4.2.1 https://github.com/uber/h3.git
export H3_INSTALL_PREFIX=$PWD/h3_inst
cmake -S h3 -B h3_build
cmake --build h3_build --parallel 8
cmake --install ./h3_build --prefix $H3_INSTALL_PREFIX
For further documentation have a look at https://docs.rs/libh3/
For the concepts behind the library refer to h3geo.org or the H3 blog