【问题标题】:Best way to do bulk geocode look-up with Google Maps API使用 Google Maps API 进行批量地理编码查找的最佳方式
【发布时间】:2012-11-08 18:34:21
【问题描述】:

我们公司经常收到大量地址列表,我们需要对其进行地理编码并放入我们的数据库中的地址超过 6000 个。我们已经拥有 Google Maps API for Business License 来完成这项工作。

我正在创建一个应用程序,以便在解析并分离列表的相关部分以将 URL 发送给 Google 之后进行批量地理编码查找。解析器已经为我完成了。我尝试为每个地址创建一个单独的线程,并在单个线程中向 Google 发送请求,这适用于少量地址(大约 10 到 100),但不适用于大量地址(超过 500)。我收到很多 403 错误。所以这可能不是解决这个问题的好方法。我对网络编程也不太了解,所以我在这里边走边学。

所以我想知道最好的方法是什么。我可以使用 VB.NET 或 C# 来完成这项工作;没关系。谢谢!

【问题讨论】:

    标签: c# .net geocoding


    【解决方案1】:

    您似乎遇到了 Google 的使用限制。您可以使用的另一种选择是使用不施加此类限制的商业服务。 Smartystreets 的LiveAddress API 就是这样一项服务。此 API 允许您发送批量地址(一次最多 100 个)以进行验证和地理编码。此 API 是地理分布的,将在收到请求后尽快处理请求。有大量的sample code on github,您可以注册免费订阅(每月 250 次免费查找)。 SmartyStreets 还有一个batch processing service 允许文件上传(如果你不想做任何编程)。

    更新:SmartyStreets 现在提供international address verification

    全面披露:我是 SmartyStreets 的一名软件开发人员。

    【讨论】:

    • 很遗憾,我没有切换的选项。这不取决于我。我们已经支付了 Google 的许可费用。我会考虑达到极限。我不认为我实际上已经进行了 100,000 次查找。我的测试用例有大约 6000 个地址,我今天只运行了两次。
    • 可能会减慢您的请求速度或将请求分配到多个 IP 地址?
    • 我认为您降低请求率是正确的。谷歌每秒最多只能处理 10 个请求,而我只是随意发送请求。我阅读失败。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-02
    • 1970-01-01
    • 2011-05-09
    • 2010-11-30
    • 1970-01-01
    相关资源
    最近更新 更多