例如,我有用户当前位置的纬度和经度,我想找到他所有的朋友在 1 公里的距离。
User1 current Latitude : '25.276987'
User1 current Longitude: '55.296249'
同样,我有所有其他用户 lat 和长与我。
{'user2':{lat:'25.122212','long':'55.296249'},'user3':{lat:'25.222212','long':'55.396249'}}
我想找到用户 1 距离 1 公里的所有其他用户。
我试过this,但没有帮助我。
任何帮助将不胜感激。谢谢..
你可以计算用户和他 / 她的朋友之间的距离,并确定他们是否在用户的 1 KM 中。你可以简单地这样做(我在这个例子中使用GeoPy):
from geopy import distance
def get_distance(user_co, friend_co):
coords_1 = (user_co.get('lat'), user_co.get('long'))
coords_2 = (float(friend_co.get('lat')), float(friend_co.get('long')))
return distance.distance(coords_1, coords_2).km
user = {'lat': 25.276987, 'long': 55.296249}
friends= {'user2':{ 'lat':'25.122212','long':'55.296249'},'user3':{ 'lat':'25.222212','long':'55.396249'}}
for key, value in friends.items():
dstnce = get_distance(user, value)
if dstnce < 1:
print("Friend {} is in 1 KM".format(key))
您可以查看this so answer以了解有关距离计算的更多详细信息。
本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处
评论列表(16条)