【问题标题】:Matrix routing with destinations close to motorways目的地靠近高速公路的矩阵路线
【发布时间】:2019-12-02 16:42:56
【问题描述】:

我有多个地点,我想知道它们之间的旅行时间和距离。 这些位置已正确进行地理编码。但是,我遇到的问题是某些位置位于普通道路和高速公路之间。事实上,它们离高速公路最近。 在这种情况下,我收到的行程时间和距离会考虑位于高速公路(最近的道路)上的位置,这会导致对实际行程时间和距离的估计不正确。 鉴于我无法手动调整每个地理编码以最靠近常规道路,我需要一个不同的解决方案。

我包括了“street!!”在我的电话中,如https://developer.here.com/api-explorer/rest/routing/route-to-location-near-motorway 所示,但无济于事。

我的电话看起来像这样“https://matrix.route.api.here.com/routing/7.2/calculatematrix.json?start0=x.x,y.y&destination0=street!!x1.x1,y1.y1&mode=fastest;car;traffic:disabled&summaryattributes=traveltime,distance&app_id=...&app_code=...”。

还有其他方法可以避免Here将目的地放在高速公路上吗?

您的帮助将不胜感激。提前谢谢!


下面是一个例子

出发地地理代码:51.090995,4.018793

目的地地理编码:51.017960,3.694040(靠近比利时的 E40/A10)

当我使用矩阵路由 API 时,我得到了 29799 米的距离和 1317 秒的行程时间。 我的电话: "https://matrix.route.api.here.com/routing/7.2/calculatematrix.json?start0=51.090995,4.018793&destination0=street!!51.017960,3.694040&mode=fastest;car;traffic:disabled&summaryattributes=traveltime,distance&app_id=...&app_code=..."

当我使用路由 API 获取路线时,我可以看到我的目的地已更新为 E40/A10 上的 51.0187054,3.6935735。这给了我 29827 米的距离和 1335 秒的旅行时间。 我使用了以下调用: "https://route.api.here.com/routing/7.2/calculateroute.json?app_id=...&app_code=...&waypoint0=51.090995,4.018793&waypoint1=street!!51.017960,3.694040&mode=fastest;car;traffic:disabled"

鉴于距离和旅行时间不同,我使用更新的目的地地理编码 (51.0187054,3.6935735) 再次执行矩阵路由 API 调用。这为我提供了与我最初的矩阵路由请求相同的距离和旅行时间,即 29799 米和 1317 秒。 我用这个电话: "https://matrix.route.api.here.com/routing/7.2/calculatematrix.json?start0=51.090995,4.018793&destination0=street!!51.0187054,3.6935735&mode=fastest;car;traffic:disabled&summaryattributes=traveltime,distance&app_id=...&app_code=..."

因此,我确信目的地在 E40/A10 上。我怎样才能避免这种情况? 在相关说明中,为什么矩阵路由 API 和路由 API 之间的行程时间和距离不同?


当我在 GoogleMaps 中输入地理编码时,我实际上得到了我想要的位置。

如您所见,它不在 E40 上。为什么我找不到到最近的常规街道的路线?

【问题讨论】:

  • 您能否提供示例航点(位置坐标)以帮助重现问题?请添加任何额外信息以帮助轻松重现问题。

标签: here-api


【解决方案1】:

因此,以您给出的示例为例,目标航路点51.017960,3.694040 非常接近,如果不是在 E40/A10 本身上的话。见下图:

此外,使用我们的反向地理编码器 API 获取目标航路点半径范围内的地址列表 200m 仅返回沿街道匹配级别的 E40, 9052 Gent, België 的地址(点)。因此,当航点在数百米之外时,算法无法知道您打算到达哪条附近的街道。我会建议使用我们的反向地理编码器 API 更正您的航点,以确定哪些航点远离您的预期地址。

【讨论】:

  • 好的,但是当我在谷歌地图中输入地理编码时,我得到了我想要的位置。我更新了我的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-08
  • 1970-01-01
  • 2020-01-30
  • 2019-06-13
相关资源
最近更新 更多