CN112732682B - 时空轨迹数据的处理方法、装置及计算机存储介质 - Google Patents
时空轨迹数据的处理方法、装置及计算机存储介质 Download PDFInfo
- Publication number
- CN112732682B CN112732682B CN201911040419.9A CN201911040419A CN112732682B CN 112732682 B CN112732682 B CN 112732682B CN 201911040419 A CN201911040419 A CN 201911040419A CN 112732682 B CN112732682 B CN 112732682B
- Authority
- CN
- China
- Prior art keywords
- track
- points
- time
- data
- space
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2477—Temporal data queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Fuzzy Systems (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Remote Sensing (AREA)
- Train Traffic Observation, Control, And Security (AREA)
- Navigation (AREA)
Abstract
本申请公开了一种一种时空轨迹数据的处理方法、装置及计算机存储介质,属于数据处理领域。所述方法包括:获取第一时空轨迹数据,第一时空轨迹数据包括多个轨迹点的轨迹点信息;根据多个轨迹点的轨迹点信息,确定多个轨迹点中对应时间点相邻的两两轨迹点之间的移动速度,以及每个轨迹点的通行状态;根据多个轨迹点中对应时间点相邻的两两轨迹点之间的移动速度,以及每个轨迹点的通行状态,确定多个轨迹点中的异常轨迹点;删除第一时空轨迹数据中异常轨迹点的轨迹点信息,得到第二时空轨迹数据。在时空轨迹数据误差较大时,先去除时空轨迹数据的异常点,在对第二时空轨迹数据进行滤波处理,可以更加有效地去除数据中的噪声点,提高数据处理精度。
Description
技术领域
本申请涉及数据处理领域,特别涉及一种时空轨迹数据的处理方法、装置及计算机存储介质。
背景技术
时空轨迹数据是指在时空环境下,通过对移动对象的运动过程进行采样所获得的数据,用于指示移动对象的运动轨迹,是研究移动对象最为重要的数据来源,可以应用于轨迹检索、轨迹分类、模式挖掘等轨迹分析场景中。
在实际应用中,可以利用定位装置采集移动对象在移动过程中的多个轨迹点的位置信息,并将这多个轨迹点的位置信息按照采样时间顺序构成时空轨迹数据。但在实际采集中,定位装置的传感器误差等原因可能会导致采集的轨迹点的位置信息与真实轨迹点的位置信息存在一定的偏差,进而导致时空轨迹数据不能准确反映移动对象的运动过程,因此需要对时空轨迹数据进行一定的处理,以降低时空轨迹数据的数据误差。
发明内容
本申请实施例提供了一种时空轨迹数据的处理方法,可以降低时空轨迹数据的数据误差。所述技术方案如下:
第一方面,提供了一种时空轨迹数据的处理方法,所述方法包括:
获取第一时空轨迹数据,所述第一时空轨迹数据包括多个轨迹点的轨迹点信息,所述轨迹点信息包括位置信息和时间点;
根据所述多个轨迹点的轨迹点信息,确定所述多个轨迹点中对应时间点相邻的两两轨迹点之间的移动速度,以及每个轨迹点的通行状态,所述通行状态用于指示对应轨迹点在预设时长内能够移动到的第一近邻轨迹点的数量,所述第一近邻轨迹点是指与对应轨迹点处于相同位置范围内的轨迹点;
根据所述多个轨迹点中对应时间点相邻的两两轨迹点之间的移动速度,以及每个轨迹点的通行状态,确定所述多个轨迹点中的异常轨迹点;
删除所述第一时空轨迹数据中所述异常轨迹点的轨迹点信息,得到第二时空轨迹数据。
可选地,所述根据所述多个轨迹点的轨迹点信息,确定所述多个轨迹点中对应时间点相邻的两两轨迹点之间的移动速度,包括:
对于所述多个轨迹点中对应时间点相邻的任意两个轨迹点,根据所述任意两个轨迹点的位置信息,确定所述任意两个轨迹点之间的欧式距离;
根据所述任意两个轨迹点的时间点,确定所述任意两个轨迹点对应的时间点之间的时间间隔;
将所述欧式距离与所述时间间隔之间的比值,确定为所述任意两个轨迹点之间的移动速度。
可选地,所述根据所述多个轨迹点的轨迹点信息,确定每个轨迹点的通行状态,包括:
对于所述多个轨迹点中的任一轨迹点,根据所述多个轨迹点的轨迹点信息,从所述多个轨迹点中选择与所述任一轨迹点处于相同位置范围内的轨迹点,得到k个第一近邻轨迹点;
根据所述多个轨迹点的轨迹点信息,按照对应时间点与所述任一轨迹点对应的时间点之间的相距时长从小到大的顺序,从所述多个轨迹点中选择排序在前的k个轨迹点,得到k个第二近邻轨迹点;
确定所述k个第一近邻轨迹点与所述k个第二近邻轨迹点中位置相同的轨迹点的数量;
根据所述位置相同的轨迹点的数量,确定所述任一轨迹点的通行状态。
可选地,所述根据所述多个轨迹点中对应时间点相邻的两两轨迹点之间的移动速度,以及每个轨迹点的通行状态,确定所述多个轨迹点中存在的异常轨迹点,包括:
若所述多个轨迹点中对应时间点相邻的任意两个轨迹点之间的移动速度大于速度阈值,则将所述任意两个轨迹点中对应时间点晚的轨迹点确定为速度异常的异常轨迹点;
若所述多个轨迹点中任一轨迹点的通行状态小于通行状态阈值,则将所述任一轨迹点确定为通行状态异常的异常轨迹点。
可选地,所述获取第一时空轨迹数据之前,还包括:
获取待处理的第三时空轨迹数据,所述第三时空轨迹数据包括n个轨迹点的轨迹点信息,所述n个轨迹点包含所述多个轨迹点,所述n为正整数;
对所述第三时空轨迹数据中包括的时间点相同的轨迹点的轨迹信息进行去重,得到所述第一时空轨迹数据。
可选地,所述方法还包括:
在根据所述多个轨迹点的轨迹点信息,确定所述多个轨迹点中对应时间点相邻的两两轨迹点之间的移动速度,以及每个轨迹点的通行状态之前,确定所述第一时空轨迹数据对应的轨迹波动情况,所述轨迹波动情况用于指示所述第一时空轨迹数据的数据误差;
若根据所述轨迹波动情况确定所述第一时空轨迹数据的数据误差大于第一误差阈值,则在删除所述第一时空轨迹数据中异常轨迹点的轨迹点信息,得到第二时空轨迹数据之后,对所述第二时空轨迹数据进行滤波处理,得到第四时空轨迹数据。
可选地,所述对所述第二时空轨迹数据进行滤波处理,包括:
若所述数据误差大于所述第一误差阈值,且小于或等于第二误差阈值,则对所述第二时空轨迹数据进行中值滤波处理,得到所述第四时空轨迹数据,所述第二误差阈值大于所述第一误差阈值;
若所述数据误差大于所述第二误差阈值,则对所述第二时空轨迹数据进行中值滤波处理,对完成中值滤波处理的第二时空轨迹数据进行卡尔曼滤波处理,得到所述第四时空轨迹数据。
可选地,所述对所述第二时空轨迹数据进行滤波处理之前,还包括:
根据所述第二时空轨迹数据中每相邻两个轨迹点之间的时间间隔,对所述第二时空轨迹数据进行分段,得到多个第一轨迹片段,每个第一轨迹片段包括至少一个轨迹点的轨迹点信息;
所述对所述第二时空轨迹数据进行滤波处理,包括:
基于所述多个第一轨迹片段,确定多个第二轨迹片段;
对所述多个第二轨迹片段分别进行滤波处理;
将滤波处理后的多个第二轨迹片段按照对应时间顺序依次进行拼接,得到所述第四时空轨迹数据。
可选地,所述基于所述多个第一轨迹片段,确定多个第二轨迹片段,包括:
将所述多个第一轨迹片段,确定为所述多个第二轨迹片段;或者,
按照参考插值周期,对所述多个第一轨迹片段中的每个第一轨迹片段进行均匀插值;根据均匀插值后的多个第一轨迹片段,确定所述多个第二轨迹片段;所述参考插值周期是根据每个第一轨迹片段中每相邻两个轨迹点的时间间隔或所述第一时空轨迹数据的数据采集频率确定得到。
第二方面,提供了一种时空轨迹数据的处理装置,所述装置包括:
第一获取模块,用于获取第一时空轨迹数据,所述第一时空轨迹数据包括多个轨迹点的轨迹点信息,所述轨迹点信息包括位置信息和时间点;
第一确定模块,用于根据所述多个轨迹点的轨迹点信息,确定所述多个轨迹点中对应时间点相邻的两两轨迹点之间的移动速度,以及每个轨迹点的通行状态,所述通行状态用于指示对应轨迹点在预设时长内能够移动到的第一近邻轨迹点的数量,所述第一近邻轨迹点是指与对应轨迹点处于相同位置范围内的轨迹点;
第二确定模块,用于根据所述多个轨迹点中对应时间点相邻的两两轨迹点之间的移动速度,以及每个轨迹点的通行状态,确定所述多个轨迹点中的异常轨迹点;
删除模块,用于删除所述第一时空轨迹数据中所述异常轨迹点的轨迹点信息,得到第二时空轨迹数据。
可选地,所述第一确定模块包括:
第一确定子模块,用于对于所述多个轨迹点中对应时间点相邻的任意两个轨迹点,根据所述任意两个轨迹点的位置信息,确定所述任意两个轨迹点之间的欧式距离;
第二确定子模块,用于根据所述任意两个轨迹点的时间点,确定所述任意两个轨迹点对应的时间点之间的时间间隔;
第三确定子模块,用于将所述欧式距离与所述时间间隔之间的比值,确定为所述任意两个轨迹点之间的移动速度。
可选地,所述第一确定子模块,还包括:
第一选择子模块,用于对于所述多个轨迹点中的任一轨迹点,根据所述多个轨迹点的轨迹点信息,从所述多个轨迹点中选择与所述任一轨迹点处于相同位置范围内的轨迹点,得到k个第一近邻轨迹点;
第二选择子模块,用于根据所述多个轨迹点的轨迹点信息,按照对应时间点与所述任一轨迹点对应的时间点之间的相距时长从小到大的顺序,从所述多个轨迹点中选择排序在前的k个轨迹点,得到k个第二近邻轨迹点;
第四确定子模块,用于确定所述k个第一近邻轨迹点与所述k个第二近邻轨迹点中位置相同的轨迹点的数量;
第五确定子模块,用于根据所述位置相同的轨迹点的数量,确定所述任一轨迹点的通行状态。
可选地,所述第二确定模块,包括:
第六确定子模块,用于若所述多个轨迹点中对应时间点相邻的任意两个轨迹点之间的移动速度大于速度阈值,则将所述任意两个轨迹点中对应时间点晚的轨迹点确定为速度异常的异常轨迹点;
第七确定子模块,用于若所述多个轨迹点中任一轨迹点的通行状态小于通行状态阈值,则将所述任一轨迹点确定为通行状态异常的异常轨迹点。
可选地,所述装置,还包括:
第二获取模块,用于获取待处理的第三时空轨迹数据,所述第三时空轨迹数据包括n个轨迹点的轨迹点信息,所述n个轨迹点包含所述多个轨迹点,所述n为正整数;
去重模块,用于对所述第三时空轨迹数据中包括的时间点相同的轨迹点的轨迹信息进行去重,得到所述第一时空轨迹数据。
可选地,所述装置还包括:
第三确定模块,用于在根据所述多个轨迹点的轨迹点信息,确定所述多个轨迹点中对应时间点相邻的两两轨迹点之间的移动速度,以及每个轨迹点的通行状态之前,确定所述第一时空轨迹数据对应的轨迹波动情况,所述轨迹波动情况用于指示所述第一时空轨迹数据的数据误差;
滤波模块,用于若根据所述轨迹波动情况确定所述第一时空轨迹数据的数据误差大于第一误差阈值,则在删除所述第一时空轨迹数据中异常轨迹点的轨迹点信息,得到第二时空轨迹数据之后,对所述第二时空轨迹数据进行滤波处理,得到第四时空轨迹数据。
可选地,所述滤波模块,包括:
第一滤波子模块,用于若所述数据误差大于所述第一误差阈值,且小于或等于第二误差阈值,则对所述第二时空轨迹数据进行中值滤波处理,得到所述第四时空轨迹数据,所述第二误差阈值大于所述第一误差阈值;
第二滤波子模块,用于若所述数据误差大于所述第二误差阈值,则对所述第二时空轨迹数据进行中值滤波处理,对完成中值滤波处理的第二时空轨迹数据进行卡尔曼滤波处理,得到所述第四时空轨迹数据。
可选地,所述装置,还包括:
分段模块,用于根据所述第二时空轨迹数据中每相邻两个轨迹点之间的时间间隔,对所述第二时空轨迹数据进行分段,得到多个第一轨迹片段,每个第一轨迹片段包括至少一个轨迹点的轨迹点信息;
所述装置,还包括:
第四确定模块,用于基于所述多个第一轨迹片段,确定多个第二轨迹片段;
滤波模块,用于对所述多个第二轨迹片段分别进行滤波处理;
拼接模块,用于将滤波处理后的多个第二轨迹片段按照对应时间顺序依次进行拼接,得到所述第四时空轨迹数据。
可选地,所述分段模块,包括:
第八确定子模块,用于将所述多个第一轨迹片段,确定为所述多个第二轨迹片段;或者,
按照参考插值周期,对所述多个第一轨迹片段中的每个第一轨迹片段进行均匀插值;根据均匀插值后的多个第一轨迹片段,确定所述多个第二轨迹片段;所述参考插值周期是根据每个第一轨迹片段中每相邻两个轨迹点的时间间隔或所述第一时空轨迹数据的数据采集频率确定得到。
第三方面,提供了一种时空轨迹数据的处理装置,所述装置包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行上述第一方面所述任一方法的步骤。
第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,所述指令被处理器执行时实现上述第一方面所述任一方法的步骤。
本申请实施例提供的技术方案带来的有益效果至少包括:
在本申请实施例中,可以根据时空轨迹数据的数据误差的大小,采用不同的降噪方法,如此,可以根据数据误差对时空轨迹数据进行有针对性的处理,提高对数据进行降噪的灵活性。
另外,相关技术中,对于采集到的时空轨迹数据,一般采用对时空轨迹数据进行滤波处理的方式,来对时空轨迹数据进行降噪。滤波处理过程中采用的滤波算法一般为线性滤波算法或近似线性滤波的非线性滤波算法,通过滤波处理可以将时空轨迹数据中的整体轨迹线性连接,达到平滑轨迹噪声的效果。但是,由于滤波处理可以将时空轨迹数据中的整体轨迹线性连接,可以会将弯道轨迹平滑为直线轨迹,导致整体时空轨迹数据的精确度较低。
本申请实施例中,通过在数据误差较大时,先去除时空轨迹数据的异常点,在对时空轨迹数据进行滤波处理,可以更加有效地去除数据中的噪声点,提高数据处理精度。另外,在对时空轨迹数据进行滤波处理之前,为了缓和滤波算法本身的线性问题,将时空轨迹数据进行分段,如此可以平滑轨迹点之间的时间间隔,极大解决了滤波算法在时空轨迹数据上的适配性问题,减小由于滤波算法本身的不足带来的影响。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种时空轨迹数据处理系统的示意图;
图2是本申请实施例提供的一种时空轨迹数据的处理方法流程图;
图3是本申请实施例提供的另一种时空轨迹数据的处理方法流程图;
图4是本申请实施例提供的一种时空轨迹数据示意图;
图5是本申请实施例提供的一种轨迹片段均匀插值的示意图;
图6是本申请实施例提供的另一种轨迹片段均匀插值的示意图;
图7是本申请实施例提供的一种时空轨迹数据的处理装置的结构示意图;
图8是本申请实施例提供的一种服务器的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
在对本申请实施例提供的一种资源推荐方法进行解释说明之前,先对本申请实施例的应用场景进行解释说明。
在实际应用中,可以利用定位装置采集移动对象在移动过程中的多个轨迹点的位置信息,并将这多个轨迹点的位置信息按照采样时间顺序构成时空轨迹数据。时空轨迹数据包含有多个轨迹点,每个轨迹点的轨迹点信息包括该轨迹点的位置信息和采集该轨迹点的时间点,时空轨迹数据中往往因为定位装置的传感器误差等原因可能会导致采集的时空轨迹数据中存在异常点和噪声,因此需要对时空轨迹数据进行一定的处理,提高时空轨迹数据的精确度的同时去除时空轨迹数据中存在的噪声。
图1是本申请实施例提供的一种时空轨迹数据处理系统的示意图,如图1所示,该时空轨迹数据处理系统100包括多个用户端101和服务器102,任一用户端101和服务器102之间通过有线或者无线的方式连接以进行通信。
对于多个用户端101中任一用户端101,在用户端101移动过程中,可以通过用户端101携带的定位装置采集用户端101的移动轨迹中各个轨迹点的位置信息,并将采集的这些轨迹点的位置信息上报到服务器102。服务器102对接收到的多个轨迹点的位置信息按照采样时间顺序构成时空轨迹数据,并按照本申请实施例提供的方法对时空轨迹数据进行异常点去除,得到处理后的时空轨迹数据。
在另一示例中,当服务器102对时空轨迹数据进行异常点去除,得到处理后的时空轨迹数据之后,还可以对处理后的时空轨迹数据进行滤波处理,以通过滤波处理的方式滤除时空轨迹数据中的噪声,实现对时空轨迹数据的降噪。
在本申请实施例中,用户端101可以为为手机、台式计算机、笔记本电脑、车载终端等各种包含有定位装置的电子设备,图1中仅仅是以2个手机举例进行说明,并不构成对本申请实施例的限定。
图2是本申请实施例提供的一种时空轨迹数据的处理方法流程图,该方法应用于计算机设备中,该计算机设备可以为图1所示的服务器102,也可以为手机、台式计算机、笔记本电脑等其他电子设备。该方法包括如下步骤:
步骤201:获取第一时空轨迹数据,第一时空轨迹数据包括多个轨迹点的轨迹点信息,轨迹点信息包括位置信息和时间点。
需要说明的是,位置信息用于指示位置点的位置,可以为坐标信息,比如经度和纬度。轨迹点信包括的时间点是指轨迹点的位置信息的采集时间点或上报时间点等。该多个轨迹点的轨迹点信息可以按时间顺序排列。示例的,若在11:00采集的轨迹点的位置为A,且A的经度为116.38,纬度为39.90,则该轨迹点的轨迹点信息可以表示为{11:00,(116.38,39.90)}。
作为一个示例,携带有定位装置的用户端可以在移动过程中采集轨迹点的位置信息,并将采集的位置信息上报给服务器,服务器接收用户端上报的位置信息后,可以将接收的位置信息按照采集时间顺序构成时空轨迹数据。
另外,轨迹点信息还可以包括速度或出行方式等,本申请实施例轨迹点信息的内容不做限定。其中,出现方式包括步行、骑车或驾车等。
需要说明的是,第一时空轨迹数据可以为用户端上报的、待进行预处理的时空轨迹数据,也可以为对用户端上报的、待预进行处理的时空轨迹数据进行预处理后,得到的时空轨迹数据。
在一种可能的实现方式中,步骤201包括:获取待处理的第三时空轨迹数据,对第三时空轨迹数据中包括的时间点相同的轨迹点的轨迹信息进行去重,得到第一时空轨迹数据。其中,第三时空轨迹数据包括n个轨迹点的轨迹点信息,n个轨迹点包含该多个轨迹点,n为正整数。
其中,第三时空轨迹时间可以为用户端上报的、待进行处理的时空轨迹数据。
作为一个示例,对第三时空轨迹数据中包括的时间点相同的轨迹点的轨迹信息进行去重的操作包括:遍历待处理的第三时空轨迹数据中包括的所有轨迹点,对于时间点相同的轨迹点,仅保留在同一时间点第一次获取的轨迹点的轨迹点信息,删除在同一时间点获取的其他轨迹点的轨迹点信息,如此,可以对第三时空轨迹数据中相同的时间点进行去重,只保留每个时间点第一次出现的数据。
通过对时空轨迹数据进行预处理去重,可以保证时间轴的唯一性,在减少处理数据量的同时,提高后续时空轨迹数据的处理效率,使得处理后的数据能更准确的反映用户移动过程中的运动轨迹。
步骤202:根据多个轨迹点的轨迹点信息,确定多个轨迹点中对应时间点相邻的两两轨迹点之间的移动速度,以及每个轨迹点的通行状态,通行状态用于指示对应轨迹点在预设时长内能够移动到的第一近邻轨迹点的数量,第一近邻轨迹点是指与对应轨迹点处于相同位置范围内的轨迹点。
其中,预设时长可以预先设置,可以由计算机设备默认设置,也可以由技术人员根据实际需要进行设置。该预设时长通常为一个较短的时长,通行状态用于指示对应轨迹点在短时间内能够移动到的第一近邻轨迹点的数量,也即是,能够快速通行的第一近邻轨迹点的数量。能够快速通行的第一近邻轨迹点的数量越多,表示对应轨迹点的通行状态越好,当前轨迹点能够与绝大多数近邻点快速通行。
作为一个示例,若该移动速度为欧式距离速度,则根据多个轨迹点的轨迹点信息,确定多个轨迹点中对应时间点相邻的两两轨迹点之间的移动速度的实现过程包括:对于多个轨迹点中对应时间点相邻的任意两个轨迹点,根据任意两个轨迹点的位置信息,确定任意两个轨迹点之间的欧式距离。根据任意两个轨迹点的时间点,确定任意两个轨迹点对应的时间点之间的时间间隔。将欧式距离与时间间隔之间的比值,确定为任意两个轨迹点之间的移动速度。
其中,欧式距离与时间间隔之间的比值即为欧式距离速度。欧氏距离是指在m维空间中两个点之间的真实距离,或者向量的自然长度(即该点到原点的距离)。在二维空间中的欧氏距离就是两点之间的实际距离。例如,假设任意两个轨迹点包括第一轨迹点和第二轨迹点,可以通过以下公式(1)确定这两个轨迹点的欧式距离:
其中,ρ为第一轨迹点和第二轨迹点之间的欧式距离,(x1,y1)为第一轨迹点的位置信息,(x2,y2)为第二轨迹点的位置信息。
其中,确定多个轨迹点中对应时间点相邻的两两轨迹点之间的移动速度的方法包括但不限于通过上述欧氏距离确定的欧式距离速度,也可以通过两两轨迹点之间的其他距离计算方法确定,在此不一一列举。
作为一个示例,可以基于上述确定的两个轨迹点之间的欧式距离和时间间隔,通过以下公式(2)确定这两个轨迹点的欧式距离速度:
其中,V为欧式距离速度,ρ(Pprev,Pafter)为轨迹点Pprev与轨迹点Pafter之间的欧式距离,timespan为时间间隔。
作为一个示例,轨迹点的通行状态可以根据轨迹点在空间上的第一近邻轨迹点与在时间上的第二近邻轨迹点的重合度来确定,两者重合度越高,表示通行状态越好,重合度越低,表示通行状态越差。
在一种可能的实现方式中,根据多个轨迹点的轨迹点信息,确定每个轨迹点的通行状态的实现过程包括:对于多个轨迹点中的任一轨迹点,根据多个轨迹点的轨迹点信息,从多个轨迹点中选择与任一轨迹点处于相同位置范围内的轨迹点,得到k个第一近邻轨迹点。根据多个轨迹点的轨迹点信息,按照对应时间点与任一轨迹点对应的时间点之间的相距时长从小到大的顺序,从多个轨迹点中选择排序在前的k个轨迹点,得到k个第二近邻轨迹点。确定k个第一近邻轨迹点与k个第二近邻轨迹点中位置相同的轨迹点的数量。根据位置相同的轨迹点的数量,确定任一轨迹点的通行状态。
其中,确定第一近邻轨迹点的位置范围可以预先设置,比如,该位置范围可以为以该任一轨迹点位为圆心,以预设距离为半径的位置范围。该预设距离可以预先设置,比如,可以为3米、5米或10米等。
例如,第一近邻轨迹点的确定过程可以为:对时空轨迹数据中的每个轨迹点,确定位于以该轨迹点位为圆心、以距离d为半径的位置范围内的轨迹点,将位于该位置范围内的轨迹点确定为k个第一近邻轨迹点。
例如,第二近邻轨迹点的确定过程为:对时空轨迹数据中的每个轨迹点,确定该轨迹点的轨迹点信息包含的时间点t,从时空轨迹数据中确定与时间点t邻近的k个时间点,将这k个时间点对应的k个轨迹点确定为k个第二近邻点。
其中,根据位置相同的轨迹点的数量,确定任一轨迹点的通行状态可以包括以下两种实现方式:
第一种实现方式,将位置相同的轨迹点的数量,确定为该任一轨迹点的通行状态。
第二种实现方式,将位置相同的轨迹点的数量与k个第一近邻点的数量之间的比值,确定为该任一轨迹点的通行状态。
步骤203:根据多个轨迹点中对应时间点相邻的两两轨迹点之间的移动速度,以及每个轨迹点的通行状态,确定多个轨迹点中的异常轨迹点。
其中,根据多个轨迹点中对应时间点相邻的两两轨迹点之间的移动速度,以及每个轨迹点的通行状态,确定多个轨迹点中的异常轨迹点的操作包括以下步骤(1)-(2):
(1)根据多个轨迹点中对应时间点相邻的两两轨迹点之间的移动速度,确定速度异常的异常轨迹点。
在一种可能的实现方式中,将对应时间点相邻的两两轨迹点之间的移动速度与速度阈值进行比较,如果多个轨迹点中对应时间点相邻的任意两个轨迹点之间的移动速度大于速度阈值,则将该任意两个轨迹点中对应时间点晚的轨迹点确定为速度异常的异常轨迹点。
其中,该速度阈值可以预先设置。比如,该速度阈值可以根据产生该时空轨迹数据的出行方式确定,可以为该出行方式不能达到的速度,若移动速度超出该速度阈值,说明这两个轨迹点之间的移动速度与当前出行方式不匹配,当前轨迹点存在速度异常。
比如,当用户B选择的出现方式为步行,则用于确定该用户B的时空轨迹数据的速度异常的速度阈值可以为5km/h。用户的出行方式不同,对应的速度阈值也不同。
(2)根据多个轨迹点中每个轨迹点的通行状态,确定通行状态异常的异常轨迹点。
在一种可能的实现方式中,可以将多个轨迹点中每个轨迹点的通行状态与通行状态阈值进行比较,如果多个轨迹点中任一轨迹点的通行状态小于通行状态阈值,则将该任一轨迹点确定为通行状态异常的异常轨迹点。
比如,若通行状态用轨迹点在空间上的k个第一近邻轨迹点与在时间上的k个第二近邻轨迹点中位置相同的轨迹点的数量表示,则当位置相同的轨迹点的数量小于数量阈值时,确定该轨迹点为通行状态异常的异常轨迹点。
再比如,若通行状态用在空间上的k个第一近邻轨迹点与在时间上的k个第二近邻轨迹点中位置相同的轨迹点的数量,与k个第一近邻轨迹点的数量之间的比值表示,则当该比值大于比例阈值时,确定该轨迹点为通行状态异常的异常轨迹点。
其中,上述数量阈值和比例阈值均可以预先设置。比如,比例阈值可以为预先设定的一个大于50%的数值,如70%等。
需要说明的是,轨迹点的通行状态用于指示对应轨迹点在预设时长内能够移动到的第一近邻轨迹点的数量。比如,假设用户A的第一时空轨迹数据包括四个连续的轨迹点的轨迹点信息,分别为:轨迹点1{11:00,(116.38,39.90)},轨迹点2{12:00,(116.43,39.92)},轨迹点3{13:00,(109.30,18.15)},轨迹点4{14:00,(116.42,39.93)}。其中轨迹点1、2和4为北京市的3个位置点,轨迹点3为海南三亚的一个位置点。
对于轨迹点3而言,时间间隔在1小时内的第一近邻点为轨迹点2和轨迹点4,假设轨迹点3与轨迹点2之间的路程为L1,轨迹点3与轨迹点4之间的距离为L2,则在用户A选择的某一出行方式下,不能保证在11:00-12:00这一个小时的时间内快速通行距离为L1,但是在该出行方式下,不能保证在12:00-13:00这一个小时的时间内快速通行距离为L2,所以确定轨迹点3的通行状态为差。
同理,如果某用户的时空轨迹数据中的某一个轨迹点与该轨迹点的近邻轨迹点的之间的距离可以在用户选择的出现方式下实现,则确定该轨迹点的通行状态良好。
步骤204:删除第一时空轨迹数据中异常轨迹点的轨迹点信息,得到第二时空轨迹数据。
在一种可能的实现方式中,对于获取的第一时空轨迹数据,基于上述步骤202-步骤203确定的速度异常的异常轨迹点和通行状态异常的异常轨迹点,在第一时空轨迹数据中删除这些异常轨迹点的轨迹点信息,将删除异常轨迹点后的时空轨迹数据确定为第二时空轨迹数据。
在一种可能的实现方式中,在对删除第一时空轨迹数据中异常轨迹点的轨迹点信息,得到第二时空轨迹数据之后,还可以对第二时空轨迹数据进行滤波处理,以通过滤波处理的方式滤除第二时空轨迹数据中的噪声,实现对时空轨迹数据的降噪。也即是,上述步骤202-步骤203可以为在对时空轨迹数据进行滤波处理前的预处理步骤,通过预处理可以有效去除时空轨迹数据中速度异常和通行状态异常的异常轨迹点,减小数据误差,提高数据精度。
在本申请实施例中,对于实时获取的时空轨迹数据,可以对时空轨迹数据进行去重的预处理,此外,对于去重后的第一时空轨迹数据中,也可能存在异常点。因此对于第一时空轨迹数据,本申请提供的实施例还通过对应时间点相邻的两两轨迹点之间的移动速度确定速度异常的异常轨迹点,以及通过每个轨迹点的通行状态确定通行状态异常的异常轨迹点,并在第一时空轨迹数据中删除速度异常的异常轨迹点和通行状态异常的异常轨迹点,提高了时空轨迹数据的准确性。
图3是本申请实施例提供的另一种时空轨迹数据的处理方法流程图,该方法应用于图1所示的服务器102中。该方法包括如下步骤:
步骤301:确定第一时空轨迹数据对应的轨迹波动情况,轨迹波动情况用于指示第一时空轨迹数据的数据误差。
需要说明的是,轨迹波动情况用于表示第一时空轨迹数据对应的运动轨迹的波动情况,轨迹波动情况越平稳,表示第一时空轨迹数据的数据误差越小,轨迹波动情况越严重,表示第一时空轨迹数据的数据误差越大。
作为一个示例,轨迹波动情况可以依据连续多个轨迹点中每个轨迹点的方向夹角来确定。示例性地,请参考图4,在图4所示的3条时空轨迹数据中,时空轨迹数据1中连续3个轨迹点的方向夹角都小于第一角度阈值,因此时空轨迹数据1波动情况较平稳,数据误差较小。时空轨迹数据2中连续3个轨迹点的方向夹角都大于第一角度阈值,且小于或等于第二角度阈值,因此时空轨迹数据2的波动情况较严重,数据误差较大。时空轨迹数据3中连续3个轨迹点的方向夹角都大于第二角度阈值,因此时空轨迹数据3的波动情况过于严重,数据误差过大。
需要说明的是,上述第一角度阈值,以及第二角度阈值均可以预先设定,当获取到时空轨迹数据时,可以直接根据这设定的角度阈值来判断第一时空轨迹数据的波动情况。示例的,上述第一角度阈值可以为15°,第二角度阈值可以为40°。
步骤302:当根据波动情况确定第一时空轨迹数据的数据误差小于或等于第一误差阈值时,对第一时空轨迹数据中的异常轨迹点进行检测,删除第一时空轨迹数据中异常轨迹点的轨迹点信息,得到第二时空轨迹数据。
其中,第一误差阈值可以预先设置,比如可以根据波动情况阈值设置,通常为一个较小的误差阈值。
也即是,当时空轨迹数据的数据误差较小时,可以仅对时空轨迹数据进行异常点去除的操作,如此,可以在时空轨迹数据本身偏差不大时,也能够有效去除时空轨迹数据中的噪声点,达到抑制数据噪声,提高数据精度的效果。
需要说明的是,对第一时空轨迹数据中的异常轨迹点进行检测的检测过程可以通过上述步骤202-步骤203来实现,在此不再赘述详细实现过程。
步骤303:当根据轨迹波动情况确定第一时空轨迹数据的数据误差大于第一误差阈值,对第一时空轨迹数据中的异常轨迹点进行检测,删除第一时空轨迹数据中异常轨迹点的轨迹点信息,得到第二时空轨迹数据,对第二时空轨迹数据进行滤波处理,得到第四时空轨迹数据。
也即是,当时空轨迹数据的数据误差相对较大时,可以在去除异常点之后,对时空轨迹数据继续进行滤波处理,以通过滤波处理的方式进一步滤除时空轨迹数据中的噪声点,对时空轨迹数据进行降噪,提高数据精度。
进一步地,当第一时空轨迹数据的数据误差大于第一误差阈值,还可以根据数据误差程度,采用不同的滤波方式对第二时空轨迹数据进行滤波处理。
在一种可能的实现方式中,当数据误差大于第一误差阈值,且小于或等于第二误差阈值,则对第二时空轨迹数据进行中值滤波处理,得到第四时空轨迹数据,第二误差阈值大于第一误差阈值。当数据误差大于第二误差阈值,则对第二时空轨迹数据进行中值滤波处理,对完成中值滤波处理的第二时空轨迹数据进行卡尔曼滤波处理,得到第四时空轨迹数据。
也即是,当数据误差较为严重时,采用中值滤波方式进行滤波处理,当数据误差过于严重时,采用中值滤波+卡尔曼滤波方式进行滤波处理,如此,可以根据时空轨迹数据的数据误差情况进行有针对性的滤波处理,提高滤波处理的灵活性。
其中,第二误差阈值也可以预先设置,比如根据轨迹波动情况设置。
在一种可能的实现方式中,中值滤波的实现过程为:根据定义的滤波窗口的大小,时空轨迹数据中的每个轨迹点,根据中值滤波算法对每个轨迹点的轨迹点信息进行预估,并根据预估的轨迹点信息对轨迹点信息进行更新。其中,滤波窗口可预先设置,比如由用户自定义设置,当数据采集较为密集是可以将滤波窗口设置的大一些,通常情况下,窗口大小不应小于3。
在一种可能的实现方式中,卡尔曼滤波的实现过程为:利用线性系统状态方程,根据当前采集的轨迹点的“轨迹点信息”、上一时间点采集的轨迹点的“预估值”和“系统误差参数”计算当前轨迹点的最优估计值,用计算的当前轨迹点的最优估计值去替换当前轨迹点的轨迹点信息,再根据该最优估计值预估下一时间点的轨迹点的最优估计值。在利用卡尔曼滤波的过程中,依次对时空轨迹数据中的所有轨迹点进行最优估计值计算和替换。
作为一个示例,在时空轨迹数据的数据误差较大时,可将卡尔曼滤波状态中的系统误差参数调大;在时空轨迹数据的数据误差较小时,可相应地将卡尔曼滤波状态中的系统误差参数调小。如此,可以使得进行卡尔曼滤波处理的数据更加倾向于实际的时空轨迹数据。另外,在使用卡尔曼滤波处理时空轨迹数据的过程中,系统误差参数可以独立存在,且系统误差参数可以根据处理的时空轨迹数据的数据精度进行调整,不受测量数据的影响。
在另一示例中,在对第二时空轨迹数据进行滤波处理之前,还可以先根据第二时空轨迹数据中每相邻两个轨迹点之间的时间间隔,对第二时空轨迹数据进行分段,得到多个第一轨迹片段,每个第一轨迹片段包括至少一个轨迹点的轨迹点信息。之后,根据多个第一轨迹片段,确定多个第二轨迹片段,对多个第二轨迹片段分别进行滤波处理,将滤波处理后的多个第二轨迹片段按照对应时间顺序依次进行拼接,得到第四时空轨迹数据。
由于用户端携带的定位装置采集轨迹点的时间不均匀,以及信号丢失等原因,可能会导致上报的位置信息所对应的时间间隔不均匀,造成计算机设备根据用户端上报的位置信息生成的时空轨迹数据中连续轨迹点之间的时间间隔远远大于其正确采集间隔,提高了数据误差。
为了减小上述原因导致的数据误差,在对第二时空轨迹数据进行滤波处理之前,还可以获取第二时空轨迹数据中每相邻两个轨迹点之间的时间间隔,当两个连续轨迹点之间的时间间隔大于时间阈值时,将前一个轨迹点作为前一个轨迹片段的终点,后一个轨迹点作为下一轨迹片段的起点,以此来将第二时空轨迹数据按时间间进行分段,得到多个第一轨迹片段。
其中,时间阈值可以是预先设定的一个时间值,该时间值可以为1小时。
其中,对多个二轨迹片段分别进行滤波处理所采用的滤波方式可以根据第二时空轨迹数据的数据误差确定。比如,若数据误差大于第一误差阈值,且小于或等于第二误差阈值,则采用中值滤波方式,即对每个第二轨迹片段均进行中值滤波处理。若数据误差大于第二误差阈值,则采用中值滤波+卡尔曼滤波的滤波方式,即对每个第二轨迹片段先进行中值滤波处理,在对中值滤波处理完成后的第二轨迹片段进行卡尔曼滤波处理。
作为一个示例,基于多个第一轨迹片段,确定多个第二轨迹片段的实现过程可以包括以下两种可能的实现方式。
在第一种可能的实现方式中,将多个第一轨迹片段,确定为多个第二轨迹片段。也即是,在对第二时空轨迹数据进行分段,得到多个第一轨迹片段之后,直接对多个第一轨迹片段分别进行滤波处理,并将滤波处理后的多个第一轨迹片段按照对应时间顺序依次进行拼接,得到第四时空轨迹数据。
在第二种可能的实现方式中,按照参考插值周期,对多个第一轨迹片段中的每个第一轨迹片段进行均匀插值,根据均匀插值后的多个第一轨迹片段,确定多个第二轨迹片段。
其中,参考插值周期可以根据每个第一轨迹片段中每相邻两个轨迹点的时间间隔来确定。比如,将每个第一轨迹片段中每相邻两个轨迹点的平均时间间隔或出现次数较多的时间间隔,确定为参考插值周期。如图5所示,假设在划分的多个第一轨迹片段包含的所有轨迹点中多数相邻两个轨迹点的时间间隔为30s,则可选30s为插值周期对多个第一轨迹片段进行均匀插值。
另外,参考插值周期还可以根据第一时空轨迹数据的数据采集频率来确定。如图6所示,假设用户端的正常上报频率是每20s上报一次,则可选20s为插值周期对多个第一轨迹片段进行均匀插值。
作为一个示例,在基于参考插值周期对多个第一轨迹片段进行均匀插值时,相邻两个轨迹点中插入的轨迹点的位置信息可以由前一个轨迹点的位置信息和后一个轨迹点的位置信息来确定,比如由两者的均值确定。比如,前一个轨迹点的位置信息为(x1,y1),后一个轨迹点的位置信息为(x2,y2),则中间插入的轨迹点的位置信息为
作为一个示例,根据均匀插值后的多个第一轨迹片段,确定多个第二轨迹片段的操作包括:将均匀插值后的多个第一轨迹片段,确定为多个第二轨迹片段。或者,对于均匀插值后的每个第一轨迹片段,从每个第一轨迹片段中删除时间间隔不均匀的轨迹点的轨迹点信息,得到多个第二轨迹片段。
在一种可能的实现方式中,在将滤波处理后的多个第二轨迹片段按照对应时间顺序依次进行拼接时,对于经过滤波处理后的多个第二轨迹片段,可以确定每个第二轨迹片段的第一个轨迹点对应的时间点以及最后一个轨迹点对应的时间点,根据一个第二轨迹片段的第一个轨迹点对应的时间点和另一个第二轨迹片段的最后一个轨迹点对应的时间点的时间顺序,将多个第二轨迹片段按照对应时间顺序依次进行拼接,得到处理后的第四时空轨迹数据。
综上所述,在本申请实施例中,可以根据时空轨迹数据的数据误差的大小,采用不同的降噪方法,如此,可以根据数据误差对时空轨迹数据进行有针对性的处理,提高对数据进行降噪的灵活性。
另外,相关技术中,对于采集到的时空轨迹数据,一般采用对时空轨迹数据进行滤波处理的方式,来对时空轨迹数据进行降噪。滤波处理过程中采用的滤波算法一般为线性滤波算法或近似线性滤波的非线性滤波算法,通过滤波处理可以将时空轨迹数据中的整体轨迹线性连接,达到平滑轨迹噪声的效果。但是,由于滤波处理可以将时空轨迹数据中的整体轨迹线性连接,可以会将弯道轨迹平滑为直线轨迹,导致整体时空轨迹数据的精确度较低。
本申请实施例中,通过在数据误差较大时,先去除时空轨迹数据的异常点,在对时空轨迹数据进行滤波处理,可以更加有效地去除数据中的噪声点,提高数据处理精度。另外,在对时空轨迹数据进行滤波处理之前,为了缓和滤波算法本身的线性问题,将时空轨迹数据进行分段,如此可以平滑轨迹点之间的时间间隔,极大解决了滤波算法在时空轨迹数据上的适配性问题,减小由于滤波算法本身的不足带来的影响。
上述所有可选技术方案,均可按照任意结合形成本申请的可选实施例,本申请实施例对此不再一一赘述。
图7是根据一示例性实施例示出的一种时空轨迹数据的处理装置的结构示意图,该时空轨迹数据的处理装置可以由软件、硬件或者两者的结合实现。该时空轨迹数据的处理装置可以包括:
第一获取模块,用于获取第一时空轨迹数据,第一时空轨迹数据包括多个轨迹点的轨迹点信息,轨迹点信息包括位置信息和时间点;
第一确定模块,用于根据多个轨迹点的轨迹点信息,确定多个轨迹点中对应时间点相邻的两两轨迹点之间的移动速度,以及每个轨迹点的通行状态,通行状态用于指示对应轨迹点在预设时长内能够移动到的第一近邻轨迹点的数量,第一近邻轨迹点是指与对应轨迹点处于相同位置范围内的轨迹点;
第二确定模块,用于根据多个轨迹点中对应时间点相邻的两两轨迹点之间的移动速度,以及每个轨迹点的通行状态,确定多个轨迹点中的异常轨迹点;
删除模块,用于删除第一时空轨迹数据中异常轨迹点的轨迹点信息,得到第二时空轨迹数据。
可选地,第一确定模块包括:
第一确定子模块,用于对于多个轨迹点中对应时间点相邻的任意两个轨迹点,根据任意两个轨迹点的位置信息,确定任意两个轨迹点之间的欧式距离;
第二确定子模块,用于根据任意两个轨迹点的时间点,确定任意两个轨迹点对应的时间点之间的时间间隔;
第三确定子模块,用于将欧式距离与时间间隔之间的比值,确定为任意两个轨迹点之间的移动速度。
可选地,第一确定子模块还包括:
第一选择子模块,用于对于多个轨迹点中的任一轨迹点,根据多个轨迹点的轨迹点信息,从多个轨迹点中选择与任一轨迹点处于相同位置范围内的轨迹点,得到k个第一近邻轨迹点;
第二选择子模块,用于根据多个轨迹点的轨迹点信息,按照对应时间点与任一轨迹点对应的时间点之间的相距时长从小到大的顺序,从多个轨迹点中选择排序在前的k个轨迹点,得到k个第二近邻轨迹点;
第四确定子模块,用于确定k个第一近邻轨迹点与k个第二近邻轨迹点中位置相同的轨迹点的数量;
第五确定子模块,用于根据位置相同的轨迹点的数量,确定任一轨迹点的通行状态。
可选地,第二确定模块包括:
第六确定子模块,用于若多个轨迹点中对应时间点相邻的任意两个轨迹点之间的移动速度大于速度阈值,则将任意两个轨迹点中对应时间点晚的轨迹点确定为速度异常的异常轨迹点;
第七确定子模块,用于若多个轨迹点中任一轨迹点的通行状态小于通行状态阈值,则将任一轨迹点确定为通行状态异常的异常轨迹点。
可选地,装置还包括:
第二获取模块,用于获取待处理的第三时空轨迹数据,第三时空轨迹数据包括n个轨迹点的轨迹点信息,n个轨迹点包含多个轨迹点,n为正整数;
去重模块,用于对第三时空轨迹数据中包括的时间点相同的轨迹点的轨迹信息进行去重,得到第一时空轨迹数据。
可选地,装置还包括:
第三确定模块,用于在根据多个轨迹点的轨迹点信息,确定多个轨迹点中对应时间点相邻的两两轨迹点之间的移动速度,以及每个轨迹点的通行状态之前,确定第一时空轨迹数据对应的轨迹波动情况,轨迹波动情况用于指示第一时空轨迹数据的数据误差;
滤波模块,用于若根据轨迹波动情况确定第一时空轨迹数据的数据误差大于第一误差阈值,则在删除第一时空轨迹数据中异常轨迹点的轨迹点信息,得到第二时空轨迹数据之后,对第二时空轨迹数据进行滤波处理,得到第四时空轨迹数据。
可选地,滤波模块包括:
第一滤波子模块,用于若数据误差大于第一误差阈值,且小于或等于第二误差阈值,则对第二时空轨迹数据进行中值滤波处理,得到第四时空轨迹数据,第二误差阈值大于第一误差阈值;
第二滤波子模块,用于若数据误差大于第二误差阈值,则对第二时空轨迹数据进行中值滤波处理,对完成中值滤波处理的第二时空轨迹数据进行卡尔曼滤波处理,得到第四时空轨迹数据。
可选地,装置还包括:
分段模块,用于根据第二时空轨迹数据中每相邻两个轨迹点之间的时间间隔,对第二时空轨迹数据进行分段,得到多个第一轨迹片段,每个第一轨迹片段包括至少一个轨迹点的轨迹点信息;
装置还包括:
第四确定模块,用于基于多个第一轨迹片段,确定多个第二轨迹片段;
滤波模块,用于对多个第二轨迹片段分别进行滤波处理;
拼接模块,用于将滤波处理后的多个第二轨迹片段按照对应时间顺序依次进行拼接,得到第四时空轨迹数据。
可选地,分段模块包括:
第八确定子模块,用于将多个第一轨迹片段,确定为多个第二轨迹片段;或者,
按照参考插值周期,对多个第一轨迹片段中的每个第一轨迹片段进行均匀插值;根据均匀插值后的多个第一轨迹片段,确定多个第二轨迹片段;参考插值周期是根据每个第一轨迹片段中每相邻两个轨迹点的时间间隔或第一时空轨迹数据的数据采集频率确定得到。
在本申请实施例中,可以根据时空轨迹数据的数据误差的大小,采用不同的降噪方法,如此,可以根据数据误差对时空轨迹数据进行有针对性的处理,提高对数据进行降噪的灵活性。
另外,相关技术中,对于采集到的时空轨迹数据,一般采用对时空轨迹数据进行滤波处理的方式,来对时空轨迹数据进行降噪。滤波处理过程中采用的滤波算法一般为线性滤波算法或近似线性滤波的非线性滤波算法,通过滤波处理可以将时空轨迹数据中的整体轨迹线性连接,达到平滑轨迹噪声的效果。但是,由于滤波处理可以将时空轨迹数据中的整体轨迹线性连接,可以会将弯道轨迹平滑为直线轨迹,导致整体时空轨迹数据的精确度较低。
本申请实施例中,通过在数据误差较大时,先去除时空轨迹数据的异常点,在对时空轨迹数据进行滤波处理,可以更加有效地去除数据中的噪声点,提高数据处理精度。另外,在对时空轨迹数据进行滤波处理之前,为了缓和滤波算法本身的线性问题,将时空轨迹数据进行分段,如此可以平滑轨迹点之间的时间间隔,极大解决了滤波算法在时空轨迹数据上的适配性问题,减小由于滤波算法本身的不足带来的影响。
需要说明的是:上述实施例提供的是时空轨迹数据的处理装置在进行时空轨迹数据处理时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的时空轨迹数据的处理装置与时空轨迹数据的处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图8是本申请实施例提供的一种服务器800的结构示意图,该服务器800可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processingunits,CPU)801和一个或一个以上的存储器802,其中,所述存储器802中存储有至少一条指令,所述至少一条指令由所述处理器801加载并执行以实现上述各个方法实施例提供的时空轨迹数据的处理方法。当然,该服务器800还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器800还可以包括其他用于实现设备功能的部件,在此不做赘述。
本申请实施例还提供了一种非临时性计算机可读存储介质,当该存储介质中的指令由服务器的处理器执行时,使得服务器能够执行上述实施例提供的时空轨迹数据的处理方法。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在服务器上运行时,使得服务器执行上述实施例提供的时空轨迹数据的处理方法。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种时空轨迹数据的处理方法,其特征在于,所述方法包括:
获取第一时空轨迹数据,所述第一时空轨迹数据包括多个轨迹点的轨迹点信息,所述轨迹点信息包括位置信息和时间点;
根据所述多个轨迹点的轨迹点信息,确定所述多个轨迹点中对应时间点相邻的两两轨迹点之间的移动速度;
对于所述多个轨迹点中的任一轨迹点,根据所述多个轨迹点的轨迹点信息,从所述多个轨迹点中选择与所述任一轨迹点处于相同位置范围内的轨迹点,得到k个第一近邻轨迹点;
根据所述多个轨迹点的轨迹点信息,按照对应时间点与所述任一轨迹点对应的时间点之间的相距时长从小到大的顺序,从所述多个轨迹点中选择排序在前的k个轨迹点,得到k个第二近邻轨迹点;
确定所述k个第一近邻轨迹点与所述k个第二近邻轨迹点中位置相同的轨迹点的数量;
根据所述位置相同的轨迹点的数量,确定所述任一轨迹点的通行状态,所述通行状态用于指示对应轨迹点在预设时长内能够移动到的第一近邻轨迹点的数量;
若所述多个轨迹点中对应时间点相邻的任意两个轨迹点之间的移动速度大于速度阈值,则将所述任意两个轨迹点中对应时间点晚的轨迹点确定为速度异常的异常轨迹点;
若所述多个轨迹点中任一轨迹点的通行状态小于通行状态阈值,则将通行状态小于所述通行状态阈值的轨迹点确定为通行状态异常的异常轨迹点;
删除所述第一时空轨迹数据中所述异常轨迹点的轨迹点信息,得到第二时空轨迹数据。
2.根据权利要求1所述的方法,其特征在于,所述根据所述多个轨迹点的轨迹点信息,确定所述多个轨迹点中对应时间点相邻的两两轨迹点之间的移动速度,包括:
对于所述多个轨迹点中对应时间点相邻的任意两个轨迹点,根据所述任意两个轨迹点的位置信息,确定所述任意两个轨迹点之间的欧式距离;
根据所述任意两个轨迹点的时间点,确定所述任意两个轨迹点对应的时间点之间的时间间隔;
将所述欧式距离与所述时间间隔之间的比值,确定为所述任意两个轨迹点之间的移动速度。
3.根据权利要求1所述的方法,其特征在于,所述获取第一时空轨迹数据之前,还包括:
获取待处理的第三时空轨迹数据,所述第三时空轨迹数据包括n个轨迹点的轨迹点信息,所述n个轨迹点包含所述多个轨迹点,所述n为正整数;
对所述第三时空轨迹数据中包括的时间点相同的轨迹点的轨迹信息进行去重,得到所述第一时空轨迹数据。
4.根据权利要求1-3任一所述的方法,其特征在于,所述方法还包括:
在根据所述多个轨迹点的轨迹点信息,确定所述多个轨迹点中对应时间点相邻的两两轨迹点之间的移动速度之前,确定所述第一时空轨迹数据对应的轨迹波动情况,所述轨迹波动情况用于指示所述第一时空轨迹数据的数据误差;
若根据所述轨迹波动情况确定所述第一时空轨迹数据的数据误差大于第一误差阈值,则在删除所述第一时空轨迹数据中异常轨迹点的轨迹点信息,得到第二时空轨迹数据之后,对所述第二时空轨迹数据进行滤波处理,得到第四时空轨迹数据。
5.根据权利要求4所述的方法,其特征在于,所述对所述第二时空轨迹数据进行滤波处理,包括:
若所述数据误差大于所述第一误差阈值,且小于或等于第二误差阈值,则对所述第二时空轨迹数据进行中值滤波处理,得到所述第四时空轨迹数据,所述第二误差阈值大于所述第一误差阈值;
若所述数据误差大于所述第二误差阈值,则对所述第二时空轨迹数据进行中值滤波处理,对完成中值滤波处理的第二时空轨迹数据进行卡尔曼滤波处理,得到所述第四时空轨迹数据。
6.根据权利要求4所述的方法,其特征在于,所述对所述第二时空轨迹数据进行滤波处理之前,还包括:
根据所述第二时空轨迹数据中每相邻两个轨迹点之间的时间间隔,对所述第二时空轨迹数据进行分段,得到多个第一轨迹片段,每个第一轨迹片段包括至少一个轨迹点的轨迹点信息;
所述对所述第二时空轨迹数据进行滤波处理,包括:
基于所述多个第一轨迹片段,确定多个第二轨迹片段;
对所述多个第二轨迹片段分别进行滤波处理;
将滤波处理后的多个第二轨迹片段按照对应时间顺序依次进行拼接,得到所述第四时空轨迹数据。
7.根据权利要求6所述的方法,其特征在于,所述基于所述多个第一轨迹片段,确定多个第二轨迹片段,包括:
将所述多个第一轨迹片段,确定为所述多个第二轨迹片段;或者,
按照参考插值周期,对所述多个第一轨迹片段中的每个第一轨迹片段进行均匀插值;根据均匀插值后的多个第一轨迹片段,确定所述多个第二轨迹片段;所述参考插值周期是根据每个第一轨迹片段中每相邻两个轨迹点的时间间隔或所述第一时空轨迹数据的数据采集频率确定得到。
8.一种时空轨迹数据的处理装置,其特征在于,所述装置包括:
第一获取模块,用于获取第一时空轨迹数据,所述第一时空轨迹数据包括多个轨迹点的轨迹点信息,所述轨迹点信息包括位置信息和时间点;
第一确定模块,用于根据所述多个轨迹点的轨迹点信息,确定所述多个轨迹点中对应时间点相邻的两两轨迹点之间的移动速度;对于所述多个轨迹点中的任一轨迹点,根据所述多个轨迹点的轨迹点信息,从所述多个轨迹点中选择与所述任一轨迹点处于相同位置范围内的轨迹点,得到k个第一近邻轨迹点;根据所述多个轨迹点的轨迹点信息,按照对应时间点与所述任一轨迹点对应的时间点之间的相距时长从小到大的顺序,从所述多个轨迹点中选择排序在前的k个轨迹点,得到k个第二近邻轨迹点;确定所述k个第一近邻轨迹点与所述k个第二近邻轨迹点中位置相同的轨迹点的数量;根据所述位置相同的轨迹点的数量,确定所述任一轨迹点的通行状态,所述通行状态用于指示对应轨迹点在预设时长内能够移动到的第一近邻轨迹点的数量;
第二确定模块,用于若所述多个轨迹点中对应时间点相邻的任意两个轨迹点之间的移动速度大于速度阈值,则将所述任意两个轨迹点中对应时间点晚的轨迹点确定为速度异常的异常轨迹点;若所述多个轨迹点中任一轨迹点的通行状态小于通行状态阈值,则将通行状态小于所述通行状态阈值的轨迹点确定为通行状态异常的异常轨迹点;
删除模块,用于删除所述第一时空轨迹数据中所述异常轨迹点的轨迹点信息,得到第二时空轨迹数据。
9.一种时空轨迹数据的处理装置,其特征在于,所述装置包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行上述权利要求1至权利要求7中的任一项权利要求所述的方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有指令,所述指令被处理器执行时实现上述权利要求1至权利要求7中的任一项权利要求所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911040419.9A CN112732682B (zh) | 2019-10-29 | 2019-10-29 | 时空轨迹数据的处理方法、装置及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911040419.9A CN112732682B (zh) | 2019-10-29 | 2019-10-29 | 时空轨迹数据的处理方法、装置及计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112732682A CN112732682A (zh) | 2021-04-30 |
CN112732682B true CN112732682B (zh) | 2022-05-31 |
Family
ID=75589117
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911040419.9A Active CN112732682B (zh) | 2019-10-29 | 2019-10-29 | 时空轨迹数据的处理方法、装置及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112732682B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112748451B (zh) * | 2021-01-26 | 2022-04-22 | 腾讯科技(深圳)有限公司 | 轨迹处理方法、装置、电子设备及介质 |
CN113747382B (zh) * | 2021-08-18 | 2022-08-19 | 北京九栖科技有限责任公司 | 基于多级滤波的移动信令轨迹去噪方法、介质和计算设备 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5189644A (en) * | 1992-02-04 | 1993-02-23 | Wood Lawrence C | Removal of amplitude aliasing effect from seismic data |
JP2005156308A (ja) * | 2003-11-25 | 2005-06-16 | Sumitomo Electric Ind Ltd | 移動体軌跡情報の異常判定方法及びプログラム |
CN102053744A (zh) * | 2009-11-03 | 2011-05-11 | 无锡华润矽科微电子有限公司 | 触摸屏控制装置、触摸屏控制电路及触摸屏控制方法 |
CN104683948A (zh) * | 2015-02-04 | 2015-06-03 | 四川长虹电器股份有限公司 | 自我学习的异常位置轨迹点过滤方法 |
CN106482737A (zh) * | 2016-10-09 | 2017-03-08 | 西北工业大学 | 室内无线终端定位准确性保证及轨迹校正方法 |
CN106878951A (zh) * | 2017-02-28 | 2017-06-20 | 上海讯飞瑞元信息技术有限公司 | 用户轨迹分析方法及系统 |
CN107133236A (zh) * | 2016-02-29 | 2017-09-05 | 北京京东尚科信息技术有限公司 | 地理位置轨迹优化的方法和装置 |
CN107277765A (zh) * | 2017-05-12 | 2017-10-20 | 西南交通大学 | 一种基于聚类离群分析的手机信令轨迹预处理方法 |
CN110069585A (zh) * | 2017-12-05 | 2019-07-30 | 腾讯科技(深圳)有限公司 | 轨迹点数据的处理方法和装置、存储介质及电子装置 |
-
2019
- 2019-10-29 CN CN201911040419.9A patent/CN112732682B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5189644A (en) * | 1992-02-04 | 1993-02-23 | Wood Lawrence C | Removal of amplitude aliasing effect from seismic data |
JP2005156308A (ja) * | 2003-11-25 | 2005-06-16 | Sumitomo Electric Ind Ltd | 移動体軌跡情報の異常判定方法及びプログラム |
CN102053744A (zh) * | 2009-11-03 | 2011-05-11 | 无锡华润矽科微电子有限公司 | 触摸屏控制装置、触摸屏控制电路及触摸屏控制方法 |
CN104683948A (zh) * | 2015-02-04 | 2015-06-03 | 四川长虹电器股份有限公司 | 自我学习的异常位置轨迹点过滤方法 |
CN107133236A (zh) * | 2016-02-29 | 2017-09-05 | 北京京东尚科信息技术有限公司 | 地理位置轨迹优化的方法和装置 |
CN106482737A (zh) * | 2016-10-09 | 2017-03-08 | 西北工业大学 | 室内无线终端定位准确性保证及轨迹校正方法 |
CN106878951A (zh) * | 2017-02-28 | 2017-06-20 | 上海讯飞瑞元信息技术有限公司 | 用户轨迹分析方法及系统 |
CN107277765A (zh) * | 2017-05-12 | 2017-10-20 | 西南交通大学 | 一种基于聚类离群分析的手机信令轨迹预处理方法 |
CN110069585A (zh) * | 2017-12-05 | 2019-07-30 | 腾讯科技(深圳)有限公司 | 轨迹点数据的处理方法和装置、存储介质及电子装置 |
Non-Patent Citations (1)
Title |
---|
轨迹数据之数据清洗以及异常检测;runrun117;《CSDN,https://blog.csdn.net/runrun117/article/details/84103906?》;20181115;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112732682A (zh) | 2021-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11538232B2 (en) | Tracker assisted image capture | |
CN109961106B (zh) | 轨迹分类模型的训练方法和装置、电子设备 | |
CN111784728B (zh) | 轨迹处理方法、装置、设备及存储介质 | |
CN111209978B (zh) | 三维视觉重定位方法、装置及计算设备、存储介质 | |
EP2948926A1 (en) | Systems and methods for tracking and detecting a target object | |
CN112732682B (zh) | 时空轨迹数据的处理方法、装置及计算机存储介质 | |
CN111815742A (zh) | 一种车道线生成方法及系统 | |
CN103929719A (zh) | 定位信息的优化方法和优化装置 | |
CN110309720A (zh) | 视频检测方法、装置、电子设备和计算机可读介质 | |
CN113380037B (zh) | 一种交通信息采集方法和装置 | |
CN114037716A (zh) | 图像分割方法、装置、设备及存储介质 | |
WO2022036981A1 (zh) | 机器人及其地图构建方法和装置 | |
CN104424485A (zh) | 一种基于图像识别来获取特定信息的方法与装置 | |
CN105517018A (zh) | 一种获取位置信息的方法及装置 | |
CN110348369B (zh) | 一种视频场景分类方法、装置、移动终端及存储介质 | |
CN115953434A (zh) | 轨迹匹配方法、装置、电子设备和存储介质 | |
CN116168045A (zh) | 扫变镜头的分割方法和系统、存储介质及电子设备 | |
CN115086538A (zh) | 一种拍摄位置确定方法、装置、设备及介质 | |
CN113781569A (zh) | 一种回环检测方法和装置 | |
CN113626684B (zh) | 一种对象的行进方式的分析方法和装置 | |
CN118227966A (zh) | 一种车辆线路提取方法、装置、电子设备及存储介质 | |
CN116828397B (zh) | 一种轨迹信息的获取方法、装置、电子设备和存储介质 | |
CN110827313B (zh) | 快速光流跟踪方法及相关设备 | |
CN115658840B (zh) | 众包地图数据的处理方法、设备、驾驶设备和介质 | |
CN110097583B (zh) | 图片筛选方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |