2014-11-26 1 views
1

Я использую жемчужину geocoder для работы с геолокационными данными. Теперь у меня есть список адресов 20k, и я найду для них их координаты по широте и долготе. Я использую для этого Bing Maps, что позволяет отправлять 125 тыс. Запросов в день. Так что это хорошо.Рельсы + геокоды: поиск широты и долготы для адресов 20k

Но есть проблема - потому что, когда я быстро отправляю несколько запросов через геокодер, чтобы декодировать некоторые адреса, вместо того, чтобы возвращать адреса, он возвращает пустой массив (ничего).

Я думаю, что это из-за отправки слишком большого количества запросов в течение очень короткого периода времени. Так я думал о вводе там задержку между созданием этих вызовов геокодером, как:

sleep 3 # pause for 3 seconds 

Это просто мысль - насколько велика должна быть пауза между вызовами геокодером? Или есть ли лучший способ обработать 20 тыс. Данных с использованием геокодера?

Спасибо

+0

Есть около 85 тыс. Секунд в день, поэтому разумно, что Bing позволит не менее 1,4 звонков в секунду, но если 3 секунды работают на вас (потребуется около 16 часов и 40 минут, чтобы закончить 20k вызовов) - идите на это. –

+0

README геокодера говорит «50 000 запросов/24 часа»? –

ответ

1

Если это не для приложений Windows предел 125000 год. Приложения Windows могут делать 50 000 в день. Обратите внимание, что учетные записи, отличные от предприятий, ограничены по скорости. Когда вы сделаете слишком много запросов за короткий промежуток времени, будет возвращен пустой ответ, а флаг в заголовке укажет, что запрос был ограничен лимитом. Это задокументировано здесь: http://msdn.microsoft.com/en-us/library/ff701703.aspx