轨迹平滑和纠偏
纠偏
通过gps获取坐标点时 因为gps信号不稳定等原因 出现坐标点异常 不符合实际 进行异常点的处理 来对轨迹纠正
轨迹偏移不正常
取得轨迹坐标集合 对此段轨迹设置起点和终点 取得相邻两坐标点 计算出两点之间距离 对比获取坐标点的时间 判断坐标时速异常 对坐标点移除处理
代码逻辑
异常点去除之后轨迹
轨迹平滑处理
实现思路方法
1.百度地图鹰眼服务:
源码主要实现思路:计算相邻坐标点之间距离 通过时间判断速度 挑出 异常点 绑定道路的实现方式
2.数据库坐标去重过滤:
高斯滤波:.
百度鹰眼服务
文档地址:http://lbsyun.baidu.com/index.php?title=yingyan/api/v3/trackupload
上传轨迹 —轨迹处理—返回轨迹
请求方式 http://yingyan.baidu.com/api/v3/track/addpoint //POST请求
参数
核心参数
ak 用户授权标识
Service_id 鹰眼服务标识
entity_name 轨迹所属实例
Longitude 经度
Latitude 纬度
loc_time 获取坐标点时间
coord_type_input 坐标类型
wgs84:GPS 坐标
gcj02:国测局加密坐标
bd09ll:百度经纬度坐标
返回值参数
多轨迹上传
可上传多个实例的多个轨迹 核心方法 addpoins
http://yingyan.baidu.com/api/v3/track/addpoints //POST请求
所需参数如下
Point_list 为多个实例和轨迹的集合格式如下 返回值如下
这是entity实例 可单个上传或批量
这是属于entity的轨迹addpionts 可批量上传 单独上传 进行轨迹处理
可有去噪 抽稀 绑路 终端补偿等 在传递参数时设置 返回纠正后集合
纠正之后
数据库坐标去重过滤
以下方案摘取:https://www.jianshu.com/p/1c71d10e18bf
将取到的若干坐标点存入到数据库 核心字段 id 经纬度 时间
将数据库坐标点去重
数据平滑采用高斯滤波进行平滑处理
将处理后的坐标点铺到地图上
坐标匹配到道路上去,但是由于精度不是那么可靠,切在转弯处的数据匹配也是明显的错误,但是目前没找到好的解决方案
总结:
无论纠偏、异常点处理、轨迹平滑 其根本都是对坐标点的处理 核心参数是经纬度以及经纬度对应的时间 进行处理 在坐标点做够多的情况下 gps不稳定获取的坐标点不够精确导致的问题