All Projects → helium → erlang-h3

helium / erlang-h3

Licence: Apache-2.0 license
Erlang binding for Uber's H3 spatial coordinate library

Programming Languages

erlang
1774 projects
CMake
9771 projects
Makefile
30231 projects

erlang-h3

CI Hex.pm

The erlang-h3 library provides an Erlang binding for Uber's H3 spatial coordinate library.

Install

Add h3 to your deps section in rebar.config:

{deps, [h3]}.

Building

Fork the repo and simply use make to build the library. You will need cmake installed to build the required h3 core package.

To run the tests run make test.

Cross compilation

Cross-compilation requires the environment variable ERTS_INCLUDE_DIR defined as the target directory containing erl_nif.h, e.g. ERTS_INCLUDE_DIR=target/usr/lib/erlang/erts-<VERSION>/include.

Usage

The h3 module exports most of the functions from the core H3 library.

Like the JavaScript version the Erlang binding uses degrees instead of radians when converting to and from geo-coordinates to h3 indexes.

Example using ./rebar3 shell after cloning the repo:

$ ./rebar3 shell
...

1> Paris = h3:from_geo({48.8566, 2.3522}, 9).
617550903642685439
2> h3:to_string(Paris).
"891fb466257ffff"
3> h3:to_geo(Paris).
{48.857078058197295,2.3529900909549206}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].