劉芳芳 張錦濤 黃杰
摘要:本文以城市交通數(shù)據(jù)可視化為研究對象,介紹了一種基于大數(shù)據(jù)的城市交通可視化系統(tǒng),進(jìn)而探討了交通數(shù)據(jù)可視化的方法與實(shí)現(xiàn),從總體框架、前臺實(shí)現(xiàn)、后臺實(shí)現(xiàn)、分模塊實(shí)現(xiàn)幾個(gè)方面進(jìn)行研究,該系統(tǒng)主要采R語言進(jìn)行數(shù)據(jù)的分析與處理,然后通過Echart、D3等外部類庫來調(diào)用R語言分析所產(chǎn)生的結(jié)果,進(jìn)一步生成可視化圖表。
關(guān)鍵詞:城市交通;數(shù)據(jù)可視化;R語言
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1007-9416(2019)05-0092-01
0 引言
隨著大數(shù)據(jù)時(shí)代的到來,對于數(shù)據(jù)的挖掘與應(yīng)用已經(jīng)在各行各業(yè)大受歡迎,大數(shù)據(jù)的分析已經(jīng)成為了各個(gè)領(lǐng)域的核心競爭力[1]。近年來,我國城市基礎(chǔ)設(shè)施建設(shè)的迅猛發(fā)展,產(chǎn)生了大量的數(shù)據(jù),目前,交通大數(shù)據(jù)的總量已從TB級躍升為PB級并仍在不斷攀升,這些大數(shù)據(jù)每天不間斷地產(chǎn)生,具有不同格式、不同結(jié)構(gòu)的特征,要想直接抽取其背后隱藏的規(guī)律和模式非常困難,因此,比較理想的處理方法是“信息可視化”。
信息可視化技術(shù)是一種把復(fù)雜或抽象的信息以直觀形象的方式呈現(xiàn)出來并快速被人理解的手段。如何運(yùn)用大數(shù)據(jù)技術(shù),對城市交通大數(shù)據(jù)進(jìn)行可視化分析,研究城市交通的分布規(guī)律和模式,為交通監(jiān)管和規(guī)劃提供決策支持,是智能交通發(fā)展的重要方向[2]。
1 設(shè)計(jì)理念
在交通數(shù)據(jù)領(lǐng)域中,雖然已經(jīng)有大規(guī)模的數(shù)據(jù)產(chǎn)生,但是現(xiàn)有的數(shù)據(jù)中各個(gè)城市的數(shù)據(jù)相互獨(dú)立,存在數(shù)據(jù)分散儲存、結(jié)構(gòu)不統(tǒng)一和數(shù)據(jù)不完成等一系列問題,因此該系統(tǒng)將分布廣泛的數(shù)據(jù)整理處理,并且采用黑、白、藍(lán)、紅四種顏色為主色調(diào)來展示可視化效果,通過這四種顏色的強(qiáng)烈碰撞,給用戶一種簡約又充滿生機(jī)的視覺感受;增強(qiáng)用戶的使用興趣,從而來增加網(wǎng)頁的瀏覽,促進(jìn)網(wǎng)頁的推廣使用。
2 總體架構(gòu)
本系統(tǒng)搭載了Tomcat 7.0服務(wù)器,前臺界面通過Java SSH框架來實(shí)現(xiàn),用R語言加載相應(yīng)類庫然后對對應(yīng)的數(shù)據(jù)庫進(jìn)行訪問,然后通過Echart、D3等外部類庫來調(diào)用R語言分析所產(chǎn)生的結(jié)果,進(jìn)一步生成可交互的可視化圖表。
3 前臺實(shí)現(xiàn)
本系統(tǒng)采用了Struts作為系統(tǒng)的整體基礎(chǔ)架構(gòu),用于MVC的分離,在Struts框架的模型部分,控制業(yè)務(wù)跳轉(zhuǎn),利用Hibernate框架來對持久層提供支持,而Struts和Hibernate用Spring來管理,Spring是一個(gè)輕量級的框架。
4 后臺實(shí)現(xiàn)
后臺通過R語言來實(shí)現(xiàn)數(shù)據(jù)分析與處理,并將結(jié)果返回前臺界面中。R 語言是一套由數(shù)據(jù)計(jì)算、操作和圖形展示功能整合而成的套件。包括:有效的數(shù)據(jù)存儲和處理功能,一套完整的數(shù)組(特別是矩陣)計(jì)算操作符,擁有完整體系的數(shù)據(jù)分析工具,為數(shù)據(jù)分析和顯示提供的強(qiáng)大圖形功能,是一套(源自S語言)完善、便捷、有效的編程語言(包括條件、循環(huán)、自定義函數(shù)、輸入輸出功能),使用R語言簡化了系統(tǒng)的數(shù)據(jù)處理,大大地提升了系統(tǒng)的性能。
5 分模塊實(shí)現(xiàn)
按照實(shí)現(xiàn)功能的不同,將模塊分為上傳模塊、數(shù)據(jù)讀取、數(shù)據(jù)處理、數(shù)據(jù)挖掘與分析、下載與截圖等模塊。系統(tǒng)功能模塊圖如圖1所示。
5.1 上傳模塊
數(shù)據(jù)上傳模塊完成文件型數(shù)據(jù)集的上傳,支持的文件型數(shù)據(jù)格式有csv和txt,并在 上傳時(shí)自定義數(shù)據(jù)分隔符,是否含有首行變量等信息。在文件上傳的模塊中主要采用了SWFUpload工具,SWFU pload是一個(gè)客戶端文件上傳工具, 最初是由Vinterwebb.se開發(fā), 它整合了Flash與JavaScript技術(shù),為Web開發(fā)者提供了一個(gè)具有功能豐富的標(biāo)簽的文件上傳模式。在文件上傳模塊中將需要上傳的文件上傳至Tomcat服務(wù)器中。
5.2 數(shù)據(jù)讀取
數(shù)據(jù)讀取模塊分為讀取文件型數(shù)據(jù)和數(shù)據(jù)庫型數(shù)據(jù),使用Hadoop進(jìn)行分布式儲存與分布式計(jì)算,Hadoop中的HDFS分布文件系統(tǒng)用來儲存,海量的數(shù)據(jù)文件型數(shù)據(jù)直接從服務(wù)器中讀取。
5.3 數(shù)據(jù)處理
數(shù)據(jù)處理模塊包括缺失值處理與數(shù)據(jù)值預(yù)覽功能??梢灾苯釉陬A(yù)覽框中對缺失數(shù)據(jù)修 改、刪除操作,或者由系統(tǒng)設(shè)定的三種缺失值處理方法,直接進(jìn)行處理。經(jīng)過處理之后,可對數(shù)據(jù)集中的信息進(jìn)行可視化預(yù)覽,點(diǎn)擊統(tǒng)計(jì)信息描述,選擇預(yù)覽的數(shù)據(jù)項(xiàng)與輸出圖形,這樣就可以進(jìn)行數(shù)據(jù)預(yù)覽了。
5.4 挖掘與分析
挖掘與分析運(yùn)用了K均值聚類分析、關(guān)聯(lián)規(guī)則分析與決策樹分析。對于這三種分析方法分別采取不同的算法進(jìn)行數(shù)據(jù)挖掘分析與結(jié)果的展示。
5.5 下載與截圖
下載與截圖模塊可將分析產(chǎn)生的結(jié)果直接下載到本地。
6 結(jié)語
數(shù)據(jù)可視化技術(shù)提供了一種直觀有效的方法。將復(fù)雜大量的交通數(shù)據(jù)通過篩選分析可直觀地展現(xiàn)出來城市交通的一些特征。通過這些特征對于國內(nèi)交通現(xiàn)狀有一定的指導(dǎo)作用,可改進(jìn)我國交通信息記錄方式,也為交通部門的改善提供依據(jù)與建議。
參考文獻(xiàn)
[1] 宮睿.海量城市交通數(shù)據(jù)可視化與人類出行行為的可視分析研究[D].電子科技大學(xué),2018.
[2] 劉文杰.城市交通大數(shù)據(jù)可視化框架及實(shí)現(xiàn)[J].科技創(chuàng)新導(dǎo)報(bào),2017,14(36):121-122.