由于城市化进程加剧以及汽车数量增加, 城市交通问题日益严重[, 通过分析各种空间数据解决交通问题是当前研究的热点. 出租车提供广泛且灵活的交通运输服务, 是城市交通的重要组成部分. 出租车轨迹数据记录了城市道路与居民的流动信息, 对出租车轨迹数据的挖掘分析有助于城市智慧交通[的建设, 有利于制定合理的城市交通政策、合理配置城市公共交通、缓解城市交通拥堵.
随着经济进步与空间信息技术的发展, 出租车轨迹数据的规模呈指数级增长. 为了存储和分析生成的大量数据, 需要一种新的架构来处理出租车轨迹数据. 大数据技术的发展, 为快速、有效地处理大规模空间数据提供了可能. Spark是Hadoop生态系统中新兴的杰出分布式计算框架, 具有高容错性和高可扩展性. 利用Spark框架的并行存储、并行计算与内存计算的优势, 可以精确有效地分析和研究城市交通问题, 实现大数据驱动的智慧交通.
高效益的驾驶员拥有丰富的驾驶经验与运营策略[, 获取高效益的出租车轨迹数据对研究更有意义. 本文提出一种效益指数模型用于对出租车效益进行量化排序, 提取高效益出租车作为研究对象. 在此基础上设计了一个基于Spark的出租车轨迹处理与可视化平台, 可以快捷有效地对高效益出租车的运营模式与载客策略进行可视分析. 该平台开发对出租车轨迹数据处理和可视化具有以下贡献:
(1)将Spark与GeoTools (Java GIS工具包)相结合实现对出租车轨迹数据的快速处理与空间分析计算;
(2)设计了基于蜂窝形格网与DBSCAN算法的出租车载客热点可视化方法, 通过时间约束, 多视角展示载客热点的变化趋势;
(3)提出基于缓冲区的交互式轨迹查询算法, 该算法通过时间与空间约束, 将符合查询条件的轨迹数据信息可视化.
1 相关工作
1.1 出租车轨迹研究
基于位置的服务(Location Based Services, LBS)的快速发展, 通过出租车轨迹数据能够很好的反映出出租车的运营规律、城市交通状况以及居民出行特征. 不同领域的研究人员对出租车轨迹进行了各种研究.
在出租车运营分析方面, Weng JC等[提出基于浮动车数据的出租车运营分析模型(包括载客里程、里程利用率、驾驶员工作强度等参数). Liu L等[通过分析出租车GPS数据了解出租车的运营模式, 对驾驶员进行分类, 揭示收益高的出租车的运营时空特征. Zhang DQ等[通过挖掘出租车GPS轨迹, 从寻客策略、载客运营策略以及服务区域偏好三个角度研究出租车服务策略.
在出租车热点分析方面, Liu DY等[开发了SmartAdP可视化分析系统, 利用出租车轨迹数据用于确定广告牌放置的热点区域. Chang HW等[预测与时间、天气和出租车位置相关的载客需求分布, 通过K-means、层次聚类和DBSCAN进行热点分析, 改善出租车运营管理. B-Planner系统[使用出租车轨迹数据提取乘客上下车热点用于杭州市夜间公交路线规划.
在可视分析方面, Wang ZC等[设计了一个基于GPS轨迹的城市交通拥堵的交互式可视化系统, 用于探索和分析城市的交通状况. 牛丹丹等[通过处理出租车轨迹数据, 从时间、空间维度对乘客出行特征进行可视分析. Huang XK等[提出的可视化方法TrajGraph, 通过图结构存储和可视化出租车轨迹记录的交通信息, 研究城市的交通模式.
1.2 大数据技术应用研究
大数据技术的应用, 可以快速、有效地处理大规模空间数据. 近些年出现了许多处理空间数据的分布式计算框架, 如基于Hadoop扩展的SpatialHadoop[与Hadoop-GIS[, 基于Spark扩展的GeoSpark[、LocationSpark[与Simba[等. 但Hadoop MapReduce计算模型会将中间结果输出到磁盘上, 产生大量I/O操作, 难以实现大规模空间数据处理. Spark框架的性能要优于Hadoop框架, 通过使用RDD, 其基于内存的并行计算架构性能更优.
在城市交通领域, 谭亮等[基于Spark Streaming和Kafka构建了一个实时交通数据处理平台, 处理双基基站采集的数据, 用于解决城市交通问题. 段宗涛等[通过Spark框架挖掘出租车乘客出行特征. Mao B等[基于Spark处理、挖掘时空数据, 提出了一种基于八叉树的时空数据三维体绘制可视化框架, 对纽约市2009–2015年的出租车轨迹数据进行了可视化.
针对上述研究成果, 本文结合Spark框架的优越计算性能设计开发出租车轨迹处理与可视化平台.
2 框架与模型研究
2.1 Spark分布式计算框架
Spark是一个类Hadoop的开源分布式计算框架, 扩展了广