首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Gps航迹检测算法

Gps航迹检测算法
EN

Stack Overflow用户
提问于 2012-05-08 17:09:11
回答 3查看 1.6K关注 0票数 0

我正在开发一个Android应用程序,它将记录用户骑在他们的越野自行车上的轨迹(与GPS)。在完成一次骑行后,我希望能够分析这些数据,并找到被骑过的轨迹。

我将轨迹定义为两个交叉点之间的行进区域。交叉点是两个或多个彼此足够接近的点,可以归类为一个点。显然,我需要为此决定一个门槛。

显然,我可以使用蛮力来检查每个点和其他点,但我认为必须有更有效的方法。

有什么更好的办法吗?

谢谢你们。

EN

回答 3

Stack Overflow用户

发布于 2012-05-08 17:31:51

Kalman filter经常被用来抑制误差(噪声)点,简化GPS轨迹和估计真实轨迹。Wiki页面看起来相当复杂,所以如果能找到一些关于跟踪过滤的实用文章会很好。

票数 1
EN

Stack Overflow用户

发布于 2012-05-08 17:40:24

实事求是:

intersection.

  • the生成的交叉点也将按照您的
  1. 顺序排列,因此您只需检查一些连续点,使其成为一个圆的圆心,看看圆中有多少个点,然后您就可以将这些点组合成一个GPS点。
票数 0
EN

Stack Overflow用户

发布于 2016-03-27 06:35:36

对于运行中的流一样的轨道简化(我称之为“流放大”)是:您保留了GPS传感器给您的点的一个小缓冲区,每次将GPS点添加到缓冲区(包括高程)时,您将计算缓冲区中所有点的最大XTD (交叉轨迹距离),该线段将第一个点与缓冲区的(新添加的)最后一个点连接起来。如果具有最大XTD的点违反了你的最大可容忍XTD误差(25m已经给了我很好的结果),那么你在那个点上剪切缓冲区,将它注册为一个要附加到streamplified轨道上的选定点,修剪缓冲区的尾部直到那个切割点,然后继续前进。在轨迹的末尾,缓冲区的最后一点也会添加/刷新到解决方案中。此算法足够轻量级,它在AndroidWear智能手表上运行,无论您移动速度是慢还是快,或者长时间在同一位置闲置,它都能提供最佳输出。唯一重要的是你的轨迹的形状。你可以走几分钟/公里,只要你在一条直线上移动(在+/-允许的XTD误差偏差内的走廊),streamplify算法将只输出两个点:出口形成上一个曲线的点和下一个曲线上的入口点。

另请查看此Q&A Simplification / optimization of GPS track

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10495712

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档