Geohash encode/decode implementation for Elixir
- Encode coordinates with
Geohash.encode(lat, lon, precision \\ 11)
Geohash.encode(42.6, -5.6, 5)
# "ezs42"- Decode coordinates with
Geohash.decode(geohash)
Geohash.decode("ezs42")
# {42.605, -5.603}- Find neighbors
Geohash.neighbors("abx1")
# %{"n" => "abx4",
# "s" => "abx0",
# "e" => "abx3",
# "w" => "abwc",
# "ne" => "abx6",
# "se" => "abx2",
# "nw" => "abwf",
# "sw" => "abwb"}- Find adjacent
Geohash.adjacent("abx1","n")
# "abx4"- Get bounds
Geohash.bounds("u4pruydqqv")
# %{min_x: 10.407432317733765, min_y: 57.649109959602356, max_x: 10.407443046569824, max_y: 57.649115324020386}-
Add geohash to your list of dependencies in
mix.exs:def deps do [{:geohash, "~> 1.0"}] end
-
Ensure geohash is started before your application:
def application do [applications: [:geohash]] end