对准方向对齐道路

问题描述:

我试图在我所有定制的GPS软件中添加一个对齐路径功能。有成千上万个节点(经纬度点)的数千条道路。我已经阅读了所有那些在SO中用“最接近的点就行”的道路问题作为一个很好的解决方案。但是,我正在做的是按照与汽车驾驶相同的方向,将其与最近的道路对齐。我对如何实现它感到困惑。一个简单的程序会帮助我很多。 (请注意数十万或节点担忧表现)。对准方向对齐道路

编辑:伙计们?来吧,给我一个线索。

首先找到想要测试的道路的标题,即通过使用三角法从北向多少度:找到该部分的两个定义纬度经度点,并称它们为point1和point2:(在伪代码中)

double roadDrctn = Math.Atan2(point2.y - point2.y, point2.x - point1.x) 

然后得到你的车/ GPS的方向,看看它是相同的,或者你想对它做什么。记得也要测试它+ 180度(或Math.Pi,如果它使用弧度),因为你可以沿着一条路走两边!我对这种技术的唯一担忧是trig函数在性能方面非常昂贵。

希望能回答你的问题。