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.
https://github.com/JerryLeooo/geo_example
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
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'
This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.