我有一个公交网络的实时全球定位系统,他们希望能够跟踪一辆巴士是否偏离了路线。我可以得到公共汽车站和他们的每个巴士服务的停车坐标。公共汽车站通常很近,使用Google,它可以在车站之间创建一条与公交线路的路径相匹配的路线。
我的问题是,最好使用Google或,如何检测这个GPS点是否偏离了路线?
如果有更好的替代谷歌地图?
所有的帮助都很感激,谢谢。
发布于 2018-02-04 13:59:38
我发现了一种实现这一目标的方法,使用公共汽车站的GPS位置,您可以使用Google方向API沿Google路径创建路径点。然后,您可以从输出的结果中使用PolyLine概述来查找路线上的每个点。PolyLine被压缩,需要解码才能找到沿途点的经度和纬度。
这里有详细的内容:https://developers.google.com/maps/documentation/utilities/polylinealgorithm
然后,您可以使用沿线/路线上的点来表示,如果GPS标记在区域内,那么总线就在途中,如果总线外部关闭。你可能需要使用谷歌的Snap来确保GPS点是准确的。
我希望这能帮到别人。
编辑:为了澄清,使用Google的方向API创建一个路由,这将给您一个"PolyLine概述“。这给出了路线上的每一个点,可以看到这里。使用这些点,您可以在每个点之间创建一个边界框。然后,你可以计算出路线上的一个点,如果它在一个包围框内。
需要注意的是,正如我在前面的回答中提到的那样,PolyLine概述是经过编码的。谷歌已经开发了一个工具来演示这个解码这里。在Javascript中,我相信有一个内置的库命令来编码和解码。
希望这更清楚。
https://stackoverflow.com/questions/48589904
复制相似问题