通过 TomTom Maps API 最大化电动出行





0/5 (0投票)
在本文中,我将向您介绍可以专门为电动汽车驾驶员利用的 API 功能。
随着 TomTom 最近宣布扩大其 API 访问权限,以及电动汽车的日益普及,开发人员拥有巨大的机会,可以通过创新实用的应用程序来满足消费者的需求。
在本文中,我将向您介绍可以专门为电动汽车驾驶员利用的 API 功能。电动汽车的车主和潜在车主可能会面临“续航里程焦虑”,导致这种焦虑的主要原因包括车主对单次充电后的预计续航里程不确定,以及路线类型如何影响续航里程。
我将简要介绍如何开始使用 TomTom API,并演示您可以使用哪些 API 为您的应用程序的消费者提供诸如以下问题的答案:
- 我目前的电量能否到达目的地?
- 这些估算对我的汽车准确吗?
- 到目的地的最经济的路线是什么?
开始使用 TomTom 地图 API
您可以在 TomTom 开发者门户找到开始使用 TomTom API 所需的一切。您首先需要做的是在门户上创建一个帐户。从主页输入您的电子邮件地址,然后点击“获取免费 API 密钥”按钮。
下一步是选择用户名并阅读服务条款。您的免费帐户每天支持最多 2500 次免费交易。请注意,如果每天 2500 次 API 交易不够用,您可以访问开发者仪表板中的“我的积分”屏幕购买更多交易。
一封包含设置帐户密码链接的电子邮件将发送到您的邮箱,然后您就可以开始使用了。在请求 API 密钥之前,您需要配置一个应用程序。在您的仪表板中,点击“+ 添加应用”按钮。
您需要为您的应用程序设置名称,并选择您的应用程序需要访问必要功能的**所有** TomTom 产品。本文中我们将引用的产品是**路由 API**,因此如果您要跟着操作,请务必勾选该框。
应用程序会很快获得批准并在您的仪表板上显示。条目显示了消费者 API 密钥以及有关您的应用程序的信息,包括应用程序的批准状态以及它使用的每个产品。
本文重点介绍如何使用 TomTom 路由 API,但开发人员还可以访问包含类似功能的 Web 和移动 SDK。您可以从以下链接了解更多关于每个 SDK 的信息:
仪表板还可以让您查看帐户中的任何积分以及与 API 交易相关的指标。TomTom 的免费套餐每天允许 2500 次交易,这为探索、开发和测试提供了充足的机会。
构建您的第一个可达范围请求
现在我们有了 API 密钥,就可以向路由 API 发送请求了。对于这些示例,我将使用 GET 请求并请求 JSON 格式的响应。端点也接受 POST 请求,并可以返回 XML 格式的响应。(文章末尾我将提供链接,您可以在其中找到有关如何更改请求以支持这些用例的更多信息。)
可达范围需要一个起始点,该起始点作为纬度和经度坐标对包含在 URL 中。我将使用波特兰俄勒冈国际机场 (PDX) 的租车柜台,其位置是:
- 纬度:45.5868227
- 经度:-122.5937596
为了完成此请求,我们还需要 API 密钥,并定义供范围计算引擎使用的关键参数。我们正在尝试确定电动汽车的续航里程,因此我们将传入 `energyBudgetInkWh` 参数。我们还需要添加一些额外的信息,但让我们一步一步来。
路由 API 的当前版本是 1,因此我们的基本 URL 是:
https://api.tomtom.com/routing/1/calculateReachableRange/
我们需要添加的第一项是路由的起始点、响应格式或返回类型以及我们的 API 密钥。起始点和返回类型作为路径参数在 URL 中传递。我们将返回类型设置为 **JSON**。API 密钥作为查询参数传递。
我们还需要在 `vehicleEngineType` 中明确说明我们使用的引擎类型,该类型为**电动**。设置引擎类型表示我们正在使用的能耗模型是基于电动的。我们将在下一个部分处理能耗模型,但到目前为止,我们的 URL 应该类似于下面的。
https://api.tomtom.com/routing/1/calculateReachableRange/45.5868227,-122.5937596/json?key=ReplaceWithYourAPIKeyHere&vehicleEngineType=electric
API 还需要知道我们的能量预算以及我们汽车使用的能耗模型,并且它期望这些值以公制格式提供。第一个值应该很容易获得,因为它是在车辆内的千瓦时可用量,但对于第二个数字,我们可能需要做一些数学计算。我们需要提供成对的能量消耗数据,包括以 km/h 为单位的速度和每 100 公里的 kWh 为单位的能量消耗。
如果您跟踪过您车辆的燃油或能源消耗,您就会知道这些数字会因地形、速度、负载甚至驾驶习惯而异。我们将在下一节中介绍如何从 API 获得更好的结果,但为了获得平均概念,我们将根据 EPA 提供的燃油消耗数据来计算。
假设我们驾驶的是 2018 款日产聆风,配备 40 kWh 电池,EPA 计算的燃油消耗为城市 125 MPGe,高速 100 MPGe。根据我找到的关于 EPA 测试的信息,城市驾驶通常相当于平均速度约为 20mph(约 30km/h),高速驾驶相当于平均速度约为 50mph(约 80km/h)。我们将使用每对中的第一个数字。
1 MPGe 等同于行驶一英里消耗 33.7 kWh。让我们从城市驾驶数字开始——125 MPGe 意味着如果汽车行驶 125 英里,它将消耗 33.7 kWh。如果我们把 125 英里转换为公里,得到 201.16 公里,然后用 33.7 除以 201.16 再乘以 100,我们将得到每 100 公里的能耗。这个计算结果是每 100 公里 16.75 kWh 的能耗估计。所以我们的第一对是 {30, 16.75}。
我们为高速驾驶重复计算——100 MPGe 相当于 160.93 公里。用 33.7 除以这个数字再乘以 100,我们得到第二个结果 20.94,得到第二对 {80, 20.94}
我们将这些数据作为逗号分隔的对传递给 API,在 URL 中用冒号分隔。根据您构建 URL 的方式,您可能还需要对数据进行编码。下面我将同时提供未编码和已编码的 URL。
https://api.tomtom.com/routing/1/calculateReachableRange/45.5868227,-122.5937596/json?key=ReplaceWithYourAPIKeyHere&vehicleEngineType=electric&energyBudgetInkWh=40&constantSpeedConsumptionInkWhPerHundredkm=30,16.75:80,20.94
https://api.tomtom.com/routing/1/calculateReachableRange/45.5868227,-122.5937596/json?key=ReplaceWithYourAPIKeyHere&vehicleEngineType=electric&energyBudgetInkWh=40&constantSpeedConsumptionInkWhPerHundredkm=30%2C16.75%3A80%2C20.94
理解响应
TomTom 范围计算引擎生成的响应是一系列点,可用于围绕起始位置绘制周长,指示车辆的最大范围。
{ "formatVersion": "0.0.1", "copyright": "Copyright 2018 TomTom International BV. ...", "privacy": "TomTom keeps information that tells us how ...", "reachableRange": { "center": { "latitude": 45.58671, "longitude": -122.59387 }, "boundary": [ { "latitude": 46.61204, "longitude": -122.62502 }, ... { "latitude": 46.60672, "longitude": -122.47402 } ] } }
您可以将这些数据用于几种方式。如果您正在开发可视化工具,您可以将这些点绘制在地图上,并在用户可以无续航里程焦虑地旅行的区域内着色。
您也可以将这些值保存在应用程序的地图中,当用户选择地点或兴趣点时,一个函数可以接收目的地和范围地图,并确定目的地是否在可达范围的边界内。
进一步优化请求以提高准确性的其他方法
该 API 包含大量附加参数,可用于更准确地确定车辆的续航里程。每个参数都在 路由 API 文档中附有示例进行解释。除了优化我们上面讨论的能耗模型的参数外,您还可以包含以下参数以获得更准确的范围:
- `vehicleWeight` - 以公斤为单位的正整数。它与以下效率参数一起使用:
accelerationEfficiency
decelerationEfficiency
uphillEfficiency
downhillEfficiency
- `auxiliaryPowerInkWh` - 由空调、收音机、灯光和供暖消耗的能量。
- `currentChargeInkWh` / `maxChargeInkWh` - 一起使用,以更好地了解电池的当前状态。
范围内的路线规划
路由 API 还能够确定和计算地点之间的路线。路线作为两个纬度和经度坐标对,作为路径参数传递到 URL 中。像 `routeType` 这样的查询参数允许请求根据到达速度定制最快路线、根据距离定制最短路线,或选择“eco”,它会找到最能延长车辆续航里程的路线。
与 `reachableRange` API 一样,`calculateRoute` API 包含在**在线路线**产品中,并且在 路由 API 文档中有详细的文档记录。
更多信息
如果您需要探索不同的用例或想了解更多关于路由 API 的信息,TomTom 提供了以下资源,您会觉得很有用。如果您需要更多信息,例如 API 的当前版本,或对数据(包括请求和响应中的数据)的理解,这些资源是极好的起点。
此资源提供了 API 的实现细节,包括可用的端点、要使用的参数以及每个端点预期收到的响应。该页面还提供了尝试调用每个端点的示例的机会。
路由 API 文档包含有关每种类型路线请求可用参数、预期格式以及每个参数应具有的数据类型的更详细信息。响应也提供类似的信息。