Geohashing

Raymond Hettinger python at rcn.com
Tue Apr 28 21:54:12 EDT 2009


import hashlib

def geohash(latitude, longitude, datedow):
    '''Compute geohash() in http://xkcd.com/426/

    >>> geohash(37.421542, -122.085589, b'2005-05-26-10458.68')
    37.857713 -122.544543

    '''
    h = hashlib.md5(datedow).hexdigest()
    p, q = [('%f' % float.fromhex('0.' + x)) for x in (h[:16], h
[16:32])]
    print('%d%s %d%s' % (latitude, p[1:], longitude, q[1:]))

if __name__ == '__main__':
    import doctest
    doctest.testmod()



More information about the Python-list mailing list