我想知道是否有办法确定路线的高速公路方向。
更具体地说,我对仅限美国中州际公路的路线感兴趣。
我举一个例子:
I45号州际公路是一条南北高速公路。当路线返回时,有没有办法知道哪条"方向车道"路线在哪?
我试图解决的问题是访问图像here上显示的其余部分。如您所见,这些是两个休息区,每个休息区都可从高速公路的一个方向进入。
我想只显示那些可从用户所在方向访问的内容。我有所需的所有数据,包括休息区是否在北/南/东/西方向,我只需要路线所在的高速公路方向。
出于显而易见的原因,我想避免手动检查路线是否恰好向北移动。
我检查了这是否可以通过graphhopper,但它只给出了高速公路名称,没有方向。是否有可能通过Skobbler实现这一目标?
答案 0 :(得分:1)
如果您正在使用TTS说明(文字转语音),请参阅建议说明&音频建议您还将收到"方向" (在音频配置文件中编码为 $ orientation ) - 指示您在特定高速公路(南/北等)上行驶的方向。
更棘手的部分是你必须解析文本指令以获取此信息,因为它不会在单独的字段中返回(如果这有用,请在评论中告诉我。)
答案 1 :(得分:1)
我并不完全理解原始问题,但由于GraphHopper也会返回每条指令的几何图形,因此您应该能够粗略但轻松地计算方向。
另一种更复杂的方法是使用与几何相关联的预定义名称集,并使用map matching component找出路线中使用的公路部件。
其中显而易见的原因是什么?它真的不是南方的吗?出于显而易见的原因,
或者,如果某些内容不可能,您始终可以在代码中进行修改,因为它是开源的,或者提供拉取请求以将其合并到公开发布中(如果对其他人有用)并使其也可用于Directions API。 / p>
答案 2 :(得分:0)
根据OSM wiki页面Highway Directions In The United States,方式的方向应该被建模为关系成员角色。
例如,我way 173483918是名为“I 75(TN northbound)”的relation 332618成员role=north
,所以它的方向是“北”。
相反的way 173483897是relation 332624的成员,名为“I 75(TN南行)”,作为“南方”角色。
在维基页面上查看更多详细信息。不知道标记方案有多完善,也不知道路由器支持(Telenav(Scout)似乎参与了这个现在拥有Skobbler的人)。