3

我正在寻找地理编码服务,它每天可以提供 100 万次查询。

我已经阅读了有关 google/yahoo api 的信息,但不幸的是,它们都不能提供这个数量。

任何帮助表示赞赏。

4

3 回答 3

2

Google、Yahoo、MapQuest(许可服务)或 Microsoft 将非常乐意允许您使用他们的 API 以这种数量和他们的高级计划。

如果您想要这个免费的,MapQuest Open运行 Nominatim,一个免费的地理编码器,基于 OpenStreetMap 数据。截至今天,此服务不受速率限制。

或者,如果您想要更多控制权,为什么不基于Nominatim设置自己的地理编码器?

于 2012-05-27T16:37:18.540 回答
1

我在SmartyStreets工作,我们专注于地址验证和地理编码。虽然我不确定(请参阅我对您的问题的评论)如果您是按地址或 IP 进行地理编码,但我知道您可以调查一些场所。我将从一些一般原则开始,然后提供一两个建议。

有些服务可以对如此大的数量执行批量地理编码或整体地理编码。最终,要为单个用户每天处理超过一百万个请求,您确定使用的 API 应具有以下特征:

  • 地理分布。延迟很容易使请求的时间翻倍,并且在一天内超过一百万次查询(大约 11 次查询/秒)会严重影响您的应用程序的性能。

  • 可扩展。如果一台机器在处理 API 请求时不堪重负,系统将如何应对并为其他等待处理的机器提供服务?

  • 保证正常运行时间的 SLA。特别是对于关键任务操作,地理编码不能妨碍您,并且对于如此大的数量,您希望确保可用性不会受到任意影响。

  • 便携/轻便。换句话说,您需要能够以通用格式输出结果的东西。XML 很好,但通常难以使​​用并且有其局限性。我个人发现JSON是发送和接收数据的绝佳格式。

  • 经济实惠。谷歌和雅虎 API 的高级计划通常是为企业实体设计的,成本很高。你的手段可能不允许这样做。

还要记住,Google、OpenStreetMap (Nominatim)、Yahoo 和其他公司实际上并没有验证他们地理编码的位置。换句话说,您可以给 Google 或 OSM 一个实际上并不存在的地址,它仍然会给您坐标——因为它们执行的是地址近似,而不是地址验证。他们的目的是帮助您搜索/查找东西,但如果您需要准确的坐标,您最好确保地址正确。

开始四处寻找这样的 API。我建议您从LiveAddress开始,看看它如何满足您的需求。我们每天处理数百万个请求,每秒可以轻松处理数千个请求,我们返回给您的数据只会真实存在:无需猜测地址。它带有 SLA,由美国各地的 3 个数据中心提供服务,并具有简单的 JSON 输出。响应时间通常约为 100 毫秒或更短(不包括我们无法控制的外部延迟)。

顺便说一句,它可以免费用于每月 250 个地址或查询,在您的情况下,这应该可以帮助您真正轻松地开始......

如果您还有其他问题,我很乐意亲自为您提供帮助。

于 2012-05-27T18:35:31.013 回答
0

免费?如果是这样,您将找不到 Google、Yahoo、Microsoft、MapQuest 等商业公司提供的此类服务。唯一的方法是支付更多的日常查询费用或使用 OpenStreetMap.org (OSM)。然而,OSM 的 API 每天只提供 2,5k 次查询,但您可以下载整个地图内容(或什至某些部分,例如特定城市或国家)并将其放在您自己的服务器上。请注意,OSM 不提供卫星或街景。

于 2012-05-27T16:37:11.020 回答