本文是一篇软件工程论文,本文中的异常点过滤方法主要通过预设的阈值作为判断条件,如果噪声点的偏离位置相对较远,则过滤效果相对较好,但是对于一些细微的噪声影响,利用阈值进行过滤的效果可能不太明显,所以在今后的研究还需要引入一些数学模型或者结合道路的路网加以改进。
第一章 绪论
1.1 研究背景及意义
随着定位技术的广泛应用和移动互联网的发展,海量的可定位设备生成了海量的轨迹数据,轨迹数据逐渐成为近年来的一类典型的大数据。轨迹数据覆盖多个领域,如交通轨迹数据、出行轨迹数据、自然现象活动轨迹数据、动物迁徙轨迹数据等[1]。海量的轨迹数据在越来越多的领域中产生,滴滴出行在其《2018年第一季度全国重点城市交通出行报告》中称,平台注册人次超过4.4亿次,每日的导航请求规模达到2500万人次,每日处理数据超过4500TB。信号基站定位也可产生轨迹数据,根据工信部发布数据,截止到2021年5月末,我国移动电话用户总数达16.08亿,如果每两小时连接一次信号基站,全天的数据规模也超过百亿条。
海量高质的轨迹数据中包含着丰富的信息,亟待得以高效地利用。通过对其进行分类研究与分析挖掘,可以掌握人类活动与迁移过程的变化规律,分析交通、大气气象环境变化的移动特征[2],其结果可以应用到城市规划[3,4]、发掘城市热点区域[5]等智慧城市建设方面;也可应用于用户个性化推荐[6–8]服务于商业,还可以应用于灾害轨迹追踪[9]与野生动物保护[10]等方面。诸多的实际应用,体现出了轨迹数据重要的社会价值与商业价值。
但伴随着数据规模的不断增长,轨迹大数据领域还存在很多问题。受到定位设备、采样环境等客观因素的影响,轨迹数据中存在噪声点,这些采集到的数据需要通过对轨迹进行清洗来去除轨迹中的异常点,以获得有效的轨迹数据。即便产生误差的概率极小,在海量轨迹数据中,误差数据的总量也很大,如不对其进行相应的处理,则会使轨迹数据的利用价值降低,影响后续的对于轨迹数据的分析与管理工作。海量轨迹数据的分析与处理过程,需要海量的计算资源与存储资源,对机器的性能是巨大的考验。受限于传统数据库的数据存储量与单机计算资源瓶颈,轨迹大数据的索引与查询更倾向于使用大数据的相关技术进行处理。随着大数据处理技术中的并行计算能力和分布式存储能力的不断提升,为海量的轨迹数据的处理与存储提供了保障。
..............................
1.2 研究现状
1.2.1 轨迹清洗方法研究现状
轨迹数据的清洗是应用轨迹数据的基础,在受到定位装置故障、定位信号受到干扰等外界因素的影响,采集到的海量的轨迹数据中存在一定量的噪声点,噪声点的存在使得完整轨迹数据表达不准确,如果不通过相关的预处理技术进行数据转换与校准,会对后续的轨迹数据的存储、分析与挖掘工作产生影响。
轨迹数据的清洗旨在去除轨迹中噪声点,现有方法主要是针对单条长轨迹进行清洗,目前常见的过滤方法有两类,一类是通过设置一些指标的阈值的来判断是否为噪声点,如速度、距离等属性,如果超过了设定的阈值,则对轨迹点进行清洗。文献[2]中介绍了一种轨迹清洗方法,其使用中值或均值滤波的方法处理噪声点,并通过设置滑动窗口的大小,对下一个轨迹点进行估计,中值滤波比均值滤波具有更强的健壮性。文献[11]利用了一种速度监督的方法计算出两个点之间的平均速度,通过监督采样速度与平均速度是否在正常的速度范围内对轨迹点进行甄别。文献[12]提出了一种基于启发式的离群值检测方法,通过统计所有轨迹点在一个范围内邻居轨迹点的平均个数,然后利用设定的阈值进行筛选;文献[13,14]提出了一种可以利用速度区间与位置计算出下一次轨迹点出现的位置是否在合理的范围内,通过可达域判别条件将不满足条件的噪声点进行过滤。
另一类方法是利用数学的方法估计噪声点的真实值,将噪声轨迹的影响降到最低。文献[15–18]利用卡尔曼滤波及其拓展方法,使用其测量模型与动态模型,利用当前点的状态向量,如速度、加速度等属性,对后续轨迹点进行估计。文献[19]利用二维离散的小波变换,使轨迹中有用信息聚集到少数低频变换系数上,并利用高频系数反映外界噪声对轨迹的影响,之后再将系数进行编码与重构,得到过滤后的轨迹。文献[20–22]还使用了粒子滤波的方法对轨迹进行清洗。
对于所有的轨迹清洗策略来说,没有一种策略可以通用于轨迹的清洗工作,结合不同的使用场景,对轨迹清洗方法进行调整与改良才能更好地解决实际中遇到的问题[23]。
..............................
第二章 相关技术概述
2.1 轨迹数据相关知识概述
2.1.1 轨迹大数据
轨迹数据是一类时空数据,其中主要包括了坐标位置信息和时间属性,表示的是移动对象在一段时间范围内位置变化情况。其形式化定义为:
定义2.1(轨迹数据)每条轨迹数据Tra通常由一系列的时空轨迹点P组成,每个时空轨迹点都由一些描述轨迹状态属性组成,如位置(Lon,Lat)、时间T、速度Speed等属性。
轨迹大数据属于大数据的范畴,所以其也拥有大数据的3V特征,即数据量大、种类多以及实时性强等特征,由于轨迹数据的特殊性,还有一些轨迹数据独有的特征[55–57]:
(1)时空序列性:轨迹数据中包含了描述轨迹数据时间与空间属性,并且随着时间的线性增加,空间的坐标点按时间顺序生成坐标序列,从数据格式上来看,轨迹数据就是一组时空序列。
(2)异频采样性:轨迹数据大都由定位设备采样产生,轨迹的采样间隔受到采样设备影响,不同的轨迹应用需要的采样频率也不尽相同。
(3)数据质量差:由于受到采集器噪音、物体遮挡等因素影响,轨迹定位装置上传的轨迹数据可能与实际所在位置不一致,并且受到采样频率的影响,对于有些采样间隔非常长的采样设备,可能会遗失一些位置的采样点,这也造成了数据质量差。
(4)高维异构性:轨迹中的时空属性就包括经度、纬度和时间三个维度,不同的轨迹应用可能还会采集其他属性,如采集浮动车轨迹的设备还可能采集速度、方向等属性;对于移动社交应用,如微博等,在采集轨迹位置的同时还可能采集图片和视频,采集轨迹属性的丰富性决定了轨迹数据的高维异构性。
(5)路网相关性与分布不均匀性:轨迹数据大都由移动对象产生,移动对象往往需要道路才可以通行,所以轨迹数据往往体现较强的路网相关性,利用路网相关性还可以解决一部分的轨迹清洗的工作,同时由于轨迹数据普遍集中在路网附近,并且轨迹的数量分布受到多方面因素影响,所以对于轨迹数据的分布,一定存在有的位置轨迹数量多,有的位置轨迹数量少的情况。
............................
2.2 大数据技术
Hadoop是一个开源的用于处理大规模数据集的分布式系统基础架构,主要用于解决海量数据存储与海量数据的分析计算。广义上来讲,Hadoop通常指的是Hadoop生态圈,其中包含了诸多组件如图2.3所示。利用Hadoop处理海量数据具有如下4点优势:
1)高可靠性:Hadoop自行维护多个数据副本,副本个数可以自行定义,即便集群中的某个存储出现故障,只要有一个副本保存完好数据就可以正常的读取。
2)高拓展性:集群易拓展,通过简单配置便可以拓展数以千计的节点。
3)高效性:将数据分布于集群中的不同节点上,从而能够并行地管理海量数据资源。
4)高性价比:可以构建在廉价计算机器上,对于节点的计算资源没有要求,设备成本相对较低。
软件工程论文怎么写
.........................
第三章 轨迹数据清洗流程设计 ............................ 14
3.1 问题分析 .......................................... 14
3.2 异常点清洗流程及算法 ............................ 14
第四章 轨迹数据的索引与查询 ................................... 21
4.1 面向对象-时间范围查询的索引与查询方法 ........................... 2
4.1.1 对象-时间范围查询定义 .................................... 21
4.1.2 问题分析 ......................................... 21
第五章 轨迹大数据查询系统设计与实现 ............................... 39
5.1 系统需求分析 ................................... 39
5.2 系统设计 .......................................... 40
第五章 轨迹大数据查询系统设计与实现
5.1 系统需求分析
针对当前疫情防控对于轨迹数据在查询方面的需求,本文设计并实现了一个轨迹大数据查询系统,系统的主要任务是对存储的轨迹进行高效的查询,但完成整个系统的实现不单只需要轨迹数据的查询模块,还需要如轨迹导入、轨迹索引等部分的支撑。系统的模块划分如图5.1所示:
软件工程论文参考
如上图所示,系统包含三个主要模块,下面介绍系统的具体需求: 轨迹数据导入:该模块主要负责轨迹数据的采集,用于同步原始轨迹数据,用户可以对需要同步的文件路径进行配置,利用Flume日志采集系统将海量的轨迹大数据导入Hadoop集群进行持久化存储。
轨迹数据索引与存储:在轨迹数据导入集群后,针对对象-时间范围查询与时间-空间范围查询两类不同的查询类型设计不同类型的索引方案来完成对海量轨迹数据的存储,并将设计的索引存储在HBase数据库中,以供查询使用。
.........................
第六章 总结与展望
6.1 研究总结
本文结合大数据技术实现了一个轨迹大数据查询系统,主要功能模块为原始轨迹数据导入、轨迹数据清洗、轨迹索引与存储和轨迹查询等。主要工作及成果如下:
(1)研究了轨迹数据的异常点情况,主要将轨迹异常分为两类,并设计了轨迹清洗流程,分别对两类异常进行处理,针对范围异常的轨迹点通过时空边界阈值完成过滤;对于漂移点的异常情况,利用速度与加速度阈值首先将轨迹切割成满足阈值条件的子轨迹,以最长的子轨迹先作为基准轨迹,向轨迹两端进行拓展,实现了轨迹的过滤。
(2)针对轨迹大数据的查询需求,本文分别为两种查询需求设计了轨迹索引与存储结构,针对对象-时间范围查询,设计了基于水平存储模式的存储模型,将设定的时间维度范围内的轨迹数据进行拼接,并针对该结构设计了查询分解方法;由于轨迹数据存在分布不均匀的特点,针对时间-空间范围查询,本文提出了一种基于历史数据预分区的索引方法,方法先对均匀划分的空间上的轨迹进行统计,根据Geohash空间上轨迹数据数量分布情况对Geohash区域进行合并,并生成Geohash与分区构成的倒排索引,使得Geohash编码与分区一一对应,同时还设计了基于HBase的轨迹存储模型,依据此模型设计了两种时空查询方法,两种方法实际上是在生成的子查询数量与查询范围上做出权衡。空间冗余的查询虽然在子查询数量上可以达到最优,但需要扩大了查询范围;空间切割的查询方法相较于空间冗余方法子查询数量增多,但查询的范围并不扩大。这两种查询方法的子查询数量均小于均匀划分的查询方法。
参考文献(略)