內(nèi)蒙古自治區(qū)氣象信息中心 銀 笛
面對海量氣象數(shù)據(jù),傳統(tǒng)的文本和表格查看數(shù)據(jù)的手段已不能滿足業(yè)務人員需求,如何快速獲取關注的數(shù)據(jù)信息是很有意義的研究方向。人眼對于色彩和圖形非常敏感,基于ECharts類庫,結合JQuery和Ajax技術,將氣象數(shù)據(jù)繪制為可視化圖形,不僅提高了數(shù)據(jù)辨識度,還將枯燥的氣象數(shù)據(jù)變得更加直觀,業(yè)務人員易于理解且增強了數(shù)據(jù)可讀性。
隨著氣象信息化和現(xiàn)代化發(fā)展,氣象資料在空間和時間尺度都發(fā)生了根本性的變化,面對日益豐富的氣象數(shù)據(jù),如何利用先進的技術手段展示氣象數(shù)據(jù)非常有意義。相比傳統(tǒng)的表格和文本,可視化圖形展示的氣象信息更豐富直觀,業(yè)務人員可以很方便的辨識氣溫、降水等信息的一段時間變化規(guī)律。
目前,常用的氣象數(shù)據(jù)可視化繪圖工具有Grads、NCL、Sufer、Matlab等,但是這些工具均需要安裝部署才可使用,且不利于二次擴展和本地應用程序?qū)?。文中介紹了基于Echarts類庫的多要素氣象數(shù)據(jù)可視化圖形的繪制方法,實現(xiàn)了氣象數(shù)據(jù)可視化圖形繪制。
ECharts是完全基于JavaScript語言開發(fā)的互聯(lián)網(wǎng)主流數(shù)據(jù)可視化圖表庫,可以繪制直觀、生動、可交互、可個性化定制的數(shù)據(jù)可視化圖表,在PC和移動設備均可流暢運行,并兼容當前互聯(lián)網(wǎng)大部分主流瀏覽器。ECharts類庫使用簡單,只需引入js文件即可,文中主要應用了柱狀圖和折線圖完成氣象數(shù)據(jù)可視化展示。
JQuery是一個快速、簡潔的JavaScript框架,封裝了JavaScript常用的功能代碼,優(yōu)化了HTML文檔操作、事件處理、動畫設計和Ajax交互,具有獨特的鏈式語法和短小清晰的多功能接口,并且可對CSS選擇器進行擴展,JQuery兼容各種主流瀏覽器。
氣象數(shù)據(jù)可視化圖形繪制由數(shù)據(jù)獲取、ECharts類庫繪圖兩個步驟組成。
氣象數(shù)據(jù)可視化過程中所展示的數(shù)據(jù)隨業(yè)務需求實時更新,因此需要從服務器端請求數(shù)據(jù),客戶端通過Ajax進行數(shù)據(jù)異步請求,實現(xiàn)與服務端交互,傳遞的參數(shù)包含站號、氣象要素、開始時間和結束時間,返回的數(shù)據(jù)格式為JSON,關鍵代碼如下:
Echarts的option選項屬性非常重要,是決定繪制圖形的重要屬性,包括公共選項、組件選項、數(shù)據(jù)選項等。
Option選項屬性大部分默認僅對Title、legend、xAxis、yAxis和series選項賦值。Title標題包含主標題和子標題,主標題格式為“站名+天氣實況”,主標題格式為“開始時間+至+結束時間”;legend屬性以數(shù)組的形式存儲不同要素數(shù)據(jù)的圖例;xAxis屬性以數(shù)組的形式存儲資料觀測時間序列;yAxis屬性是對ECharts 圖表中直角坐標系grid中的y軸進行配置,文中繪圖采用的是雙Y軸,左側為折線圖坐標軸,右側為柱狀圖坐標軸,且根據(jù)要素值范圍自適應調(diào)整坐標軸區(qū)間;series屬性是繪圖的基礎數(shù)據(jù),需要解析從服務端返回的JSON格式氣象數(shù)據(jù),按照EChatrs格式要求重組,關鍵代碼如下所示:
站點信息
本文研究的氣象數(shù)據(jù)可視化繪制方法已融入內(nèi)蒙古自治區(qū)降水實況平臺并應用于業(yè)務,氣象業(yè)務人員通過點擊GIS地圖上的站點圖層即可查看各個站點氣象要素可視化圖片,滿足了從事氣象保障活動數(shù)據(jù)產(chǎn)品使用需求,數(shù)據(jù)查詢頁面如圖1所示。
圖1 數(shù)據(jù)查詢頁面