Skip to main content

A library for geohash encoding, decoding and associated functions

Project description

Build Status python 2.7|3.4|3.5|3.6|3.7Downloads

Geolib

A python library for geohash encoding, decoding and finding neighbour cells. This is a python port of Chris Veness' javascript implementation.

Wikipedia reference

Installation

pipenv install geolib or pip install geolib

Usage

from geolib import geohash

Encode a latitude, longtiude to geohash

geohash.encode(latitude, longitude, precision)
>>> geohash.encode('70.2995', '-27.9993', 7)
>>> gkkpfve

Decode a geohash to latitude, longitude

geohash.decode(geohash), returns latitude, longitude as tuple of decimals
>>> geohash.decode('gkkpfve')
>>> (70.2995, -27.9993)

Find neighbouring cells of a geohash

geohash.neighbours(geohash) 
retuns a namedtuple (n, ne, e, se, s, sw, w, nw)    

>>> neighbours = geohash.neighbours('gcpuyph')
>>> neighbours
>>> ('gcpuypk', 'gcpuypm', 'gcpuypj', 'gcpuynv', 'gcpuynu', 'gcpuyng', 'gcpuyp5', 'gcpuyp7')
>>> neighbours.ne
>>> gcpuypm

Find adjacent cell in a given direction

geohash.adjacent(geohash, direction)
>>> geohash.adjacent('gcpuyph', 'n')
>>> gcpuypk

Find SW/NE latitude/longitude bounds of a geohash

geohash.bounds(geohash)
returns a namedtuple ((sw_lat, sw_lon), ((ne_lat, ne_lon))
>>> bounds = geohash.bounds('ezs42')
>>> bounds
>>> ((42.583, -5.625), (42.627, -5.58)))
>>> bounds.sw.lat 
>>> 42.583

Documentation

Geolib readthedocs

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

geolib-1.0.7.tar.gz (4.2 kB view hashes)

Uploaded Source

Built Distribution

geolib-1.0.7-py3-none-any.whl (5.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page