c++ - 查找表示 GPS 路线的两条线之间的距离(MATLAB、Java、C++ 或 Python)

标签 c++ python matlab gps distance

我一直在研究并试图解决这个问题,但无济于事。我找到了很多方法来解决这个问题...... 问题的要点:我正在寻找一种方法来计算与通过 GPS 坐标行进的原始路径的偏差。我有多个包含纬度、经度和 UTC 时间的 csv 文件。我已经根据此信息创建了 KML 文件以直观查看偏差,现在想为该偏差赋值。我选择了一条路线作为引用,并想根据引用路线测量其他路线。有多条路线,每条路线都有自己的引用路线,每条路线都有很多次运行。没有两条路线是相同的,有些路线比下一条偏离得更多。我不能使用时间,只能使用纬度和经度,因为运行是在数周的数据收集中完成的。

到目前为止我尝试过的: Haversine 和 Equirectangular 公式(循环和测量点到点)。 结果:坐标只在短时间内排成一行,点数相差很大。 每条曲线下的面积:本想通过这种方法找出两条路线的差异。 结果:真的不确定如何进行,也找不到适合此计算的方程。

还有一些更微弱的尝试,但已经为此工作了几个星期,没有太多可展示的东西,而且仍然不确定如何进行。

如有任何帮助或想法,我们将不胜感激。

最佳答案

可能的解决方案 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/

相关文章:

c++ - 访问结构成员的模板函数

c++ - 尝试从特定内存地址读取

python - 通过 Python 中的迭代在 numpy/scipy 中建立一个数组?

python - 为每个类别选择一个项目的查询语法

matlab - 参数均衡器的幅度响应

matlab - 在协方差矩阵中选择最大特征值和特征向量在数据分析中意味着什么?

c++ - 函数签名返回抽象类

python - Python:在图像上绘制两个区域

matlab - 将 CSV 文件加载到 Octave/MATLAB 中

c++ - Makefile C++11 错误