У меня есть csv-файл с примерно 4 миллионами записей длиной lat, и у меня есть 400 таких файлов. Я хочу получить имена состояний для всех этих данных, чтобы я мог добавить их в файлы, имеющие длину lat. Я использую python и пытался использовать Nominatim, но для обработки только одного файла требуется много часов. Есть ли какой-нибудь быстрый способ выполнить задачу с помощью любого цикла. Примечание - Длинные данные в основном из США. И все 400 имен файлов расположены в определенной последовательности. Заранее спасибо!
Номинальное использование ограничено примерно 1 запросом в секунду. Если вы сделаете больше, ваш IP-адрес будет заблокирован.
Существует множество решений, но главный вопрос заключается в том, сколько вы можете позволить себе потратить времени и денег на решение своей проблемы?
Основная операция, в которой вы нуждаетесь, называется обратным геокодированием.
Дешевым решением является локальное развертывание экземпляра Nominatim. Однако для этого требуется довольно много времени и новейшая машина с большим объемом памяти, а в идеале-SSD-накопитель.
В противном случае у вас есть API-сервисы, которые вы можете использовать: Google Map API, OpenCageData, Здесь и т. Д.
Во всех случаях, чтобы разрешить состояния для ваших записей 4M, я предлагаю отправлять запросы в пакетном режиме, когда это возможно, и/или параллельно.