Algorithm 什么';这是比较原始轨迹和两条压缩轨迹的最佳方法

Algorithm 什么';这是比较原始轨迹和两条压缩轨迹的最佳方法,algorithm,compression,Algorithm,Compression,假设有一个GPS轨迹,即:一系列时空坐标,每个坐标都是(x,y,t)信息,其中x是经度,y是纬度,t是时间戳。 假设每个轨迹由1000(x,y)个点标识,则压缩轨迹是比原始轨迹点数少的轨迹,例如300个点。压缩算法(Douglas Peucker、Bellman等)决定哪些点将位于压缩轨迹中,哪些点将被丢弃 每个算法都有自己的选择。更好的算法不仅根据空间特征(x,y)选择点,而且还使用时空特征(x,y,t) 现在我需要一种方法将两个压缩轨迹与原始轨迹进行比较,以了解哪种压缩算法能够更好地减少时空

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

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

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


我曾考虑使用DTW算法来检查轨迹相似性,但这可能并不关心时间成分。我可以使用什么算法来进行此控制?

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

已知的最小和最大速度,加速度,和吐温的能力将让你消除钉子。如果我们看一对点之间的连接距离除以

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

考虑到速度限制,我们可以消除在经过的时间内无法行驶距离的点。对于加速度约束,我们也可以这样做,对于给定的速度,我们可以改变方向约束。这些约束条件会改变GPS接收器是否是静态的、手持的、在汽车中的、在飞机上的等等

我们可以使用观察三个点的移动窗口删除冗余点,其中,如果可以将中点的插值(x,y,t)与观测点进行比较,并且如果观测点位于插值点的指定距离+时间公差内,则删除观测点。我们也可以曲线拟合数据,并考虑到曲线的距离,而不是使用移动的3点窗口。 根据给定的约束条件,压缩也可能有不同的目标,例如,通过移除冗余观测值和峰值来简单地减小数据大小,或者平滑数据

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

对于后者,我们还必须考虑平滑的结果如何对数据进行建模、约束所施加的权重以及设计形状/曲线参数。p>
希望这有点道理。

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

也许,简单地看一下时间1s,2s,。。。这就足够了,但是你也可以在时间戳积分之间做得更精确,(x1(t)-x2(t))^2+(y1(t)-y2(t))^2。请注意,在两个时间戳之间,两条轨迹都是直线。

我找到了计算时空误差所需的内容。 如“GPS跟踪数据的压缩和挖掘: Lawson、Ravi和Hwang的“新技术和应用”:

同步欧几里德距离(sed)测量 两个点在相同的时间戳。在图1中,五个时间步(t1 如图所示。简化线(可被视为 跟踪的压缩表示形式)仅由两个部分组成 积分(P't1和P't5);因此,它不包括点P't2、P't3 和P't4。为了量化这些缺失点带来的误差, 在相同的时间步测量距离。从三点开始 在P't1和P't5之间被移除,线路分为四个部分 使用三个点P't2、P't3和P't4的等长线段 用于测量误差。测量了总误差 作为同步时间内所有点之间距离的总和 实例,如下所示。(在下面的表达式中,n表示 考虑的总点数。)


你所说的压缩轨迹是什么意思?你能更新这个问题来包含更多关于什么是“压缩轨迹”的信息吗?我觉得这个网站上的大多数人(包括我)都不知道这是什么。对不起。希望这有帮助。是的。但我并不是在尝试构建压缩算法。我有一系列著名的算法(Douglas、Bellman、STTrace、OPW),我需要对该算法进行基准测试,以了解哪种算法能够更好地(以时空方式)减少原始轨迹。对算法如何实现这一点并不感兴趣。这很公平,但不同的压缩算法在实现方面会有不同的特点。DWT只是压缩、Ramer–Douglas–Peucker平滑等。。。你应该考虑一下你想要的特点;压缩速度、压缩比、数据清理、数据平滑、有损/无损。你问哪个更好。答案是基于应用程序需求的上下文。