C# 使用Google Maps API进行批量地理代码查找的最佳方法

C# 使用Google Maps API进行批量地理代码查找的最佳方法,c#,.net,geocoding,C#,.net,Geocoding,我们公司经常收到大量的地址列表,超过6000个地址需要进行地理编码并输入数据库。我们已经有一个谷歌地图API的商业许可证来完成这一点 我正在创建一个应用程序,在解析并分离列表中的相关部分后,进行批量地理代码查找,以生成发送到Google的URL。解析器已经为我完成了。我试着为每个地址创建一个单独的线程,并在单独的线程中向Google发送请求,这适用于少量地址(大约10到100个),但不适用于较大的地址(超过500个)。我有很多403个错误。所以这可能不是一个很好的方法。我对网络编程也不太了解,所

我们公司经常收到大量的地址列表,超过6000个地址需要进行地理编码并输入数据库。我们已经有一个谷歌地图API的商业许可证来完成这一点

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


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

看起来你可能遇到了谷歌的使用限制。您可以使用的另一种选择是使用不施加此类限制的商业服务。Smartystreets提供的服务就是其中之一。此API允许您发送批量地址(一次最多100个)以进行验证和地理编码。此API是地理分布的,它将以接收请求的速度为请求提供服务。你可以注册一个免费订阅(每月250次免费查询)。SmartyStreets还有一个允许上传文件的功能(如果您不想进行任何编程)

更新:SmartyStreets现在提供


充分披露:我是SmartyStreets的软件开发人员。

看起来你可能遇到了谷歌的使用限制。您可以使用的另一种选择是使用不施加此类限制的商业服务。Smartystreets提供的服务就是其中之一。此API允许您发送批量地址(一次最多100个)以进行验证和地理编码。此API是地理分布的,它将以接收请求的速度为请求提供服务。你可以注册一个免费订阅(每月250次免费查询)。SmartyStreets还有一个允许上传文件的功能(如果您不想进行任何编程)

更新:SmartyStreets现在提供


完全披露:我是SmartyStreets的软件开发人员。

很遗憾,我没有切换的选择。这不取决于我。我们已经从谷歌支付了许可费。我将调查是否达到极限。我还没想到我已经查过10万次了。我的测试用例中有大约6000个地址,我今天只运行了两次。可能会降低您的请求速率,或者将请求分配到多个IP地址?我认为您降低请求速率的想法是正确的。谷歌每秒只接收10个请求,而我只是随意发送请求。我阅读不好。不幸的是,我没有转换的选择。这不取决于我。我们已经从谷歌支付了许可费。我将调查是否达到极限。我还没想到我已经查过10万次了。我的测试用例中有大约6000个地址,我今天只运行了两次。可能会降低您的请求速率,或者将请求分配到多个IP地址?我认为您降低请求速率的想法是正确的。谷歌每秒只接收10个请求,而我只是随意发送请求。我阅读不好。