Я пытаюсь запустить следующий код для выполнения геокодирования с использованием пакета geopy.
import geopandas as gpd
import pandas as pd
import os
from time import sleep
from geopy.geocoders import Nominatim
end = pd.read_csv ('/home/hammer/transfer/coord.csv', sep=';')
from geopy.exc import GeocoderTimedOut
def do_geocode(coor):
try:
return geopy.geocode(coor)
except GeocoderTimedOut:
return do_geocode(coor)
coor = gpd.tools.geocode(end["address"],
provider = "nominatim", user_agent="gis", country_bias="Brazil", timeout=5)
Я бы хотел сделать геокод 90 000 адресов, хотя у меня проблема тайм-аут . Даже после использования этой функции выше это было предложение пользователя от сообщества.
Альтернативой, которую я думал, было создание докера контейнера из nominatim. Таким образом, я мог бы выполнять столько геокодов, сколько мне нужно, не страдая от ограничений публичного API.
Для создания докера я использовал это peterevans / nominatim изображение, доступное здесь (https://hub.docker.com/r/peterevans/nominatim/). Однако я нигде не нашел, как мне следует изменить в своем скрипте, чтобы сделать геокод из моего контейнера . Когда я пытаюсь изменить параметры провайдера, он выдает ошибку и говорит, что я могу использовать только параметры пакета.
Может ли кто-нибудь помочь мне с этим? Или указать мне другое возможное решение?