楊晨 蘇有慧 周軍



摘? 要: 介紹了新冠肺炎疫情大數據可視化平臺的搭建:以大量的新冠肺炎疫情數據為基礎,借助Echarts技術以及交互組件,通過可視化圖形與地圖集成的方式對疫情數據進行可視化展示。實現從多個角度展示國內疫情發展趨勢,豐富了疫情數據的展示內容,為廣大人民群眾了解新冠肺炎疫情提供了便利。
關鍵詞: 新冠肺炎; Echarts; 大數據可視化; 多角度展示
中圖分類號:TP399????????? 文獻標識碼:A???? 文章編號:1006-8228(2021)01-61-04
Design and implementation of a big data visualization platform
for the COVID-19 epidemic
Yang Chen, Su Youhui, Zhou Jun
(Dept. of Mathematics and Statistics, Xuzhou Univesity of Technology, Xuzhou, Jiangsu 221018, China)
Abstract: The building of COVID-19 epidemic data visualization platform is introduced. Based on a large number of data of the COVID-19 epidemic, by using Echarts technology and interactive components, the epidemic data is displayed with visualization through the way of integrating the visualized graphics and the map. The COVID-19 epidemic situation is displayed from different point of views, the display contents of epidemic data is enriched, which facilitates the masses to know the COVID-19 epidemic situation.
Key words: COVID-19; Echarts; big data visualization; display from different point of views
0 引言
大數據背景下,海量數據只有被合理解讀與表達之后才能展現其奧秘[1,2],而可視化的形式極大地提高了數據的易讀性,人們不再局限于通過關系數據表來觀察和分析數據信息, 還能以更直觀的方式看到數據及其結構關系[3]。一般而言,大數據的可視化復雜且難以理解,需要經過抽取、清洗、轉化、挖掘 等一系列過程才能展示潛在價值信息[4]。目前,大數據可視化形式主要包括文本可視化、網絡(圖)可視化、時空數據可視化和多維數據可視化[5],豐富多樣的可視化形式極大程度的為人們獲取關鍵信息帶來便利。當今世界上很多國家及地區已經將大數據可視化技術應用到現實生活當中,例如我國的百度、新浪等網站將海量的新冠肺炎疫情數據通過表格的形式展示在同一個網站上,網民可以更加全面地獲取到目前的疫情發展情況,改變了以往數據量大,冗余度高的情況。然而,目前網站上的新冠肺炎大數據圖表大多只包含單一元素,不能直觀地體現從疫情爆發到目前為止的發展趨勢以及各項數據之間的差異,一定程度上降低了大數據的利用率。本系統才采用地圖與統計圖表相結合的方式,通過熱力地圖、二維柱狀圖、動態折線圖等方式來反映全國各項疫情數據的變化趨勢,直觀地體現出不同指標下的數據差異。同時,將使用可拖動的時間軸將疫情數據進行動態可視化,生動地展現了疫情信息大數據的內容,豐富了疫情數據的表現形式。
1 大數據可視化方式
本文結合Echarts技術中主流的數據可視化展示形式[6-7],主要通過折線圖、柱狀圖、餅狀圖和中國地圖等方式,以對比統計圖表法、分區統計圖表法等方法的基本原理為依據,采用不同符號標記、不同高度的二維柱狀圖、不同顏色區分等形式反映疫情數據在不同時間、不同空間的變化情況,具有很強的對比性。如圖1所示,折線圖以疫情發展的時間為x軸,確診人數量為y軸,在x軸下方還附有可以拖動的時間軸,用戶可以通過拖動時間軸來獲取特定時間段的疫情信息。中國地圖中使用不同的顏色來標記每個地區疫情數據的累計情況,從中可以直觀地看到每個地區受疫情影響的差異。系統針對不同的統計數據采用了不同的可視化方式,提高了大數據的直觀性、易讀性與空間對比性。柱狀圖以柱子的高度反映不同區域疫情數據的差異。
2 系統設計
2.1 可視化內容設計
新冠肺炎疫情大數據可視化平臺以全國新冠肺炎疫情數據庫作為基礎進行建立。原始數據來自于相關政府部門已有的數據以及國家衛建委公布的數據,經過數據的過濾清洗與整合得到目前各個地區詳細疫情數據。數據庫包括全國疫情詳情數據庫、用戶詳情數據庫。全國疫情詳情數據庫包括各省統計疫情情況數據表、各省詳細情況數據表等。結合數據庫內容與平臺展示的一般需求,系統主要對以下四種信息對象進行可視化。
⑴ 全國疫情數據。主要字段包括省份名稱、現存確診人數、累計確診人數、累計疑似人數、累計治愈人數、累計死亡人數等。
⑵ 各省疫情數據。主要字段包括各省下地級市名稱、現存確診人數、累計確診人數、累計疑似人數、累計治愈人數、累計死亡人數等。
⑶ 湖北內外疫情分析數據。主要字段包括湖北內外現存確診、新增確診、治愈率、病死率以及湖北本地治愈率Top5、病死率Top5等。通過湖北內外疫情數據的對比和湖北本地數據的對比,便可清晰地觀察到疫情中心區域與全國其他地區疫情數據差別。
⑷ 全國疫情分析數據。主要字段包括境外輸入Top10省市、現存確診Top10省市、累計確診Top10省市、現存疑似Top10省市、治愈率Top10省市、死亡率Top10省市等。從全國疫情發展層面分析疫情數據,便可清晰地觀察到全國目前疫情發展情況。
2.2 功能設計
⑴ 全國疫情數據可視化。全國疫情模塊主要包括國內疫情和各省疫情兩個子模塊,其中主要的可視化圖表需要實現數據隨時間軸來觀察特定時間段的疫情數據,這樣可以迎合不同用戶對不同時間段疫情數據的需求。可視化地圖需要實現可以根據確診人數區間使用不同的顏色高亮顯示,方便用戶檢索。
⑵ 各省疫情數據可視化。系統需要實現以表格形式展示各省疫情情況,在數據展示上需實現可以根據不同的指標對表格進行重新排序,并可以通過詳情按鈕獲取各省的詳細信息。其中每個省的詳細疫情將通過數據展示、圖表展示和地圖展示三種進行可視化展示,方便用戶通過多種方式觀察各省疫情數據。
⑶ 疫情數據分析可視化。系統需要實現湖北內外疫情分析可視化和全國疫情數據各項指標的Top10可視化,系統需要將湖北省內和湖北省外的數據進行對比分析,基于相同指標的數據(如湖北內外病死率、治愈率、新增確診、現存確診),進行對比可視化展示。系統將各項指標Top10的城市由高到低通過柱狀圖的形式進行可視化。這樣,用戶能夠快速了解到重點地區與全國其他地區疫情對比情況,有利于用戶提高安全意識。
3 系統架構與實現
3.1 系統架構
系統采用4層架構設計,如圖2所示。最底層為運行支撐層,包含了基礎的軟硬件設施及網絡安全保障體系。數據層包含兩部分內容:①已有的疫情詳情數據庫,利用MYSQL進行存儲;②基于新冠肺炎疫情可視化平臺需求,選取合適的大數據離線計算框架,這里選用Spark。Spark采用基于內存進行數據處理的模式,減少了磁盤IO,大幅度地提高了計算性能及效率[8-9]。服務層包含平臺所依賴的網頁框架與數據服務。數據服務使用SpringBoot自帶的TomCat(一個免費的開放源代碼的Web應用服務器)構建數據服務器,使用RESTFUL風格設計Web服務交互方案,后端響應前端請求并將數據以JSON格式傳遞給前端。最頂層為應用層,基于Layui經典的模塊化前端框架,SpringBoot簡潔的微服務開發框架以及Echarts中豐富多樣的圖表元素庫和地圖元素庫的支持之下,最終實現了全國疫情數據可視化、疫情數據分析可視化、用戶信息可視化。
3.2 系統實現
全國疫情數據可視化模塊部分截圖如圖3所示。圖3(a)為全國疫情數據可視化首頁,通過簡潔的UI設計,方便用戶快速了解疫情詳情并使平臺更加人性化。圖3(b)為全國疫情數據累計模塊的部分圖表展示,疫情數據主要以折線圖和中國地圖為主。折線圖上方的圖例標明了每條折線的名稱,通過點擊圖例隱藏或者顯示相應的折線,方便用戶觀察疫情數據。圖3(c)為全國疫情數據新增模塊的部分圖表展示,其圖表展示方式與全國疫情數據累計模塊一致。
各省疫情數據可視化模塊部分截圖如圖4所示。圖4(a)為各省疫情數據可視化模塊,疫情數據以表格顯示為主,可以通過表格上方的按鈕,將疫情數據以某一屬性進行升序或者降序排序,體現出每個省份的數據差異,并可以通過詳情按鈕詳細觀察某一地區的疫情數據。以安徽省的疫情詳情為例,圖4(b)和圖4(c)通過數據展示、圖表展示和地圖展示這三種可視化方式,對安徽省到目前為止疫情詳情進行展示。
疫情數據分析可視化模塊部分截圖如圖5所示。圖5(a)為湖北內外疫情分析模塊的部分圖表展示,頁面以折線圖為主,從圖5(a)中可以清楚地觀察到湖北內外各個數據的發展趨勢,有利于數據的對比展示。圖5(b)為全國疫情分析模塊的部分圖表展示,頁面以柱狀圖為主,通過Spark進行離線分析將各項數據的Top10進行可視化展示。
4 結束語
大數據可視化旨在通過與地圖、熱力圖、散點圖等多種圖表形式,讓觀眾對問題有直觀的視覺思維,可以做到讓大眾“即看即懂”。本文系統基于B/S架構,借助Spark框架對疫情數據進行統計分析。前端網頁采用地圖與可視化圖形相結合的方式,借助于Echarts技術中豐富的可視化圖形庫以及地圖元素,對疫情分析數據進行多元化的展示,實現了新冠肺炎疫情數據可視化,對于居民提高自我防護意識,做好疫情防控工作,起著至關重要的作用。
參考文獻(References):
[1] 艾廷華.大數據驅動下的地圖學發展[J].測繪地理信息,2016.41(2):1-7
[2] 曾悠.大數據時代背景下的數據可視化概念研究[D].浙江大學,2014.
[3] 劉勘,周曉崢,周洞汝.數據可視化的研究與發展[J].計算機工程,2002.8:1-2,63
[4] 賀群,楊明川.基于Web GIS的大數據可視化研究與優化[J].電信技術,2015.6(8):37-40
[5] 任磊,杜一,馬帥等.大數據可視分析綜述[J].軟件學報,2014.25(9):1901-1936
[6] 彭順生.基于ECharts的肺炎疫情數據處理與可視化[J].計算機時代,2020.7:47-49,53
[7] 周啟云,許新華,付昱榕,劉文文,劉夢宇.基于Echarts的可視化學情分析系統設計與實現[J].信息技術與信息化,2020.3:116-119
[8] 顧榮.大數據處理技術與系統研究[D].南京大學,2016.[9] 李博.基于開源軟件的大數據處理與管理平臺的研究與實現[D].北京郵電大學,2017.
收稿日期:2020-08-26
基金項目:江蘇省自然科學基金資助項目(BK20151160); 江蘇省大學生創新計劃項目(XCX2020122)
作者簡介:楊晨(1997-),男,江蘇淮安人,本科生在讀,主要研究方向:計算數學、Web開發。
通訊作者:蘇有慧(1972-),女,甘肅省白銀市人,教授,博士,主要研究方向:計算數學、Web開發。