孫世紀 張桐源 楊雄 高宇辰



摘要:伴隨著高速發展的城市交通系統,每天都會有乘客通過各種方式產生大規模交通相關的數據,并且這些交通數據可以用來反映某一區域真實的交通狀況,在此基礎上,妥善地處理并使用這些數據來改善交通問題并為城市居民提供方便可靠的服務。該課題設計出了一種基于數據挖掘技術和可視化技術的解決方案,以達到展示地鐵相關站點線路信息并且可以清晰地查看某時某刻上海地鐵的運行視圖。提出一種基于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.
【通聯編輯:王力】