我一直在研究,并试图解决这一问题无济于事。我发现了很多方法不能解决这个问题...
问题的要点:我正在寻找一种方法来计算与GPS坐标所经过的原始路径的偏差。我有多个包含纬度,经度和UTC时间的csv文件。我已经根据这些信息创建了KML文件,以便直观地查看偏差,现在想在此偏差上添加一个值。我选择了一条路线作为引用,并希望根据引用路线来衡量其他路线。有多个路径,每个路径都有自己的引用路径,每个路径都有很多运行。没有两条路线是相同的,并且某些路线的偏离程度大于下一路线。由于运行是在数周的数据收集中完成的,因此我无法使用时间,只能使用lat和lon。
到目前为止我尝试过的是:
Haversine和等矩形公式(遍历并测量点对点)。
结果:坐标仅在短时间内排列,并且点数的差异差异很大。
每条曲线下的面积:打算通过这种方法找到两条路线的差异。
结果:真的不确定如何进行,也找不到适合此计算的方程式。
还有一些较微弱的尝试,但是现在已经进行了几周的尝试,没有太多可证明的内容,仍然不确定如何进行。
任何帮助或想法将不胜感激。
最佳答案
可能的解决方案1 :无需比较两条路径之间的“横向”偏差,只需比较各自的弧长(Matlab:arclength)。
可能的解决方案2 :要比较两条路线,每条路线都从同一起点A到同一终点B:在A和B之间绘制一条直线,沿AB放置多个等距点,然后平均从这些在AB上指向您要比较的路径。与直线引用的累积偏差之间的绝对差是您的偏差。
可能的解决方案3 :计算每条路线的弧长。沿每条路线放置多个等距点。平均这些点之间的距离。
解决方案2和3都将取决于您放置的点数,但是随着点数的增加,平均偏差将收敛。请注意,这些解决方案都与计算每条曲线下的面积有关。
关于c++ - 查找代表GPS路线(MATLAB,Java,C++或Python)的两条线之间的距离,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19556788/