2012-11-08 46 views
1

我們公司經常收到大量地址列表,其中6000個地址需要進行地理編碼並存入我們的數據庫。我們已經有Google Maps API for Business許可證來完成此項任務。使用Google Maps API進行批量地理編碼查找的最佳方式

我正在創建一個應用程序,在我解析並分離列表的相關部分以使URL發送給Google後,執行批量地理編碼查找。解析器已經爲我完成了。我已經嘗試爲每個地址製作一個單獨的線程,並在單個線程中向Google發送請求,這適用於小數字地址(大約10到100),但不適用於大數字(大於500)。我收到了很多403錯誤。所以這可能不是一個好辦法去做這件事。我也不太瞭解網絡編程知識,所以我試着去學習。

所以我想知道做這件事的最好方法是什麼。我可以使用VB.NET或C#來完成這件事;這並不重要。謝謝!

回答

1

看起來您可能會碰到Google的使用限制。您可以使用的另一個選項是使用不會施加此限制的商業服務。其中一項服務是Smartystreets的LiveAddress API。通過此API,您可以發送批次地址(一次最多100個)以進行驗證和地理編碼。這個API是地理分佈的,並且會盡可能快地爲請求提供服務。有很多sample code on github,你可以註冊一個免費的訂閱(每月250個免費查詢)。 SmartyStreets也有一個batch processing service允許文件上傳(如果你不想做任何編程)。

更新:SmartyStreets現在提供international address verification

完全披露:我是SmartyStreets的軟件開發人員。

+0

我不幸沒有切換選項。這不取決於我。我們已經爲Google支付了許可。我會考慮達到極限。我不認爲我實際上已經獲得了100,000個查找表。我的測試用例中有大約6000個地址,今天我只用了兩次。 – Cuthbert

+0

也許會減慢你的請求速度或者在多個IP地址上分割請求? – mdwhatcott

+1

我認爲你對減慢請求速度是正確的。 Google每秒最多隻需要10個請求,而我只是在發送請求。我閱讀失敗。 – Cuthbert

相關問題