本发明涉及GPS轨迹数据的处理,具体是指一种基于三阶贝塞尔曲线及插值的GPS轨迹数据补全方法。
背景技术:
:轨迹数据是时空环境下,通过对一个或多个移动对象运动过程的采样所获得的数据信息,包括采样点位置、采样时间、速度等,这些采样点数据信息根据采样先后顺序构成了轨迹数据。随着卫星、无线网络,以及定位设备的发展,大量移动物体的轨迹数据呈急速增长的趋势,如交通轨迹数据、动物迁徙数据、气候气流数据、人员移动数据等。对轨迹数据的研究,获取物体有关运动的未知知识,成为未来的研究热点和应用增长点。GPS接收模块是获取轨迹数据是常用方式,例如智能手机上自带有GPS模块,可获取出行数据。当GPS模块出现使用故障或者GPS信号的接收不稳定时,将导致数据缺失。现有解决的方法有:通过对硬件和主系统的涉及改善和减少环境对GPS信号的干扰;通过某些优化方法对已经获取的数据进行处理,来补全数据。但现有存在的GPS点位修补方法,大都是基于地图匹配进行操作的,极大地依赖地图矢量支持,或者需要考虑到复杂的交通工具以及运动物体的运动规则,如乘客的出行心理,需要利用城市路网和轨道交通数据库,存在地图矢量实体依赖强、计算逻辑复杂和偶然性较大的问题,并且计算数据多,模型复杂,实现成本高。技术实现要素:本发明针对移动设备在GPS信号较弱或者丢失时,采集的GPS轨迹数据发生偏移严重或者丢失,现有方法依赖地图实体数据,计算数据多且实现复杂的问题,提供了一种基于三阶贝塞尔曲线及插值的GPS轨迹数据补全方法,实现快捷的轨迹数据补全。本发明提供的基于三阶贝塞尔曲线及插值的GPS轨迹数据补全方法,实现步骤如下:步骤1、采集移动设备在时间T内产生的所有GPS轨迹数据,按照采集时间先后顺序将所有轨迹点进行排序,轨迹点包括五个属性:采集时间、经度、纬度、速度和运动方向。所述的轨迹点的运动方向定义为:设定GPS方向正北为0°,与正北方向的顺时针夹角为运动方向。步骤2、对步骤1中的GPS轨迹数据进行预处理,剔除不符合要求的轨迹点,包括剔除速度大于阈值的轨迹点、剔除速度为空或者为负数的轨迹点,以及当相邻轨迹点的相对运动速度大于阈值A时剔除相邻轨迹点中的后一个轨迹点。步骤3、对步骤2预处理后得到的GPS轨迹数据进行遍历,计算相邻轨迹点的间隔时间,筛选出其中间隔时间大于阈值B的轨迹点对,获取需要进行补全的轨迹点对集合。步骤4、对步骤3获取的每个待补全的轨迹点对,分别获取起始点和终止点的控制点;对于轨迹点Pi,其控制点p′i的经度long′i和纬度lat′i计算如下:long′i=longi+speedi·Taverage·cos(90-diri)·180/πlat′i=lati+speedi·Taverage·sin(90-diri)·180/π其中,longi和lati分别为第i个轨迹点的经度和纬度,speedi和diri分别为第i个轨迹点的速度和运动方向,Taverage为所有轨迹点的平均时间间隔。步骤5、对每个待补全的轨迹点对和步骤4获取的两个控制点四个点组成的四边形构建三阶贝塞尔曲线方程;设轨迹点对为(Pi,Pi+1),对应的控制点为p′i和p′i+1,所构建三阶贝塞尔曲线方程f(t)为:f(t)=Pi(1-t)3+P′i3(1-t)2t+P′i+13(1-t)t2+Pi+1t3,t∈[0,1]参数k取值为1,2,…,n,n为自然数。步骤6、对每个待补全的轨迹点对,求解对应的三阶贝塞尔曲线方程f(t),计算出该轨迹点对需要补全的轨迹点集合C=(c1,c2,…,ci,…,cm);m为该轨迹点对需要补全的轨迹点数量。步骤7、重复步骤4至步骤6,对所有待补全的轨迹点对进行轨迹点补全。本发明的优点与积极效果在于:(1)本发明区别于通用的基于地图匹配的GPS数据点位纠正补全方法,不依赖高成本的地图实体数据,实现成本低,计算逻辑简单、计算过程便捷,依赖性少,能取得较高的修复率。(2)本发明算法时间与空间复杂度低,集成了流式计算,支持对移动对象GPS轨迹数据进行实时处理,在处理大规模数据实时处理时取得较好的效果。(3)本发明采用了分段多项式的方法,支持对直线和弯道GPS轨迹数据补全,且修复补全准确率较高。附图说明图1是本发明的GPS轨迹数据补全方法的流程示意图;图2是本发明实施例所获取的原始GPS轨迹图形;图3是本发明实施例利用本发明方法补齐后的GPS轨迹图形。具体实施方式下面结合附图和实施例对本发明的技术方案进行详细说明。本发明的基于三阶贝塞尔曲线及插值的GPS轨迹数据补全方法,整体流程如图1所示。下面结合某个Android设备产生的GPS轨迹数据,对对其进行修复补全来说明个实现步骤。步骤1、通过Android端设备采集一段时间T内的GPS轨迹数据,并根据时间先后顺序将所有轨迹点进行排序,轨迹点包括:采集时间、经度、纬度、速度和运动方向五个属性。其中设定GPS方向正北为0°,与正北方向的顺时针夹角为运动方向。GPS轨迹形式化描述为:TraT=(P1,P2,…,Pi,…,Pn);其中,n为轨迹点数量,Pi为第i个轨迹点,Pi表示为:Pi=(ti,longi,lati,speedi,diri);ti为采集时间,longi为经度,lati为纬度,speedi为速度,diri为运动方向。本发明实施例通过Android端设备采集从2016-09-2916:13:00到2016-09-2916:53:11的数据,包括242条点位数据,部分GPS轨迹点位数据如下表1所示。表1采集的部分GPS轨迹数据步骤2、对步骤1中获取的GPS轨迹数据进行预处理,剔除误差较大的轨迹点,以保证后续步骤不会受到这些轨迹点的影响,预处理规则如下:1)剔除速度speedi大于阈值thresholdspeed和速度为空的轨迹点;2)计算GPS轨迹数据中相邻轨迹点的相对运动速度Si,当Si大于阈值thresholdspeed时,剔除相邻轨迹点中的后一个轨迹点;其中相邻的第i个轨迹点和第i+1个轨迹点的相对运动速度Si的计算公式如下:其中,r为地球的直径。ti+1、longi+1和lati+1分别为第i+1个轨迹点的采集时间、经度和纬度。当Si大于阈值thresholdspeed时,删除第i+1个轨迹点。根据经验,将thresholdspeed设置为150km/h,通常在实际路况中运行的车辆速度都会小于该值。本发明实施例中,对步骤1采集到的GPS轨迹数据按照预处理规则进行预处理,剔除误差较大的轨迹点,经处理需要剔除的三段数据如下。第一段剔除的数据:ID纬度经度数据采集时间速度(Km/h)方向(度)11026.64786106.6336872016-09-2916:31:1032.9385128.75711811126.64786106.6336872016-09-2916:31:2039.261119.67179711226.64786106.6336872016-09-2916:31:3029.04346516.10134911326.64786106.6336872016-09-2916:31:4045.5733110.807328第二段剔除的数据:ID纬度经度数据采集时间速度(Km/h)方向(度)19026.64786106.6184522016-09-2916:44:3157.8430520.78691119126.64786106.6184522016-09-2916:44:4140.973644359.60925第三段剔除的数据:ID纬度经度数据采集时间速度(Km/h)方向(度)21726.64786106.6184522016-09-2916:49:0143.83876440.55602321826.64786106.6184522016-09-2916:49:1146.26746446.9983步骤3、筛选需要进行轨迹点补全的点位,对步骤2中预处理得到的有效GPS轨迹数据在时间维度上以长度为2的窗口进行遍历,计算相邻轨迹点的间隔时间,其中间隔时间大于阈值thresholdtime的点位之间需要进行补全;thresholdtime为两倍的所有轨迹点的平均时间间隔Taverage。获取所有需要进行点位补全的轨迹点位对集合。每个待补全的轨迹点对,包含首尾两个轨迹点,需要补全的是这两个轨迹点中间缺失的点位。本发明实施例中,对步骤1采集到的GPS轨迹数据计算相邻轨迹点位时间间隔,并求取其平均时间间隔,得到Taverage=10s。对步骤3剔除误差较大轨迹点后的GPS轨迹数据筛选需要做轨迹点补全的点位,对预处理后的GPS轨迹数据在时间维度上以长度为2的窗口进行遍历,计算相邻轨迹点的间隔时间,其中间隔时间大于20秒点位需要进行补全。其中第一段需要补全的轨迹数据段如下。步骤4、对步骤3中获取的待补全点位对集合进行处理,对于点位对Pi和Pi+1,以Pi为起始点,通过speedi和diri确认其控制点p′i,控制点p′i的经度long′i和纬度lat′i计算如下:long′i=longi+speedi·Taverage·cos(90-diri)·180/πlat′i=lati+speedi·Taverage·sin(90-diri)·180/π以Pi+1为终止点,通过speedi+1和diri+1确认其控制点p′i+1,控制点p′i+1的经度long′i+1和纬度lat′i+1计算如下:long′i+1=longi+1+Speedi+1·Taverage·cos(90-diri+1)·180/πlat′i+1=lati+1+Speedi+1·Taverage·sin(90-diri+1)·180/πspeedi+1和diri+1分别为第i+1个轨迹点的速度和运动方向。本发明实施例对步骤3筛选出的需要做轨迹点补全的点位进行处理,对步骤3中第一段需要补全的轨迹数据进行处理,ID为109和114的点分别为起始点和终止点,计算它们对应的控制点的经度和纬度。起始点109的控制点的经纬度为:(26.640897106.654088)终止点114的控制点的经纬度为:(26.641551106.653832)步骤5、对由轨迹点Pi、Pi+1和所获取的两个控制点p′i和p′i+1四个点组成的四边形构建三阶贝塞尔曲线方程f(t):f(t)=Pi(1-t)3+P′i3(1-t)2t+P′i+13(1-t)t2+Pi+1t3,t∈[0,1]其中:n为正整数本发明实施例以步骤4中得到的起始点、终止点、两个控制点组成的四边形构建三阶贝塞尔曲线方程如下:步骤6、求解步骤5中的三届贝塞尔方程f(t),遍历参数k得到有效t值,带入方程f(t),计算出所有补齐轨迹点集合C=(c1,c2,…,ci,…,cm),m表示所有待补齐轨迹点数量。本发明实施例根据步骤5中方程计算出所有补齐轨迹点信息如下表。ID纬度经度数据采集时间11026.64047106.6533152016-09-2916:31:1011126.640816106.6535552016-09-2916:31:2011226.641054500020003106.653703000100012016-09-2916:31:3011326.641516250000002106.653905000000012016-09-2916:31:40从109到114之间补齐的点110~113如上表所示。步骤7、重复步骤4至步骤6,对所有待补全轨迹点对进行点位插值补全。如图2所示,为一个获取的原始GPS轨迹,利用本发明对该轨迹数据进行处理,所得结果如图3所示,从两幅图可以看出,利用本发明方法可有效去除噪声,对GPS数据点位进行纠正补全,修复准确率高。并且通过上面过程可知,本发明方法计算复杂度低,补全轨迹点的效率高。当前第1页1 2 3