Django 获取一公里距离的所有纬度和经度

Django 获取一公里距离的所有纬度和经度,django,python-3.x,location,latitude-longitude,Django,Python 3.x,Location,Latitude Longitude,我想在1公里的距离内获得用户的所有lat和long。例如,我有一个用户的当前位置纬度和经度,我想在1公里的距离内找到他的所有朋友 User1 current Latitude : '25.276987' User1 current Longitude: '55.296249' 同样地,我也有其他所有用户和我在一起 {'user2':{lat:'25.122212','long':'55.296249'},'user3':{lat:'25.222212','long':'55.396249'}}

我想在1公里的距离内获得用户的所有lat和long。例如,我有一个用户的当前位置纬度和经度,我想在1公里的距离内找到他的所有朋友

User1 current Latitude : '25.276987'
User1 current Longitude: '55.296249'
同样地,我也有其他所有用户和我在一起

{'user2':{lat:'25.122212','long':'55.296249'},'user3':{lat:'25.222212','long':'55.396249'}}
我想找到距离user1 1公里的所有其他用户

我试过了,但没有帮助我


任何帮助都将不胜感激。谢谢。

我想应该是相反的。您可以计算用户与他/她的朋友之间的距离,并确定他们是否在用户的1公里范围内。您可以简单地这样做(我在本例中使用):

来自geopy导入距离的

def get_距离(用户公司、朋友公司):
coords_1=(user_co.get('lat'),user_co.get('long'))
coords_2=(float(friend_co.get('lat')),float(friend_co.get('long'))
返回距离.距离(坐标1,坐标2).km
user={'lat':25.276987,'long':55.296249}
friends={'user2':{'lat':'25.122212','long':'55.296249'},'user3':{'lat':'25.222212','long':'55.396249'}
对于键,friends.items()中的值:
dstnce=获取距离(用户,值)
如果dstnce<1:
打印(“Friend{}在1公里内”。格式(键))

您可以查看有关距离计算的更多详细信息。

谢谢您为我节省了时间
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))