turf:利用bezierSpline()方法平滑轨迹线

轨迹回放在gis项目需求中比较常见。通常是获取轨迹线遍历线段中的点位(或者webservice推送点位),对其设置位置,达到播放效果。轨迹点位采集一般有固定的采集频率,比如10秒上报一次。
采集频率越高,数据量越大,存储压力也越大,轨迹也越真实。
与此同时,采集频率底,存储数据量小,轨迹就会出现 "跳直线" 的情况。

如下图,汽车经过隧道时,gps数据无法被采集,轨迹连接线不能反应真实轨迹。


9628812-7b4789b088c43bc5.png
image.png

在项目中,对于这类采集数据较少的轨迹,可以使用turf提供的bezierSpline()方法平滑轨迹线。


9628812-5cd510427fe52f26.png
image.png

传入原始轨迹线,通过可选参数设置,可以控制生成点位数量以及线段平滑程度。

9628812-61ee9698b6401ed0.gif
videogif11.gif

参考:http://turfjs.org/docs/#bezierSpline

猜你喜欢

转载自blog.csdn.net/weixin_34212189/article/details/86808111