本文刊發于《現代電影技術》2024年第3期
專家點評
數據已成為數字經濟時代的第五大生產要素,隨著人工智能技術的飛速發展,數據的重要性愈發凸顯。我國具有海量數據資源的獨特優勢,電影行業也不例外。影片從創作到放映的過程中,產生了大量圖像、視頻、音頻、文本等非結構化數據和結構化數據。在此基礎上,院線市場、二級市場、農村公益放映等電影多元化放映體系進一步提升了數據的多樣性和海量性。通過對多源、異構、海量數據進行采集、清洗、預處理和挖掘,并結合數據可視化技術,利用圖形、圖表、地圖等可視元素,將繁雜的數據以動態、實時、多維度、交互式的方式進行可視化展現,將有助于洞察數據規律與趨勢,服務科學決策,推動產業提質升級增效。《全國農村電影管理平臺數據可視化的研發與實現》一文基于我國農村電影公益放映實際需求,運用數據預處理、數據分析、可視化結果生成等技術實現全國農村電影公益放映數據的可視化展現,并利用異步通信、分步加載、漸進式渲染等方式解決了海量數據加載與更新問題,對于推動我國農村電影公益放映優化升級與高質量發展具有重要意義。
——王萃
正高級工程師
中國電影科學技術研究所(中央宣傳部電影技術質量檢測所)高新技術研究處副處長
摘要
電影公益放映是一項重要的國家文化惠民工程。為持續保障電影公益放映工作的健康有序發展,確保政府資金投入惠及于民,中央宣傳部電影數字節目管理中心從農村電影公益放映工作的實際出發,以農村電影大數據指標為基礎,構建了農村電影大數據指標體系。本文主要闡述運用大數據及可視化相關技術對全國農村電影管理平臺進行可視化的研發與實現,旨在將農村電影公益放映陣地、放映公示計劃、放映回傳數據進行綜合直觀展示,為全面準確了解電影公益放映情況、促進電影公益放映高質量發展提供參考。
關鍵詞
農村電影放映;電影公益放映;數據可視化;ECharts;全國農村電影管理平臺
1引言
隨著大數據技術的飛速發展,數據可視化已成為一種必要的技術手段,幫助人們更好地理解數據、發現規律、做出決策。近年來,電影公益放映服務體系不斷升級,電影公益放映服務管理工作也進入了新的發展階段。在農村數字電影放映回傳監管系統和基于GPS/GPRS的全國農村電影放映監管平臺的基礎上,中央宣傳部電影數字節目管理中心以多年運營數據為基礎,構建了農村電影大數據指標體系。
全國農村電影基層宣傳文化陣地圖以及全國農村電影管理平臺的提出,為持續做好農村電影公益放映的規范化服務管理工作,保障電影公益放映工作健康、有序發展,確保政府資金投入惠及于民起到重要作用,成為全流程掌握農村電影放映服務情況的重要技術手段。全國農村電影管理平臺(圖1)從陣地圖、放映計劃、放映回傳、滿意度情況等方面對農村電影公益放映工作進行了綜合性數據展示,從而全面綜合地了解農村電影放映服務情況,為運營和管理人員提供數據支持。該平臺的數據可視化實現需要經過以下流程:數據預處理、數據分析、可視化結果生成和用戶交互。
圖1 全國農村電影管理平臺功能架構圖
2相關關鍵技術
2.1 數據預處理技術
數據預處理是數據挖掘分析前非常重要的數據準備工作。其一方面可以保證數據的準確性和有效性,另一方面通過對數據格式和內容的調整,使數據更符合挖掘需求[1]。本項目的數據預處理主要依據項目功能需求,對現有公益放映數據進行關聯分析,剔除與目標無關的冗余數據,形成可用的結果數據。在對原始數據表進行處理后得到結果表,大大提升了可視化結果生成的效率,同時減少數據更新時產生的錯誤。在數據格式方面,由于JSON格式的數據易于創建、解析,便于轉換和傳輸,本項目最終會將所有結果表中的數據統一轉換成JSON格式,從而完成對目標數據的預處理。
2.2 數據可視化技術
數據可視化技術是將繁雜、不能直接讀取的數據信息,轉換成數據結果和結論的過程。通過圖表表達,將數據、信息簡潔化,使用戶可以快速獲取信息、理解數據,發現數據規律[2]。從呈現效果可將數據可視化分為靜態可視化、交互可視化、動態可視化:靜態可視化通常以二維數據為主,通過圖表和文字的組合展示某個主題的信息數據;交互可視化是對多維數據的展示,將基礎數據圖表進行組合,以人機交互為核心,通過鼠標事件對數據節點的“下鉆”操作展示數據的內部關聯,這也是本項目的主要展現部分;動態可視化將多維數據信息進行整合處理,以動態形式展示各維數據間的變化,最普遍的就是按照時間發展情況的動態展示數據。
數據可視化的基本流程主要包括數據采集與處理、數據挖掘與分析、數據到可視化的映射、可視化展示。
其中可視化映射是數據可視化的核心環節。不同數據對應不同的可視化圖形,數據類型包括分類數據、時序數據和位置數據。在本項目中,主要存在以下數據類型映射:分類數據和位置數據。分類數據主要通過其屬性進行分組,如不同影片的放映場次、不同地區的放映點數量等,主要表現形式為條形圖、柱狀圖或餅圖等。位置數據是以地圖形式展示的數據,如全國放映點打點、放映回傳地理位置打點等,主要有地理散點圖、遷徙圖、熱力圖等。
2.3 ECharts庫
ECharts是一個使用 JavaScript 實現的開源可視化庫,可跨設備運行,具有良好的兼容性和可擴展性,底層依賴矢量圖形庫 ZRender,提供簡明直觀、交互豐富、可高度個性化定制的數據可視化圖表。ECharts提供了常規的折線圖、柱狀圖、散點圖、餅圖、K線圖,以及用于統計的盒形圖,用于地理數據可視化的地圖、熱力圖、線圖,用于關系數據可視化的關系圖、樹形圖、旭日圖,多維數據可視化的平行坐標,還有用于商業智能(Business Intelligence, BI)的漏斗圖和儀表盤,且支持不同種類圖的組合應用。Echarts 4.0以上的版本能夠展現千萬級數據量,此數據量級依然能夠進行流暢的縮放、平移等交互。
2.4 Ajax
Ajax,即異步JavaScript 和XML(Asynchronous Javascript and XML) ,是一種創建交互式網頁應用的網頁開發技術。服務器與后臺只需進行少量的數據交換,便可在不重新加載整個網頁的情況下,對網頁進行局部更新[3]。在頁面加載與更新時,用戶的請求并非直接全部提交給服務器,其中一些數據處理工作交給Ajax引擎來完成,這就實現了用戶請求與服務器響應的異步化。引入Ajax可以很好地解決傳統Web應用加載速度慢的問題,可實現高速異步傳輸,減輕服務器的壓力和資源損耗。
3數據可視化研發與實現
3.1 可視化前的數據分析與處理
可視化前的數據分析與處理是整個流程中的關鍵環節,它是將預處理后的數據按照一定規則和方法進行分析,為可視化展示提供直接的數據支撐。本項目可視化前的數據處理工作主要包括數值單位轉換、放映場次排序和分組,以及放映點分布、放映場次分布、放映場次占比等數據的處理;根據數據更新頻率和數據量的大小可選擇進行前端處理或后端處理。前端處理可在頁面上直接通過Ajax異步獲取數據進行可視化展示,后端處理主要針對數據量較大的放映點地理坐標數據、放映回傳數據或其他需要計算排序的數據,如影片部數和場次數據,通過后端數據變換或函數操作生成可視化展示的結果數據。
(1)數值單位轉換:放映點數據、累計放映場次數據隨著時間的發展可達到十萬或百萬,為使數據呈現更為直觀,對這些數據統一轉換為以“萬”為單位的數據。
(2)排序計算:經過預處理生成的結果表中影片部數或場次等數據已經是可以直接使用的數據,此處的排序計算則是將結果數據根據可視化映射類型進行處理。如需在前端對分類型數據進行條形圖、餅圖展示時,通過sort函數進行排序計算后,生成可直接可視化展示的調用結果。
3.2 海量數據的加載與更新
海量數據的加載與更新是本項目解決的關鍵技術難點之一。根據全國放映點填報數據顯示,截至2024年2月底,全國已有超61萬個公益放映點(公益放映點數據動態變化),當以數據地圖進行數據展示時,將面臨十萬級以上數據加載與更新;同時按照近5年農村電影放映運營的數據反饋來看,年均訂購場次1000萬左右,年均放映回傳數據在800萬場左右,這就意味著在進行累計數據展示時,最多時將面臨百萬級數據的加載更新。本項目在多個展示頁面中出現了地圖數據的繪制,如陣地圖、放映計劃、放映公示均有地圖展示整體的分布情況,為降低頁面加載時間,帶來更好的用戶體驗,主要從以下四個方面進行處理:
(1)分步加載
本項目在進行可視化設計時,采用了數據與圖表結合的方式進行綜合性展示。為了提高加載速度,提升用戶使用大屏的體驗,我們對數據展示和圖表展示采用分步加載進行呈現。對數值型展示數據,如每日放映點、場次、影片數量等靜態數據,利用Ajax技術直接從后臺獲取,在前端頁面中即時賦值加載;對放映地圖、排行、趨勢類圖表數據,經過數據分析與處理后使用ECharts進行繪制。這樣可以在頁面刷新時,直接將一部分直觀數據呈現,避免頁面出現空白的情況。
(2)ECharts的渲染
ECharts對百萬以上數據量的渲染場景提供了appendData處理接口,例如地理數據的打點,往往需要分片加載數據量。appendData 接口提供了分片加載后增量渲染的能力,渲染新加入數據塊時不會清除原有已渲染部分。本項目中,對全國放映陣地地圖采用了appendData渲染方式,加快了渲染速度,提升了用戶體驗。但值得注意的是,目前此接口只適用于散點圖和線圖。
除此以外,對柱狀圖、條形圖、散點圖、線圖、熱力圖等配置漸進式渲染(Progressive Rendering)方式,支持每個系列單獨配置。
當圖中有數千到幾千萬圖形元素時,同時繪制或交互重繪的時候可能會造成界面的卡頓甚至假死。ECharts 4.0以上版本全流程支持漸進式渲染,渲染時會把創建好的圖形分到數幀中渲染,每一幀只渲染指定數量的圖形,避免了頁面卡頓或假死情況發生。progressive參數用于設定一次渲染處理多少數據,如“progressive:400”表示每次渲染處理400個數據。progressiveThreshold參數用于設定啟用漸進式渲染圖形數量的閾值,意味著當單系列圖形數量超過該閾值時啟用漸進式渲染,如“progressiveThreshold:3000”表示已有渲染數據達到3000個之后開始加載渲染后的圖案。這個配置項的默認值是當數據量大于3000個時開啟,每次渲染400個。漸進式渲染配置的數據參數,需要根據圖表圖形復雜度進行適當調整。若復雜度低,設置的數值可以大一些,若復雜度高,可以設置數值小一些,從而在不影響交互流暢性的前提下獲得更快的繪制速度。
(3)數據量壓縮
在放映回傳展示部分,我們以熱力圖形式進行呈現。熱力圖的優勢在于可直觀反映地域分布的密集程度,即可直觀展現出各地區放映點以及是否回傳的情況。但通過測試發現,百萬千萬級的數據量通過熱力圖呈現時會造成過載的情況,影響各地區界線的呈現。綜合考慮可視化呈現數據處理情況,我們對回傳部分展示的數據進行了壓縮,以達到更優的展示效果。
通過對比3種壓縮力度(不壓縮、10倍壓縮、100倍壓縮)的結果,我們發現,過大和過小的壓縮量均會對可視化呈現產生失真的影響,綜合考慮后,我們最終選擇壓縮10倍的數據。
(4)頁面加載提示
在用ECharts繪制地圖時,我們在初始化加載地圖的同時添加了頁面加載提示,可直接調用ECharts的showLoading方法顯示,還可為其設置樣式,從視覺上可有效提升用戶體驗。
3.3 基于ECharts進行可視化研發與實現
本項目中的可視化圖表均使用ECharts庫進行實現。
3.3.1 全國農村電影基層宣傳文化陣地圖研發
全國農村電影基層宣傳文化陣地圖是直觀展現全國農村電影公益放映點填報情況的數據地圖,為更好地呈現出放映點分布情況,選用基于地理坐標系構建的散點圖進行展示,主要通過ECharts的geo地理坐標系組件來實現。具體分以下幾個步驟:
(1)繪制地圖輪廓
ECharts通過使用registerMap接口將地圖數據注冊到ECharts中以繪制地圖輪廓。地圖數據信息可通過geoJSON和SVG兩種方式引入。本項目地圖使用了互聯網地圖,通過geoJSON的方式注冊地圖數據。
(2)繪制放映點數據
ECharts中的series?scatter配置項用來實現散點圖的繪制。其中用coordinateSystem指定數據系列使用的坐標系,“geo”即表示通過geoIndex指定相應的地理坐標系組件。在series?scatter中可以通過datasetIndex、dataGroupId、data三種方式添加數據,本項目中已將放映點的地理數據以JSON形式存儲并賦值相應的變量,即可直接使用data對應變量的方式添加放映點數據。
(3)繪制地圖樣式
在地圖樣式設置時,可使用geo配置項,對地圖的位置、中心位置、長寬比、區域顏色、圖形顏色、描邊粗細及顏色、陰影等進行設置。本項目中通過對geo圖層的疊加實現立體地圖效果,在樣式設置中,底層地圖與上層地圖的樣式設置略有不同。
在設置放映點的樣式時,可使用series?scatter配置項,從而對點的大小、顏色、標識等進行樣式設置。全國農村電影基層宣傳文化陣地圖呈現效果示例如圖2所示,圖上的黃色散點是放映點。
圖2 全國農村電影基層宣傳文化陣地圖呈現效果示例
3.3.2 圖表可視化研發
(1)多圖表展示
在該項目中,“當日放映情況”與“放映回傳情況”部分需多圖表綜合性展示,以更全面地反映放映公示填報與放映回傳的整體情況。
在可視化圖表的選擇上,排行類的圖表選用條形圖呈現,分布類的圖表用餅圖呈現,趨勢類的則用折線圖呈現。
在創建了ECharts繪制容器后,可通過grid來設置不同圖表的位置和大小;grid將構建一個直角坐標系網格,最多支持2個x軸和2個y軸,可通過具體參數設置將圖表定位到grid的特定位置。
條形圖、柱狀圖、折線圖等由直角坐標系構建的圖表,用grid進行布局設置后,通過xAxis(x軸)和yAxis(y軸)配置詳細的圖表樣式并填入相應的數據以完成繪制。
(2)放映點特效展示
ECharts中不僅支持標準散點圖,也支持帶有漣漪特效動畫的散點圖(Effect Scatter),可應用動畫特效將某些數據進行突出視覺展示。如對當前有放映公示計劃的放映點進行突出展示時,對effectScatter的rippleEffect中的相關樣式進行設置即可。
3.3.3 放映公示與天氣情況呈現
根據目前填報的電影公益放映點具體情況可知,當前大部分公益放映點仍為室外放映點。室外放映在一定程度上受到天氣情況的制約,如在大風、雨雪、沙塵暴、炎熱等天氣條件下不利于開展室外公益放映。在放映公示地圖的基礎上,加入天氣影響因素參考,對做好公益放映服務管理工作,完善放映公示計劃填報管理具有積極作用。
本文通過與互聯網天氣應用編程接口(API)進行對接,得到了全國范圍內的實況天氣數據,通過post方式從后臺天氣綜合表中獲取天氣判斷指標數據。
(1)天氣數據的處理
通過對實況天氣數據的采集和綜合性分析,對采集的天氣數據中有關觀測時間、溫度、體感溫度、風力等級、風速、當前小時累計降水量、能見度數據進行提取,形成天氣參考指標。該天氣API支持的實況天氣更新頻率為15分鐘,根據系統需要,我們將更新頻率設置為采集數據量/小時。
(2)天氣數據指標的設置
鑒于天氣情況對放映工作會產生實際影響,我們對提取的天氣數據進行計算后形成不利天氣指標:將累計降水量作為是否降雨的參考依據,設置“降雨量>0”即為有雨;將實況風力等級作為是否大風的參考依據,設置“實況風力等級>5”即為大風;將實況溫度作為是否低溫的參考依據,設置“實況溫度≤10”即為低溫;以上三項只要有任一不利天氣出現便定義為“不適宜放映”。
(3)天氣地圖的可視化呈現
天氣地圖的可視化呈現使用了ECharts的視覺映射,通過visualMap組件來實現。視覺映射分為連續型和分段型。連續型是通過指定數據的最大值和最小值來確定映射范圍;分段型具有更豐富的模式,支持數據平均分段、自定義分段以及類別分段。通過處理后的天氣數據設置為不同的可視化樣式,呈現在地圖上。
3.3.4 用戶交互研發
在本項目中,各頁面都存在與用戶的交互,除頁面本身的交互外,通過圖表進行的交互主要可分為兩大類:事件交互和圖表交互。事件交互如點擊省份名稱切換省份地圖,在全國地圖上點擊相應的省份“下鉆”到省份地圖查看詳細信息;圖表交互主要為放映點詳細信息的展示。
事件交互以“下鉆”省份地圖為例,通過ECharts鼠標操作觸發。例如綁定一個鼠標點擊操作,圖表交互主要通過ECharts的tooltip組件彈出提示框,展示放映點詳細信息。tooltip組件可以設置在全局,也可以設置在grid、series、data中。需要判斷我們所交互的內容是針對哪一部分,如我們將鼠標放置在放映點上彈出提示框,就是在系列中設置tooltip。tooltip的屬性也可對提示框的外觀樣式、觸發類型進行設置。
4結語
本文介紹了全國農村電影管理平臺數據可視化解決方案,通過Ajax和 ECharts的綜合應用實現了數據圖表的高效實時動態呈現,重點解決了十萬級乃至百萬級數據可視化展示時加載與更新的難題。繪制的放映陣地圖、放映公示地圖、放映回傳熱力地圖直觀鮮明地展示了我國電影公益放映點的分布、放映公示及放映回傳情況。
本項目基于電影公益放映實際情況進行設計,已可滿足當前運營管理服務需求,但對標實時更新的信息技術與不斷發展的電影公益放映事業,還需進一步升級完善。從技術上看,數據可視化技術、智能化技術的進一步發展,Echarts圖表庫的逐漸豐富,將為完善細化電影公益放映數據綜合服務拓展新視角、提供新思路。從服務中國電影事業產業發展來看,持續豐富的公益放映場景,放映智能新終端、移動播控的投入使用,數據的實時傳輸,將為未來更多維度的數據精準化服務提供技術支撐。不斷積累的電影公益放映數據已具備為各級各類管理機構和需求方提供多樣化數據服務的能力,電影公益放映大數據體系也將持續深化,助力城鄉電影公共文化服務體系一體化建設,推動電影公益放映高質量發展。
參考文獻
(向下滑動閱讀)
[1] 孔欽,葉長青,孫赟.大數據下數據預處理方法研究[J].計算機技術與發展, 2018, 28(5):4.DOI:10.3969/j.issn.1673?629X.2018.05.001.
[2] 朱朋飛.基于數據可視化的專題應用分析研究[D].北京郵電大學,2019.
[3] 王菲露,李軍,宋楊,等.基于Ajax技術的ECharts實時圖形報表實現[J].黑龍江工業學院學報(綜合版),2019,19(12):79?83.DOI:10.16792/j.cnki.1672?6758.2019.12.016.
[4] 張紅.堅持科技創新驅動電影數字節目服務體系持續發展[J].現代電影技術,2022(06):4?9.
[5] 擔當使命,努力推動電影公益放映事業創新發展[N].中國電影報,2023?10?25(004).DOI:10.28064/n.cnki.ncdyb.2023.001082.
[6] 肖凱.不斷提升公益電影放映質效[N].中國電影報,2022?01?19(011).DOI:10.28064/n.cnki.ncdyb.2022.000071.
[7] 肖凱.基于ISM的基層群眾觀看公益電影放映影響因素分析[J].現代電影技術,2023(01):36?40.
[8] 張斌,陳朝彥.新時代農村電影高質量發展的語境與路徑[J].編輯之友,2021(11):70?76.DOI:10.13786/j.cnki.cn14?1066/g2.2021.11.011.
[9] 周小舟.基于用戶認知的大數據可視化視覺呈現方法研究[D].東南大學,2018.
[10] 王寧.面向大屏的圖表展示系統設計與實現[D].西安電子科技大學,2019.DOI:10.27389/d.cnki.gxadu.2019.002198.
[11] 王薈奧,蔡永香,楊岸霖,等.大屏數據可視化易用工具的研究與開發[J].計算機系統應用,2022,31(02):114?119.DOI:10.15888/j.cnki.csa.008329.
[12] 芶靈潔. 基于數據可視化技術的大屏應用搭建平臺的設計與實現[D].電子科技大學,2022.DOI:10.27005/d.cnki.gdzku.2021.004881.
[13] 李金金.大屏數據可視化系統中的視覺表現探析[J].大眾標準化,2020(16):151?153.
[14] 趙雅婷.數據可視化大屏藝術設計[J].藝術品鑒,2020(27):100?101.
[15] 齊鑫. 面向可視化大屏系統的數據配置平臺設計與實現[D].南京大學,2018.
[16] 嚴丙輝. 結合地理信息的氣象數據可視化平臺設計與實現[D].浙江大學,2014.
[17] 楊明奇. 基于WebGL的地理信息大數據可視化平臺設計與實現[D].中國科學院大學(中國科學院沈陽計算技術研究所),2021.DOI:10.27587/d.cnki.gksjs.2021.000052.
[18] 李學龍,龔海剛.大數據系統綜述[J].中國科學:信息科學,2015,45(01):1?44.
[19] 姚憶南.數據可視化大屏UI設計的研究和分析[J].自動化儀表,2021,42(05):107?110.DOI:10.16086/j.cnki.issn1000?0380.2019120061.
[20] ECharts. Apache ECharts[EB/OL].[2024?02?07].https://echarts.apache.org/zh/index.html.
主管單位:國家電影局
主辦單位:電影技術質量檢測所
標準國際刊號:ISSN 1673-3215
國內統一刊號:CN 11-5336/TB
投稿系統:ampt.crifst.ac.cn
官方網站:www.crifst.ac.cn
期刊發行:010-63245081
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.