Получить всю широту и долготу одного километра - PullRequest
0 голосов
/ 18 февраля 2019

Я хочу получить все широты и длины пользователя на расстоянии 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'}}

Я хочу найти всех других пользователей, которые находятся на расстоянии 1 км от пользователя1.

я пробовал это но мне не помогло.

Любая помощь будет принята с благодарностью.Спасибо ..

1 Ответ

0 голосов
/ 18 февраля 2019

Я думаю, должно быть наоборот.Вы можете рассчитать расстояние между пользователем и его / ее друзьями и определить, находятся ли они в 1 км от пользователя.Вы можете просто сделать это так (я использую 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))

Вы можете посмотреть , так что ответьте для более подробной информации о расстояниирасчет.

...