基于leaflet轨道交通开源可视化

2022-02-20 01:25孙世纪张桐源杨雄高宇辰
电脑知识与技术 2022年34期
关键词:客流量客流数据挖掘

孙世纪 张桐源 杨雄 高宇辰

摘要:伴随着高速发展的城市交通系统,每天都会有乘客通过各种方式产生大规模交通相关的数据,并且这些交通数据可以用来反映某一区域真实的交通状况,在此基础上,妥善地处理并使用这些数据来改善交通问题并为城市居民提供方便可靠的服务。该课题设计出了一种基于数据挖掘技术和可视化技术的解决方案,以达到展示地铁相关站点线路信息并且可以清晰地查看某时某刻上海地铁的运行视图。提出一种基于leaflet的地铁交通大数据可视化分析方法,通过RStudio平台将地铁中所包含的大量客流量数据进行数据读取、数据清洗、数据分析,最后生成相关可视化结果,经过可视化分析,进而达到预测乘客的乘坐习惯、换乘规律及站点的功能特性。

关键词:leaflet;R语言;可视化;数据分析;地铁

中图分类号:TP311        文献标识码:A

文章编号:1009-3044(2022)34-0060-03

1 引言

上海地铁经30多年的发展,截至2021年12月30日,上海地铁运营里程为831千米,位于中国第一名,也是世界第一位,截至2021年12月,上海地铁运营线路共20条(含磁浮线),共设车站508座(含磁浮线2座),运营里程共831千米(含磁浮线29千米),统计数据均不含金山铁路 。随着线网规模的快速增长,客流也持续增加,日均客流从2003年超过100万乘次到2018 年超过1000 万乘次只经历了15年[1]。目前,地铁已然成为上海市民出行的首选,占公共交通出行比例已超过66%。城市的经济和社会发展依赖于交通,但近年来交通的发展也依赖于城市社会的快速发展,基本适应了城市居民多样化的外出需求。但是上海轨道交通目前我国的交通系统还存在着高峰时段拥堵、通勤成本等突出问题。如何合理有效地解决这些问题,是轨道交通发展中必然会遇到的一个难题。本课题对于上海地铁客流数据基于R语言leaflet进行可视化分析。

2 可视化技术

数据可视化技术,一般是指基于計算 机科学中的图形学或者图像处理技术把一些特定的数据集(经过数据预处理之后)转换为对应的可视化图形或者统计图形从而进行交互处理的技术。数据可视化技术是数据挖掘与可视化技术的结合,而且同时具有两者的优势。除此之外,数据可视化技术也扩展了现有的一些数据图表所具备的传统功能,所以可以使用户更加充分清晰地了解相关数据集的结构。数据可视化也是传统数据挖掘技术中基于图形分析的重要方法之一,在我们进行数据挖掘过程中,使用数据可视化技术一方面可以有助于我们快速准确地发现一些相关的知识和数据,另一方面它可以帮助用户控制数据挖掘的分析过程。不仅如此,该技术通过在数据挖掘的过程中同时提供多种形式的数据呈现方式进而实现了人与数据的直接交互,有助于用户观察和分析数据中所包含的宝贵信息,这是深入了解轨道交通中的客流量规律及人类移动规律现象和激发构思过程的一个实用工具。数据可视化技术在挖掘交通客流量数据方面主要提供了两个方面的应用:一方面拓宽了用户对交通流量数据的认识以及分析;第二,对原始数据本身进行优化和更新,进而强化数据的深层应用[2]。综上所述,通过采用这种将数据集转化为不同图形、表格的可视化方法,从而将大量的交通数据进行人机交互并使用精确度高的可视化交通信息,进而了解轨道交通中所蕴含的规律。

3 可视化平台搭建与数据处理

3.1 可视化平台搭建

本课题使用了Rstudio软件中的shinyapp来搭建平台。R软件本身是被用于统计分析、绘图的语言和操作平台。R语言本身的使用场景主要适用于基于本地会话(local session) 的编程语言,因此缺乏了交互性、嵌入性以及自动化。在此基础上,如果Rstudio想要基于R来构建BI工具,就需 要体现出本地的编程语言和线上展示之间的连接关系并将他们进行交互结合。所以,这也体现出了shiny作为实现以上需求的功能,并在结构 设计上强调了三个根本 要素:服务器(Serve) 、交互界面(UI) 和反应连结(Reactivity) 。

这也可以反映出shiny设计的一个根本思路:反应表达式(reactive expression) 。最简洁的理解反应式表达的示例如图1所示。

3.2 数据处理

要是实现基于原始数据的数据预处理工作,包括规范数据格式、清洗数据、数据标准化和处理缺失数据,校正不一致数据以及删除一些重复数据等;然后统计每五分钟进出站点的客流量数据,再将当日的地铁刷卡数据合并到一个集合中,方便后续进行数据可视化等操作, 通过R语言中的dplyr包对数据进行清洗dplyr包:dplyr的主要功能是方便。使用者对存储的数据进行简化提取[3]。而且除了可以处理本地数据格式外,还可以使用完全相同的R代码处理远程数据库。与Python软件中的pandas功能很类似,该包的一些功能能对数据类型为表格数据(dataframe)的数据做方便的数据的处理和分析操作,从而实现数据的清洗处理,其中包括了对数据进行整合、关联、排序、筛选、汇总、分组等功能。具体地,首先dplyr包中有一种类似管道操作符号%>%,该符号的作用体现在‘it feeds to what is before to what is after’即:将上一句的对象作为第一个参数传递到下一句的函数中,该功能类似于unix的管道编程风格,使得代码更加简洁易读。通过数据挖掘函数对上海地铁数据进行清洗和筛选,最后统计得出地铁站点进出站(每五分钟)的相关数据,如表1所示。

3.3 可视化成果

在对上海地铁进行可视化的过程中,上海地图以及线路站点视图是其中一个重要模块,并且其中存在很多功能需要与地图进行交互操作。为了完成目标,选择了R语言中的Leaflet包来实现绘制地图的相关功能。Leaflet是属于JavaScript库中的一个现代开源地图软件并可以用于创建移动友好交互式(mobile-friendly interactive) 地图,它在2010年由乌克兰的Vladimir Agafonkin与其领导下的一个专业团队共同开发完成的,并且广泛被使用于《纽约时报》《华盛顿邮报》、GitHub和Flickr等网站,也被OpenStreetMap、Mapbox和CartoDB等GIS专家使用[4]。由于它只有40KB左右大小,所以比较适用于移动端,并且它对于使用者来说提供了许多常用的与地图交互的功能,例如缩放与平移。Leaflet地图包确保了用户在使用过程中能感知到其具有简洁性、高性能和可适用性等特点,最重要的是它几乎适用于我们日常使用的所有主流的网站以及桌面端的开发和移动端开发[5],该地图库不仅包含了多种多样的地图插件而且可以在此基础上自由地扩展与使用相关功能。虽然Leaflet本身不存在地图数据,但是在使用过程中可以通过选择一个基础底图层(例如世界地图)作为基础地图,并且可以在功能上结合市面上普遍使用的高德地图、百度地图以及谷歌地图等App。

在本课题中,首先通过library()加载leaflet包,然后通过addProviderTiles(“cartoDB.Positron”) 语句令其自动加载世界地图,并且地图自带缩放功能。在此之后需要对地铁站的位置进行标记和显示,先从station.csv文件中获取站点的经纬度之后,再使用addCircleMarkers()函数对地图上对指定经纬度的点进行标记[6],该功能还可以调节点的颜色、透明度、大小以及虚实等;在此过程中,可以使用Setview()函数来调节地图的中心位置和缩放比例。最后通过addPolylines()函数将地铁站点用多边形线段连接起来。如图2所示。

4 总结与展望

该设计基于可视化技术实现了一种交互式平台的搭建:在开发过程中使用了Rstudio平台、dplyr包以及Leaflet包和相关的绘图技术,并使用一些包的相关功能完成了对大规模数据的查询与储存及如何使用静态数据与动态地图进行交互操作等一系列问题统计出了上海地铁的客流量数据并结合R语言中一些函数功能对复杂的数据进行处理进而完成了客流量大小的统计和绘制站点线路图[7];其中还包括:从乘客刷卡数据中提取客流规律,然后在这之中还发现了一些地铁站点的客流模式(時间和空间维度),结合一些数据可视化图形总结出上海地铁的客流规律,以此为地铁运营模式的改进和云计算大数据世纪下乘客的出行规律的分析提供帮助[8]。

本课题通过使用数据可视化技术、数据科学的理论知识以及数据预处理的分析方式及其他开发方式和技术,深入地研究与调查上海地铁的客流量数据。并基于一种开源的数据分析平台,得出相关的结论可以更加准确地了解上海城市居民的出行规律以及出行特征,以此拓展到其他城市并为一些城市未来的交通规划和发展提供了相关的解决方案。

参考文献:

[1] 毕湘利.上海地铁高质量发展的探索与实践[J].城市轨道交通研究,2021,24(1):6,224.

[2] 殷玮川,何世伟,李玉斌,等.基于云计算的地铁大数据分析方法研究[J].铁道科学与工程学报,2018,15(11):2995-3002.

[3] 殷玮宏,杨健,何兆东,等.基于数据挖掘的深圳市地铁刷卡数据可视化分析[J].现代信息科技,2020,4(14):106-112.

[4] Al-Dohuki S,Wu Y Y,Kamw F,et al.SemanticTraj:a new approach to interacting with massive taxi trajectories[J].IEEE Transactions on Visualization and Computer Graphics,2017,23(1):11-20.

[5] Ovenden M. Metro maps of the world[J].Capital Transport,2005(12):43-46.

[6] Thi Nguyen H,Thi le L,Thi Ngoc Huynh C,et al.Integrating retinal variables into graph visualizing multivariate data to increase visual features[M].Lecture Notes of the Institute for Computer Sciences,Social Informatics and Telecommunications Engineering.Cham:Springer International Publishing,2019:74-89.

[7] 张素洁,谢小园.杭州地铁客流特征分析与客流预测[J].价值工程,2019,38(19):65-67.

[8] Nagel T,Groß B.Shanghai metro flow:multiple perspectives into a subway system[J].Leonardo,2017,50(5):511-512.

【通联编辑:王力】

猜你喜欢
客流量客流数据挖掘
客流增多
基于嵌入式系统的商场客流量统计算法
基于并行计算的大数据挖掘在电网中的应用
基于自学习补偿的室内定位及在客流分析中的应用
一种基于Hadoop的大数据挖掘云服务及应用
基于AFC数据的城轨站间客流量分布预测
人工免疫算法在电梯客流时段划分的应用
基于GPGPU的离散数据挖掘研究
城市轨道交通运营客流数据分析缺陷及应对
从客流量推算公交出行PA矩阵的方法