使用 redis-py 储存地理位置数据( 三 )

另一方面 ,以下代码则展示了如何通过 georadiusbymember() 方法 ,找出位于广州指定半径范围内的其他城市:
>>> r.georadiusbymember("Guangdong", "Guangzhou", 30, unit="km", withdist=True)[['Guangzhou', 0.0], ['Foshan', 17.9819]]# 佛山在广州的半径 30 公里范围之内>>> r.georadiusbymember("Guangdong", "Guangzhou", 100, unit="km", withdist=True)[['Foshan', 17.9819], ['Guangzhou', 0.0], ['Qingyuan', 52.0944]]# 佛山和清远都在广州的半径 100 公里范围之内获取 geohash最后 ,用户可以通过 geohash() 方法调用 GEOHASH 命令 ,以此来获得指定地理位置的 geohash 值 ,以下是该方法的文档:
geohash(self, name, *values) method of redis.client.Redis instanceReturn the geo hash string for each item of ``values`` members ofthe specified key identified by the ``name``argument.作为例子 ,以下代码展示了如何获取清远、广州和佛山的 geohash 值:
>>> r.geohash("Guangdong", "Qingyuan", "Guangzhou", "Foshan")['ws0w0phgp70', 'ws0e89curg0', 'ws06vu9s0j0']结语好的 ,这次关于使用 redis-py 处理 GEO 数据的介绍就到此结束 ,希望这篇文章能够帮助大家更好地了解 redis-py 对 GEO 数据的支持 ,也希望这个新版本的 redis-py 能够尽早释出 ,让大家能够尽快地在 redis-py 里面用上 GEO 命令 。