在 GPS 路径中检测 "brownian/random walk"路径运动的算法

标签 algorithm gps openstreetmap

我目前正在为 openstreetmap 做贡献,当我导入数据时,我经常可以看到这种点簇

brownian movement

当静态干扰信号接收时,它们是由于 GPS 不精确造成的。我想以编程方式解决这个问题,用它们的质心替换这些点。我怎样才能检测到这种模式 给出点列表?

[ (x1, y1), (x2, y2), (x3, y3), (x4, y4), ... (xn, yn) ]

能够检测到一组属于所述“随机游走”模式的点,这样我就可以用这些点的质心替换它们。我的直觉告诉我,该算法应该将点数和两点之间距离的阈值参数作为参数,然后我们开始将这样的点列表视为“随机游走”。

但我认为这是进行 GPS 追踪时的常见问题,我希望我忽略了检测这些问题的最先进算法。

最佳答案

我建议进行简单的事后趋势分析。保持预期路径的移动平均值,其中每个读数都被预测为前面各点速度的延伸,类似于

new_vector = 0.2 * current_vector + 0.8 * old_vector

在两个方向上都这样做(第二个方向时间倒转)。

当你发现一系列的点在过去和 future 都严重脱节,而且位置似乎没有太大偏差,那么你就确定了你的静止期。基本特征是一致的方向变化。

这会让您朝着解决方案前进吗?

关于在 GPS 路径中检测 "brownian/random walk"路径运动的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48796518/

相关文章:

javascript - Leaflet-Image() 和 Leaflet.print() 不起作用

algorithm - 实时数据一致性检查的好算法

android - 启动应用程序时android的GPS状态

algorithm - 关于数据并行编程和算法的好书和资源

math - 检测 GPS 坐标是否落在 map 上的多边形内

ios - 如何添加指向 map 上图钉的 GPS?

python-2.7 - 如何在Matplotlib basemap 上使用OpenStreetMap背景

api - 有openstreetmap的API吗?

python - K中心算法

algorithm - 寻找产品组合以获得最大利润