首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >比较原始轨迹和两个压缩轨迹的最佳方法是什么

比较原始轨迹和两个压缩轨迹的最佳方法是什么
EN

Stack Overflow用户
提问于 2012-01-24 07:25:56
回答 3查看 1.7K关注 0票数 3

假设有一条GPS轨迹-即:一系列时空坐标,每个坐标是一个(x,y,t)信息,其中x是经度,y是纬度,t是时间戳。假设每个轨迹由1000 (x,y)个点标识,压缩轨迹是具有比原始轨迹更少的点的轨迹,例如300个点。压缩算法(Douglas-Peucker,Bellman等)决定哪些点将处于压缩轨迹中,哪些点将被丢弃。

每种算法都有自己的选择。更好的算法不仅通过空间特征(x,y)选择点,而且使用时空特征(x,y,t)。

现在,我需要一种方法来比较两个压缩轨迹与原始轨迹,以了解哪种压缩算法更好地减少时空(时间成分非常重要)轨迹。

我考虑过DTW算法来检查轨迹相似性,但这可能并不关心时间分量。我可以使用什么算法来创建此控件?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-01-27 21:43:39

我已经找到了计算时空误差所需的东西。正如Lawson,Ravi和Hwang在论文“压缩和挖掘GPS跟踪数据:新技术和应用”中所写的那样:

同步欧几里德距离(sed)测量相同时间戳上的两点之间的距离。在图1中,显示了五个时间步长(t1到t5)。简化的直线(可以认为是轨迹的压缩表示)只由两个点(P't1和P‘t5)组成;因此,它不包括点P't2,P't3和P't4。为了量化由这些缺失点引入的误差,在相同的时间步长测量距离。由于在P't1和P't5之间删除了三个点,因此为了测量误差,使用三个点P't2,P't3和P't4将直线划分为四个大小相等的线段。总误差是指同步时刻所有点之间距离的总和,如下所示。(在以下表达式中,n表示所考虑的点的总数。)

票数 1
EN

Stack Overflow用户

发布于 2012-01-24 16:21:33

什么是最好的压缩算法在很大程度上取决于您试图用它实现什么,并依赖于其他外部变量。通常,我们将识别并删除峰值,然后删除冗余数据。例如:

已知的最小和最大速度,加速度和能力将使您删除尖峰。如果我们看一对点之间的连接距离除以时间,其中

速度= sqrt((xb - xa)^2 + (yb - ya))/(tb-ta)

在给定速度限制的情况下,我们可以消除在经过的时间内无法行驶距离的点。我们可以对加速度约束执行相同的操作,并针对给定的速度更改方向约束。这些约束改变了GPS接收器是否是静态的、手持的、在汽车中、在飞机上等等。

我们可以使用查看三个点的移动窗口来删除冗余点,其中如果中点的插值(x,y,t)可以与观察点进行比较,并且如果观察点位于插值点的指定距离+时间公差内,则删除该观察点。我们也可以对数据进行曲线拟合,并考虑到曲线的距离,而不是使用移动的3点窗口。

基于给定的约束,压缩也可能具有不同的目标,例如,简单地通过移除冗余观测和尖峰来减小数据大小,或者也平滑数据。

对于前者,在基于定义的约束检查尖峰之后,我们只需检查每个点到连接压缩点的多段线的三维距离。这是通过以下方式实现的:找到已被移除的点之前和之后的点对,基于观测时间在连接这些点的线上插值位置,并将插值位置与观测位置进行比较。当我们允许这个距离容差增加时,删除的点数也会增加。

对于后者,我们还必须考虑平滑结果对数据建模的程度、约束施加的权重以及设计形状/曲线参数。

希望这能说得通。

票数 2
EN

Stack Overflow用户

发布于 2012-01-24 21:47:45

也许你可以使用轨迹随时间变化的均方距离。

很可能,简单地看一下时间为1秒,2秒的距离...将足够,但您也可以在时间戳之间进行更精确的积分,(x1(t)-x2(t))^2 + (y1(t)-y2(t))^2。请注意,在两个时间戳之间,两个轨迹都是直线。

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

https://stackoverflow.com/questions/8980101

复制
相关文章

相似问题

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