1

我想知道是否有办法获得路线的高速公路方向。

更具体地说,我只对美国州际高速公路上的路线感兴趣。

我举个例子:

I45 州际公路是一条南北向的高速公路。当路线返回时,有没有办法知道路线在哪个“方向车道”上?

我要解决的问题是访问其余区域,就像此处图像中显示的那样。如您所见,这是两个休息区,每个都可以从高速公路的一个方向进入。

我只想显示从用户所在方向可访问的那些。我有所有需要的数据,包括休息区是否在北/南/东/西方向,我只需要路线所在的高速公路方向。

出于显而易见的原因,我想避免手动检查路线是否只是向北行驶。

我通过graphhopper检查了这是否可行,但它只给出了高速公路名称,没有方向。是否有可能通过 Skobbler 实现这一目标?

4

3 回答 3

1

如果您使用的是 TTS 指令(文本到语音),那么在建议说明和音频建议中,您还将收到“方向”(在音频配置文件中编码为$orientation) - 指示您正在行驶的方向特定的高速公路(南/北等)。

更棘手的部分是您必须解析文本指令才能获取此信息,因为它不会在单独的字段中返回(如果这有帮助,请在评论中告诉我)。

于 2015-07-31T12:15:42.747 回答
1

我不完全理解最初的问题,但由于 GraphHopper 还为每条指令返回几何图形,您应该能够粗略但轻松地计算方向。

另一种更复杂的方法是使用与几何相关的预定义名称集,并使用地图匹配组件来找出路线中使用了哪些高速公路部分。

由于显而易见的原因,

有哪些明显的原因?那它不是真的北上南下吗?

或者,如果某些事情是不可能的,您总是可以在代码中进行修改,因为它是开源的,或者提供拉取请求以将其合并到公共版本中(如果对其他人有用)并使其也可用于 Directions API。

于 2015-08-01T13:08:23.883 回答
0

根据 OSM wiki 页面Highway Directions In The United States,路线方向应该被建模为关系成员角色。

例如,I 75 way 173483918是名为“I 75 (TN northbound)”的关系 332618的成员role=north,因此它的方向是“北”。

相反,173483897关系 332624的成员,名为“I 75 (TN southbound)”,角色为“south”。

在 wiki 页面上查看更多详细信息。不知道该标记方案有多完善,也不知道路由器支持(Telenav (Scout) 似乎参与其中,现在拥有 Skobbler)。

于 2015-08-01T16:46:39.487 回答