transbigdata 笔记: 轨迹密集化/稀疏化 & 轨迹平滑

1 密集化

python 复制代码
transbigdata.traj_densify(
    data, 
    col=['Vehicleid', 'Time', 'Lng', 'Lat'], 
    timegap=15)

轨迹致密化,保证至多每隔timegap秒都有一个轨迹点

这边插补使用的是pandas的interpolate,method设置的是index

1.1 举例

transbigdata 笔记: 官方文档示例3:车辆轨迹数据处理-CSDN博客

2 稀疏化

python 复制代码
transbigdata.traj_sparsify(
    data, 
    col=['Vehicleid', 'Time', 'Lng', 'Lat'], 
    timegap=15, 
    method='subsample')

扩展采样间隔并减少数据量

  • method可以是interpolate/subsample

1.2 举例

transbigdata 笔记: 官方文档示例3:车辆轨迹数据处理-CSDN博客

3 轨迹平滑

  • 在处理车辆轨迹数据时,轨迹点表示对车辆实际"状态"的"观察"。由于误差,观察到的数据可能与车辆的实际状态有所不同。

  • 那么,如何更准确地估计车辆的实际状态呢?

    • 一种方式是,将轨迹点的位置与先前轨迹点的位置进行比较,以检查显著和不合理的跳跃
    • 换言之,根据车辆先前的轨迹预测车辆未来可能的位置。如果下一个记录的轨迹点明显偏离预期位置,则可以确定轨迹异常。
  • 这种方法与卡尔曼滤波的概念有相似之处

    • 将先前位置推导的状态估计(当前轨迹点的预测位置)与当前观测数据(当前轨迹点的观测位置)相结合,以获得当前状态(实际位置)的最优估计
  • 卡尔曼滤波器适用于轨迹数据中噪声相对稳定的情况,这意味着噪声方差保持不变。它在平滑由轨迹数据中的测量误差引起的小规模波动方面特别有效。

  • 当轨迹中出现显著漂移时,卡尔曼滤波器的有效性是有限的。漂移点被视为观测值,对状态估计有重大影响,卡尔曼滤波器无法直接处理。

  • ------>常见的方法是先去除漂移,然后进行平滑,最后进行路网匹配

3.1 方法介绍

python 复制代码
transbigdata.traj_smooth(
    data, 
    col=['id', 'time', 'lon', 'lat'], 
    proj=False, 
    process_noise_std=0.5, 
    measurement_noise_std=1)

|---------------------------|---------------------------------------|
| data | 轨迹数据 |
| proj | 是否进行等距投影 |
| process_noise_std | 过程噪声的标准偏差【上一时刻的状态预测当前时刻的状态,这个时刻产生的误差】 |
| measurement_noise_std | 测量噪声的标准偏差【观测位置的误差】 |

3.2 举例

transbigdata 笔记: 官方文档示例3:车辆轨迹数据处理-CSDN博客

相关推荐
264玫瑰资源库6 分钟前
问道数码兽 怀旧剧情回合手游源码搭建教程(反查重优化版)
java·开发语言·前端·游戏
喝拿铁写前端17 分钟前
从圣经Babel到现代编译器:没开玩笑,普通程序员也能写出自己的编译器!
前端·架构·前端框架
HED23 分钟前
VUE项目发版后用户访问的仍然是旧页面?原因和解决方案都在这啦!
前端·vue.js
YuCaiH41 分钟前
数组理论基础
笔记·leetcode·c·数组
拉不动的猪1 小时前
前端自做埋点,我们应该要注意的几个问题
前端·javascript·面试
王景程1 小时前
如何测试短信接口
java·服务器·前端
安冬的码畜日常1 小时前
【AI 加持下的 Python 编程实战 2_10】DIY 拓展:从扫雷小游戏开发再探问题分解与 AI 代码调试能力(中)
开发语言·前端·人工智能·ai·扫雷游戏·ai辅助编程·辅助编程
烛阴1 小时前
Node.js中必备的中间件大全:提升性能、安全与开发效率的秘密武器
javascript·后端·express
小杨升级打怪中1 小时前
前端面经-JS篇(三)--事件、性能优化、防抖与节流
前端·javascript·xss
清风细雨_林木木1 小时前
Vue开发网站会有“#”原因是前端路由使用了 Hash 模式
前端·vue.js·哈希算法