GEO Python¶
Simple GEO library based on Redis GEO commands
- Free software: MIT license
- Documentation: https://geo-python.readthedocs.io.
From version 3.2, Redis contains a set of very wonderful commands: the GEO commands (https://redis.io/commands#geo)
With these commands, we can easily develop LBS or GEO application.
Unfortunately, these features are not in redis-py(https://github.com/andymccurdy/redis-py) released packages, so we can only use its development version.
Installation¶
Now to use geo_python, you have to install the development version of redis-py first, and I am trysng to fix this...
$ pip install https://github.com/andymccurdy/redis-py/archive/master.zip#egg=redis
$ pip install geo_python
Get Started¶
In [1]: from geo_python import Point
In [2]: class MyPoint(Point):
...: __key__ = 'my_point'
...:
In [3]: point = MyPoint.create(120, 40, 'my point 1')
In [4]: MyPoint.query_by_pos(point.longitude, point.latitude)
Out[4]: [<MyPoint __key__:my_point longitude:120.000000894 latitude:39.9999999108 member:my point 1>]
In [5]: MyPoint.query_by_member(point.member)
Out[5]: [<MyPoint __key__:my_point longitude:120.000000894 latitude:39.9999999108 member:my point 1>]
In [6]: point.update(member='my point 2')
In [7]: print point.member
my point 2
In [8]: another_point = MyPoint.get_by_member(point.member)
In [9]: print another_point
<MyPoint __key__:my_point longitude:120.000000894 latitude:39.9999999108 member:my point 2>
In [10]: print MyPoint.dist(point, another_point)
0.0
In [11]: point.geo_hash()
Out[11]: 'wxj7d9v2fs0'
Credits¶
This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.