【问题标题】:Get all latitude and longitude of one kilometer distance获取一公里距离的所有经纬度
【发布时间】:2019-07-11 11:05:51
【问题描述】:

我想在 1 公里的距离内获取用户的所有经纬度信息。例如,我有用户当前位置的纬度和经度,我想在 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 公里的所有其他用户。

我尝试了this,但没有帮助我。

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

【问题讨论】:

    标签: django python-3.x location latitude-longitude


    【解决方案1】:

    我想,应该反过来。您可以计算用户和他/她的朋友之间的距离,并确定他们是否在用户的 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 了解有关距离计算的更多详细信息。

    【讨论】:

    • 谢谢你拯救我的一天
    猜你喜欢
    • 1970-01-01
    • 2010-11-18
    • 2015-10-18
    • 1970-01-01
    • 2013-06-06
    • 1970-01-01
    • 1970-01-01
    • 2017-09-05
    • 2014-08-29
    相关资源
    最近更新 更多