Geocoding API对比:定价、免费额度和使用条款

为你的项目选择最经济实惠的 geocoding API 提供商。对 HERE, Google Maps Platform, Azure Maps, OpenCage, TomTom Maps, LocationIQ 和 Nominatim 的定价进行公正的比较。

发布于 2023 年 6 月 6 日,作者:Jan Vlnas

作者注

本文最初在 Superface 博客上发布,当时该公司正转型为 agentic tooling platform,经该公司许可,本文在此重新发布。

我已不再从事 geocoding API 相关工作,本文内容可能已过时。

Geocoding 是将地址转换为地理定位坐标(纬度和经度)的过程。反向 geocoding 则相反:将街道地址分配给给定的坐标。Geocoding 的示例包括:

如何构建此功能? 最简单的方法是使用 geocoding API,它通常还包括反向 geocoding 和地址数据清理功能。

好消息是有很多 geocoding API 提供商可供选择。坏消息是你必须选择一个。这就是我们在这里的原因:帮助你决定最适合你项目的 geocoding API。

比较标准

在本文中,我们将研究定价模型和使用条款:

在后续文章中,我们还将探讨其他标准:

什么是 Superface,为什么这个比较是中立的

在 Superface,我们不提供 geocoding API。相反,我们正在构建一个通用的 API 客户端,可让你直接从你的应用程序连接到任何 API 和任何提供商,而无需通过我们的服务器传递数据。你甚至可以使用单个接口后面的多个提供商,而无需研究每个提供商的文档或跟上 API 的更改。

Geocoding 是一个特别的领域,你的项目可以从使用多个 API 提供商中受益,无论是出于准确性、成本管理还是法律原因。我们的目标是为你提供有关 geocoding API 的准确和公正的信息,我们将向你展示如何使用我们的 API 客户端 OneSDK 立即使用它们。

哦,还有一件事:OneSDK 是免费且开源的,无论你是使用它进行两次 geocoding 还是数十亿次 geocoding,都没有关系。我们的业务建立在提供到 API 的连接器及其长期支持,而不是建立在使用量之上。

Geocoding API 对比

| 提供商 | 免费请求数 | 速率限制(每秒请求数) | 定价(每 1,000 个请求) | 补充说明 | | ------------------ | -------- | ------------------- | ---------------------- | ---------------------------------------- | | HERE | 30,000/月 | 5 | 0.83 美元(最高 500 万)0.66 美元(最高 1000 万) | | | Google Maps | 40,000/月(200 美元信用额度) | 50 | 5 美元(最高 10 万)4 美元(最高 50 万) | 需要署名和 Google Maps | | Azure Maps | 5,000/月 | 500(geocoding)250(反向 geocoding) | 4.50 美元 | | | OpenCage | 2,500/天 | 1(免费)15(X-Small)最高 40(Large) | 0.17 美元(每天 10,000 个)0.11 美元(每天 300,000 个)[1] | 仅用于测试的免费试用版;每月固定定价 | | TomTom Maps | 2,500/天 | 5 | 0.54 美元 | | | LocationIQ | 5,000/天 | 2 | 0.16 美元(每天 10,000 个)0.03 美元(每天 100 万个)[1:1] | 免费计划需要署名;每月固定定价 | | Nominatim | 不适用 | 1 | 不适用 | 仅限低流量、非商业用途;需要署名 |

HERE

HERE 的定价 从 Limited Plan 开始,该计划为你提供每天 1,000 个免费请求,速率限制为每秒 5 个请求

如果你提供付款信息,你将被升级到 Base Plan。Base Plan 删除了速率限制,并为你设置了每月 30,000 个免费请求。超过此数量后,最多 500 万个请求的价格为每 1,000 个 0.830 美元,每月 500 万到 1000 万个请求之间的价格为每 1,000 个 0.660 美元

Google Maps Platform

Google Maps Platform 要求你提供账单详细信息才能使用 Geocoding API,并为你提供每月 200 美元的免费信用额度,这对于 40,000 个免费 geocoding API 请求 来说非常划算(查看 Geocoding API 使用和账单)。

如果这还不够,定价从每 1,000 个请求 5 美元开始,每月最多 100,000 个请求。超过此数量后,价格会降至每 1,000 个请求 4 美元,最高 500,000 个请求。

无论使用量如何,速率限制为每秒 50 个请求。Google 还禁止在 Google Maps 以外的其他地图上显示 geocoding 结果,并且要求显示 Google 徽标 以进行署名。

Azure Maps

Azure Maps 提供每月 5,000 个免费请求(参见 Azure Maps Search 的定价),超过此数量后,每 1,000 个请求的价格为 4.50 美元(最多 500,000 个请求)。

查询速率限制 为 geocoding 每秒 500 个,反向 geocoding 每秒 250 个。

OpenCage

OpenCage 的定价 比其他服务更丰富。你可以选择购买一次性请求包(有效期长达一年),或者按月或按年订阅不同的使用层级。

免费层级仅用于测试和开发,为你提供每天 2,500 个请求,速率限制为每秒 1 个请求。最便宜的套餐每月 50 美元,包含每天 10,000 个请求(大约每 1,000 个请求 0.17 美元),速率限制为每秒 15 个请求。最大的 pre-Enterprise 套餐每月 1,000 美元,包含每天 300,000 个请求,速率限制为每秒 40 个请求(大约每 1,000 个请求 0.11 美元)。

一个不错的地方是,每日请求限制是“软性的”——如果你偶尔超过限制,服务不会被阻止,你也不会被收取任何额外费用。只有当你反复超过限制时,OpenCage 才会要求你升级下个月的计划。

LocationIQ

LocationIQ 的定价 与 OpenCage 的非常相似。你可以选择按月和按年支付的计划,但没有购买一次性请求包的选项。

只要你在你的应用程序中包含到 LocationIQ 的链接,免费层级就允许商业用途。此外,与 OpenCage 相比,免费层级的限制翻倍,允许每天 5,000 个免费请求,速率限制为每秒 2 个请求。最小的套餐基本上与 OpenCage 的相同:它每月 49 美元,包含每天 10,000 个请求(大约每 1,000 个请求 0.16 美元),速率限制为每秒 15 个请求。但是,最大的套餐包含每天 100 万个请求,价格为每月 950 美元(大约每 1,000 个请求 0.03 美元)。

与 OpenCage 类似,LocationIQ 对每日请求有一个“软性”限制,允许请求“最多达到你每日限制的 100%”。例如,在最小的套餐上,你可以偶尔执行每天 20,000 个请求,然后才会收到错误。

TomTom Maps API

TomTom 提供了一个慷慨的免费层级,每天 2,500 个请求也可用于商业应用程序。超过此数量后,1,000 个请求的价格为 0.50 欧元(0.54 美元)

Nominatim

Nominatim 与此列表中的其他服务略有不同。它主要是一个开源项目,使用来自 OpenStreetMap 的数据。反过来,OpenStreetMap 的搜索由 Nominatim 提供支持。你可以(并且应该)在你的服务器上运行 Nominatim,但如果你只是想尝试 API 或有一个小型的业余项目,欢迎你使用 OpenStreetMap 提供的 Nominatim 实例。

但是,请密切注意其 使用政策,特别是:

Nominatim 也被一些 商业提供商 使用,包括 OpenCage 和 LocationIQ。

定价对比

虽然每项服务都有不同的定价层级,但我们可以根据发出的请求数量来比较价格。我们在此比较中省略了 Nominatim,因为它始终是免费的,但不适用于商业项目。

小用量(每月最多 30,000 个请求)

中用量(每月 100,000 个请求或每天 3,333 个请求)

高用量(每月 300,000 个请求或每天 10,000 个请求)

结论:哪个 geocoding API 交易最划算?

仅根据定价,我们可以得出关于每个提供商的结论。

对于较高用量的情况,Azure Maps 是最昂贵的选择,免费额度低,每个请求的价格固定。与 Google Maps 类似,Azure Maps 每个 1,000 个请求的价格几乎是其他提供商的十倍。

Google Maps Platform 的价格同样昂贵,但也是限制最多的提供商,要求署名和使用其嵌入式地图显示数据。这可能会带来额外的成本,因为带有 JavaScript API 的 Google Maps 也按使用量付费。

OpenCageLocationIQ 都提供每月固定价格的计划。OpenCage 还提供购买一次性使用额度的可能性,并自动处理多种货币的账单。另一方面,LocationIQ 提供更慷慨的免费额度,并且他们的每月计划更便宜,尤其是在更高用量的情况下。“Business Plus” 计划尤其允许每天 100 万个请求,允许每月高达 3000 万个请求,而无需协商自定义定价。如果你的 geocoding API 的使用量在整个月内都是一致的,那么每月订阅可能最有意义。

另一方面,如果你的使用量不均衡,TomTom Maps 可能是更好的选择。每个 1,000 次调用的价格是最低的之一,并且你每天有大量的免费请求。与 OpenCage 和 LocationIQ 不同,你无需支付每月订阅费用。商业友好的免费层级也是小型和低预算项目的绝佳选择。

对于高用量,HERE 是一个可行的选择。虽然大多数提供商要求你在使用大约 500,000 个请求/月后升级到(可能很昂贵的)Enterprise 计划,但 HERE 只会在你达到每月 1000 万个请求后才要求你这样做。(但是,LocationIQ 允许通过他们最大的套餐每天 100 万个请求。)

最后,Nominatim 是一个特殊的选项。非常适合小型项目,但不适用于商业用途。尽管如此,如果你使用该服务,请考虑 支持该项目

资源

更新

该文章于 2023 年 6 月 26 日更新,根据提供商的要求加入了 LocationIQ。

脚注

  1. 对于每月订阅的服务(OpenCage 和 LocationIQ),每个 1,000 个请求的价格基于每月支付的最低和最高计划的每日限制(30 天)。↩︎ ↩︎