@Aigerim1108

Определить название города по широте и долготе?

У меня есть файл где указываются местоположения по широтам и долготам. Нужно получить списком или массивом название городов по широте и долготе. Написала программу по примерам но у меня ошибки выходят. Помогите, плиз!
import pandas
import geocoder


def geo_rev(x):
    g = geocoder.osm([x.Latitude, x.Longitude], method='reverse').json
    if g:
        return g.get('country')
    else:
        return 'no country'


GrowData = pandas.read_csv('GrowLocations.csv')
GD = pandas.DataFrame(GrowData, columns=['Latitude', 'Longitude'])
df_rm_dup = GD.drop_duplicates(keep='first')


print(df_rm_dup[['Latitude', 'Longitude']].apply(geo_rev, axis=1))
  • Вопрос задан
  • 270 просмотров
Пригласить эксперта
Ответы на вопрос 2
mayton2019
@mayton2019
Bigdata Engineer
Какая-то сетевая ошибка. Хз что значит. Предположительно ты пошел на сетевой адрес который не доступен.

Смотри. Судя по всему geocoder - это просто посредник который обращается к Geo-IP-провайдерам и качает с них информацию. Возможно здесь https://github.com/DenisCarriere/geocoder#providers полный список провайдеров и при вызове метода надо где-то указать либо url либо тип провайдера.
Ответ написан
@TKDBOT
Учу python. Готов к конструктивной критике.
geo = {'format': 'json', 'lat': f'{message.location.latitude}', 'lon': f'{message.location.longitude}'}
    r = requests.get('https://nominatim.openstreetmap.org/reverse', params=geo)

Вот пример для определения города для телеграм бота. Если будут вопросы то посмотри в сторону геокодинга Open Street Map. Он бесплатный и ответ получишь в формате json
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы