点轨迹相似度度量

使用说明

点轨迹数据集相似度度量,即使用搜索数据集,从轨迹数据集中找到与搜索轨迹最相似的轨迹点。

轨迹相似性对于移动对象分析来说是一个重要指标,比较轨迹间的相似性是分析轨迹数据、挖掘隐藏信息最常用的基础方法之一,在轨迹计算的各个领域发挥着重要作用。 例如,在交通管理领域,通过相似性度量可以发现轨迹集中区域,推断交通拥堵情况,提早进行交通疏导;在城市规划领域,通过发现人类活动的相似性,可以推断城市的功能模块,为城市发展提供帮助;在智能推荐领域,通过寻找满足一定时空约束的相似性活动轨迹,可以为用户进行推荐,提高用户体验和用户黏度;在智慧出行领域,通过推荐用户相似轨迹,可以合理规划用户出行时间,为智慧出行提供可能;在环境空气预测领域,通过与空气的历史轨迹数据进行比较,结合气象、交通流等信息,可预测各区域地区的空气质量,为环境保护提供助力。

该方法可以用于在疫情期间,通过分析大规模轨迹数据与确诊人员行动轨迹,快速找出与之在时空维度有过接触的人群。

结果返回与搜索轨迹最相似的轨迹数据。结果数据集将会保留轨迹数据的所有属性字段,还会增加“QueryIdentityID”和“Similarity” 字段, “QueryIdentityID” 字段用于表示搜索轨迹的标识字段。“Similarity” 字段用于表示轨迹之间的相似度或距离,同属于一个搜索对象查询出的一条轨迹的所有点对象的相似度值相同。

提供的轨迹相似度度量方法包括:

  • 豪斯多夫距离 HausdorffDistance:基于轨迹形状的度量方法,通过计算两条轨迹之间最近点距离的最大值确定相似性,条件为两条轨迹之间点的个数不能相差太多。豪斯多夫距离越小,表示两条轨迹越相似。
  • 弗雷歇距离FrechetDistance:基于轨迹动态规划的思想,类似狗绳距离,通过计算两条轨迹在同一时刻对应位置的最长距离确定相似性,对噪音比较敏感。
  • 动态时间规整 DTW:通过把时间序列进行延伸和缩短,计算两个时间序列之间的相似性,对轨迹长度无限制,但对噪音比较敏感。
  • 最大相似长度 MaxSimilarLength:通过计算两个轨迹之间在时间和空间容差范围内最短距离确定相似度。该方法带有时间约束,只查找与搜索轨迹相同时间内的轨迹,而其他几种度量方法都会考虑轨迹中所有的点。结果值越小,表示轨迹越相似。

参数说明

参数名 默认值 参数释义 参数类型
点轨迹数据集   轨迹数据集,从轨迹数据集中找到与搜索轨迹最相似的轨迹点,必须为点数据。 FeatureRDD
搜索数据集   参考数据集,从轨迹数据集中找到与搜索轨迹最相似的轨迹点,必须为点数据 FeatureRDD
轨迹数据集中的轨迹标识字段   轨迹数据集中的轨迹标识字段,具有相同标识的点划分为一条轨迹,例如,手机号,车牌号等。 String
轨迹数据集中的时间字段   轨迹数据集中标识各个轨迹点的时间值字段。 String
搜索数据集中的轨迹标识字段   搜索数据集中的轨迹标识字段,具有相同标识的点划分为一条轨迹,例如,手机号,车牌号等。 String
搜索数据集中的时间字段   搜索数据集中标识各个轨迹点的时间值字段。 String
轨迹相似度度量方法
(可选)
最大相似长度 轨迹相似度度量方法,可参考使用说明。 JavaSimilarityAlgorithm
返回最相似的轨迹数目
(可选)
5 返回最相似的轨迹数目,必须大于0。 Int
空间距离容差
(可选)
50 米 如果轨迹度量方法为 最大相似长度,空间距离容差表示为两个点之间的最大误差距离,也就是当两个的距离大于该值, 则不可能相似。对其他轨迹度量方法,空间距离容差表示轨迹对象最小外接矩形的误差,即当两条轨迹的最小外接矩形在容差误差下相交,则计算轨迹之间的距离,否则不计算。 JavaDistance
时间容差
(可选)
  时间容差。当两个位置点的时间在时间容差范围内相交,则两个点才可能为相似。当时间容差有效时,只支持 “最大相似长度” 度量方法。填写参数需要包含时间长度和单位,单位有:Seconds、Minutes、Hours、Days、Weeks、Months、Years JavaDuration