我正在寻找一种有效的计算方法,如果遇到两个对象的话。描述对象移动(轨迹)的数据使用 x 和 y 坐标和 <表示EM>时间戳 即可。遭遇被描述为时空接近度。也就是说,对于某些给定的 <,在 t 秒的窗口中有两个对象 d 米em> d 和 t 。我有一个庞大的不同物体轨迹数据库,其中一些数据比另一些更稀疏。
计算遇到的最佳算法是什么?是否有任何Java / Scala库可以提供帮助?
编辑:数据描述了人的动向。人们可能会继续走路,他们可能会以不同的速度行走,也可能会停下来。数据仅使用 x 和 y 坐标, 时间戳表示和 uid (某人的身份)。数据只是样本,不是轨迹的精确表示;即你不应该假设一个人id
从点p1
(与时间戳t1
相关联)直线移动到点p2
(与时间戳t2
)的速度为distance(p1, p2) / (t2 - t1)
,其中t1
和t2
是两个按时间顺序排列的连续时间戳。此外,人们的位置不是统一的。