寻找表示GPS路线的两条直线之间的距离(使用MATLAB、Java、C++或Python)

3
我一直在研究并试图解决这个问题,但无济于事。我已经找到了很多不能解决这个问题的方法...... 问题的核心是:我正在寻找一种计算由GPS坐标行驶的原始路线与其偏差之间的方法。我有多个包含纬度、经度和UTC时间的csv文件。我已从这些信息中创建了KML文件,以便对偏差进行视觉查看,现在想将一个值放在这个偏差上。我选择了一条路线作为参考,并希望将其他路线与参考路线进行比较。每条路线都有自己的参考路线,每个参考路线都有多个运行。没有两次运行是相同的,有些路线的偏差比下一个更大。我不能使用时间,只能使用纬度和经度,因为这些运行是在数据收集的多个星期内完成的。
我迄今为止尝试过的方法:Haversine和Equirectangular公式(通过循环测量点与点)。结果:坐标仅在短时间内对齐,点数的差异很大。每条曲线下的面积:本来想用这种方法找出两条路线之间的差异。结果:真的不确定如何继续,也找不到适合此计算的方程式。
还有一些尝试,但我已经努力了几个星期,没有什么成果,也不确定如何继续。任何帮助或想法都将不胜感激。
1个回答

0

可能的解决方案1:不要计算两条路径之间的“侧向”偏差,只需比较各自的弧长(Matlab: arclength)。

可能的解决方案2:要比较从同一起点A到同一终点B的两条路径:在AB之间画一条直线,在AB上放置若干等距点,然后平均垂直于你想要比较的路径的这些点到AB的距离。从直线参考线的累积偏差的绝对差是你的偏差。

可能的解决方案3:计算每条路径的弧长。在每条路径上放置若干等距点。平均这些点之间的距离。

解决方案2和3都将取决于您放置的点数,但随着点数的增加,平均偏差将收敛。请注意,这些解决方案都与计算每个曲线下的面积有关。


谢谢您的建议。我的下一步尝试是使用Haversine公式对每个路径的点对点距离进行求和,然后测量与参考路线的偏差。这是否类似于一个弧长解决方案?看起来是这样,但我不确定这在数学上是否正确。 - user2914047

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接