Ошибка преобразования координат широты и долготы в названия городов в больших наборах данныхPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Ошибка преобразования координат широты и долготы в названия городов в больших наборах данных

Сообщение Anonymous »

Я хочу преобразовать широту и долготу в город с большим набором данных.
Я использую следующий код:

Код: Выделить всё

import numpy as np
import geopy
import time

def get_city_with_retry(df, geolocator, lat_field, lon_field, retries=3, delay=1):
for _ in range(retries):
try:
location = geolocator.reverse((df[lat_field], df[lon_field]), exactly_one=True)
return location.raw['address'].get('city', location.raw['address'].get('town', 'Unknown'))
except Exception as e:
print(f"Error occurred for coordinates ({df[lat_field]}, {df[lon_field]}): {e}")
time.sleep(delay)
return 'Unknown'

# Initialize geolocator
geolocator = geopy.Nominatim(user_agent='my-geocoding-app/1.0')

# Apply the function with retry logic
transactions_data['City'] = transactions_data.apply(lambda row: get_city_with_retry(row, geolocator, 'Latitude', 'Longitude'), axis=1)

# Display the result
print(transactions_data)
но есть ошибки, такие как:

ВНИМАНИЕ: urllib3.connectionpool:Повторная попытка (Retry(total=1) , connect=None, read=None, redirect=None, status=None)) после разрыва соединения из-за 'NewConnectionError(': не удалось установить новое соединение: [Errno 111] Соединение отклонено ')': /reverse?lat=-7.964164&lon=112.623673&format=json&addressdetails=1
ПРЕДУПРЕЖДЕНИЕ:urllib3.connectionpool:Повторная попытка (Повторить (total=0, connect=None, read=None, redirect=None, status =Нет)) после разрыва соединения из-за «NewConnectionError(»: не удалось установить новое соединение: [Errno 111] Соединение отклонено»)': /reverse?lat=-7.964164&lon=112.623673 &format=json&addressdetails=1
Произошла ошибка для координат (-7.964164, 112.623673): HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): превышено максимальное количество попыток с URL-адресом: /reverse?lat=-7.964164 &lon=112.623673&format=json&addressdetails=1 (Вызвано ConnectTimeoutError(, 'Время ожидания соединения с nominatim.openstreetmap.org истекло. (connect timeout=1)'))

какое еще решение для кода?

Подробнее здесь: https://stackoverflow.com/questions/791 ... n-large-da
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»