李成淵 彭偉明 俞越



摘? ?要:本系統主要針對北京冬奧會和杭州亞運會的舉辦地,創造性地利用大數據環境下的公開信息,在環境大數據開放平臺總共包含986 116 523的存儲記錄中,根據項目需求,篩選出435條記錄,包含16 965個有效信息,利用52條折現、52個氣泡以及52個柱形便表示出兩大賽事歷史天氣及空氣質量的數據性參考。利用牛刀云設計平臺,輔以兩大賽事主要介紹以及氣候匯總,最終以微信小程序的形式發布。
關鍵詞:Python;微信小程序;界面布局
2022年北京冬季奧林匹克運動會由北京市和張家口市聯合舉行。北京朝陽、海淀和房山地區將承辦所有冰上項目,北京市的石景山區和張家口崇禮等地區將承辦所有的雪上項目。
2022年杭州亞運會將于2022年9月10日至25日舉行,以杭州為主辦城市,同時輻射至寧波、金華、紹興、湖州其他省內城市。
氣象條件與體育運動成績關系十分密切。濕度對人體的影響主要是在熱代謝和水鹽代謝方面[1],濕度太大運動員會感到煩惱郁悶,濕度太小又有干渴煩躁的感覺。良好的氣象條件和相對完善的氣息服務也是冬奧會、亞運會成功舉辦的關鍵因素之一。
本系統主要對北京、張家口冬奧會和杭州亞運會過往年份中比賽對應時間的氣溫、濕度和PM2.5值等要素進行統計分析,并利用微信小程序[2]呈現這兩大賽事在各舉辦地區的歷史同期數據,讓參賽人員和觀眾掌握當地動態,為賽事舉辦期間的氣候條件等做好信息參考服務。
1? ? 開發環境簡介
本系統主要采集環境大數據開放平臺http://www.envicloud.cn/home?title=0中的公開數據,數據主要來自于“指定日期歷史天氣”和“城市指定日期空氣質量”的有關歷史數據。在環境云的采集過程中使用了Python3.7。
1.1? Python
Python是一種計算機程序設計語言,是一種面向對象的動態類型語言,最初被設計用于編寫自動化腳本(shell),隨著版本的不斷更新和語言新功能的添加,越來越多地被用于獨立的、大型系統的開發。
Python提供應用程序編程接口(Application Programming Interface,API),能方便地進行系統維護和管理,Linux下標志性語言之一是很多系統管理員理想的編程工具。
1.2? 環境大數據開放平臺
環境大數據開放平臺是一個專注于提供穩定、便捷的綜合環境數據服務的平臺,收錄專業數據源(國家環保部數據中心、美國全球地震信息中心等)所發布的各類環境數據,接收云創自主布建的各類環境監控傳感器網絡(包括空氣質量指標、土壤環境質量指標檢測網絡)所采集的數據,結合相關數據預測模型生成的預報數據,依托數據托管服務平臺萬物云所提供的數據存儲服務,推出了一系列功能豐富、便捷易用的綜合環境數據REST API,配合詳盡的接口使用幫助,為環境應用開發者提供豐富,可靠的氣象、環境、災害以及地理數據服務。此外,環境云還為環境研究人員提供了歷史數據報表下載,并向公眾展示環境實況[3]。
1.3? 牛刀云
牛刀云開發支持小程序制作、電商模板、公眾號等應用開發,是服務于初中級開發者的課程,是從零開始講解快速開發小程序、制作電商模板的開發工具平臺。牛刀云是WeX5,BeX5在云時代的新一代產品,提升了WeX5和BeX5的核心理念和關鍵優點,包含WeX5和BeX5幾乎全部能力,保持框架和組件源碼開放的好傳統,并做了一些重大的突破。
2? ? 系統詳細設計
2.1? 數據準備
注冊環境大數據開放平臺之后,賬戶將獲得用戶私鑰,為訪問其接口做好識別準備。使用Requests庫工具,以json格式獲得對應數據。從環境云平臺所采集到的數據以文本形式體現。該處理過程中,所采集文件主要調用json.loads方法,完成數據字典類型解析,以便于系統進行后期讀取與檢索。
由于環境云為保存所有城市的所有歷史數據,會產生空集,通過Python對數據進行篩選后,可以形成有效的數據集合。
天氣數據抓取方面,本項目主要使用jmespath中search方法進行,而最終作圖需要多數據讀取,所以項目考慮采用list類型來保存每個數據。
為使采集到的數據最終可視化,系統導入matplotlib庫, 完成可視化圖形繪制,系統導入matplotlib庫, 完成可視化圖形繪制。
(1)氣溫折線圖繪制:使用plot方法進行折線繪制,list10為x軸刻度,list1,list2,list3,list4為y軸刻度之前保存的數據,繪制折線圖。
(2)濕度氣泡圖繪制:為顯示濕度信息,項目采用Matplotlib庫,進行氣泡圖繪制,使用scatter方法,其中list10為x軸刻度,list1為y軸刻度,s為氣泡大小,這里直接將y軸數據放大后作為s值。
對比兩個城市,可以看出南方城市的濕度相對較高,由于降水量大,杭州的濕度一直保持在高點,而北京的濕度一直偏低,說明北方的降雨量較少。
(3)條形圖繪制:為表示各城市歷史日期PM2.5值的對比,項目使用bar繪制方法進行比對,期中list10為x軸刻度,list1為y軸刻度,alpha設置透明度。
根據網絡公開數據,本系統分析北京冬奧會以及杭州亞運會所有比賽項目所涉及的13個運動場館的地理信息,并形成小程序頁面分布作為主要參考,其分布如圖1所示。
2.2? 展示項目主頁面
新建頁面“主頁面”將導航欄命名為“2022年,北京冬奧、杭州亞運氣候指南”背景色采用#B6D7A8、黑色字體,在頁面上采用了3個視圖布局組件(view視圖容器)構建了視圖1、視圖2、視圖3這3個部分。在視圖1中使用幻燈片組件,添加4個滑塊視圖加載了4張有關于北京冬奧會和杭州亞運會的宣傳圖片,為其設置自動輪播且銜接輪播圖片。在視圖2中使用了8個行列布局形成兩個按鈕和6個文本框,并且在文本框里使用內容工具“文本”寫入“北京冬奧 Olympic Games >”“杭州亞運Asian Games >”字樣,設定文本框和字體顏色分別為藍色和紅色。在視圖3中使用3個行列布局形成3個居中的文本框格式,在文本框中添加字樣。
2.3? 北京冬奧會頁面詳細設計
在主頁下新建一個子頁“冬奧會”,在頁面上用3個視圖布局組件(view視圖容器)將頁面分為視圖1、視圖2、視圖3這3個部分。視圖1中使用幻燈片內容組件,添加3個滑塊項目,加載了“2022年北京冬季奧運會圖標”和兩張冬奧宣傳圖,設其為自動輪播且輪播圖片。視圖2中添加文本框使用內容工具“文本”寫入對2022年北京冬季奧運會的介紹。添加兩個行列布局形成兩個文本框格式,設定屬性居中,邊框顏色為#134f5c。在第一個文本框中輸入“開閉幕式”字體,顏色為藍色,設定事件為打開子頁“朝陽”。第二個文本框中輸入“展示中心”字體顏色為#134f5c,設定事件為打開子頁面“石景山”。在視圖3中添加15個圖片組件,格式大小為69×69 px。在圖片組件中插入冬奧會各個比賽項目的圖標,分別設定事件為打開每個項目所對應場館的子頁。
在主頁下新建一個子頁“北京”,在頁面上用6個視圖布局組件(view視圖容器),將頁面分為視圖1、視圖2、視圖3……視圖6這6個部分。視圖1中使用幻燈片內容組件,添加3個滑塊項目加載了北京地區的3個比賽場館圖,設其為自動輪播且銜接輪播圖片。視圖2中添加文本組件介紹北京地區所舉辦的賽事項目以及北京的氣候、人文等資料。視圖3中插入圖片組件將“北京近三年九月份氣溫變化曲線圖”導入,圖片格式默認,圖片像素為340×240。視圖4中插入文本對于該氣溫曲線圖的詳細分析。視圖5插入圖片組件,將“北京近三年九月份濕度均值對比氣泡圖”導入,圖片像素為340×240。視圖6中插入文本對于該氣泡圖的詳細分析。
類似北京主頁面,新建一個子頁“朝陽”,海淀、石景山、崇禮、張家口、房山、延慶等頁面,完成各城市歷史同期氣候條件的展示,如圖2所示。
2.4? 杭州亞運會頁面詳細設計
在主頁下新建一個子頁“亞運會”,在頁面上用3個視圖布局組件(view視圖容器)將頁面分為視圖1、視圖2、視圖3這3個部分,視圖1中使用幻燈片內容組件,添加3個滑塊項目加載了“2022年杭州亞運會圖標”和兩張杭州亞運宣傳圖,設其為自動輪播且銜接輪播圖片。視圖2中添加文本框使用內容工具“文本”寫入對杭州亞運會的介紹。添加一個“行列”布局形成一個文本框格式,設定屬性居中,邊框顏色為#134f5c。在第一個文本框中輸入“開幕式、閉幕式”字體顏色為#134f5c,設定事件為打開子頁“杭州”。在視圖3中添加56個圖片組件,格式大小為43×43 px。在圖片組件中插入亞運會各個比賽項目的圖標,分別設定事件為打開每個項目所對應場館的子頁。
在主頁下新建一個子頁“杭州”,在頁面上用8個視圖布局組件(view視圖容器)將頁面分為視圖1、視圖2、視圖3……視圖8這8個部分。視圖1中使用幻燈片內容組件,添加3個滑塊項目加載了杭州市的3個比賽場館圖,設其為自動輪播且銜接輪播圖片。視圖2中添加文本組件介紹杭州地區所舉辦的賽事項目以及杭州的氣候、人文等資料。視圖3中插入圖片組件將“杭州近三年九月份氣溫變化曲線圖”導入,圖片格式默認,圖片像素為340×240。視圖4中插入文本對于該氣溫曲線圖的詳細分析。視圖5插入圖片組件,將“杭州近三年九月份濕度均值對比氣泡圖”導入,圖片格式默認,圖片像素為340×240。視圖6中插入文本對于該氣泡圖的詳細分析。視圖7插入圖片組件將“杭州近三年九月份PM2.5均值對比柱狀圖”導入,圖片格式默認,圖片像素為340×240。視圖8中插入文本對于該柱狀圖的詳細分析。如圖3所示。
同于杭州賽區頁面,新建一個子頁金華、象山、德清、寧波頁面,完成各城市歷史同期氣候條件的展示。
3? ? 結語
本系統創造性地利用大數據環境下公開信息,在環境大數據開放平臺總共包含986 116 523條存儲記錄中,根據項目需求,篩選出435條記錄,包含16 965個有效信息,利用52條折現、52個氣泡以及52個柱形便表示出兩大賽事歷史天氣及空氣質量的數據性參考。
采集到我國未來3年內將舉辦兩項重大體育賽事—北京冬季奧運會和杭州亞運會各運動場館所在位置的天氣與控制質量數據,本項目通過微信小程序設計來進行數據信息的呈現,以達到有效、便捷之效果。
[參考文獻]
[1]趙杰修,馮連世.高溫高濕環境與運動性疲勞[J].中國運動醫學雜志,2008(2):238-242.
[2]張露.微信小程序對新聞類APP的影響研究[J].傳播力研究,2018(18):19-20.
[3]陸衛榮,張悅,冒立鑫,等.基于微信小程序的氣象服務系統[J].電腦編程技巧與維護,2019(6):55-58.
Design of weather assistant WeChat program for Beijing
Winter Olympics and Hangzhou Asian Games
Li Chengyuan, Peng Weiming, Yu Yue
(Wuxi City College of Vocational Technology, Wuxi 214000, China)
Abstract:This system mainly aims at the hosting place of Beijing Winter Olympics and Hangzhou Asian Games, creatively utilizes the open information under the big data environment. In the open platform of big data environment, there are 986 116 523 storage records. According to the project requirements, 435 records are screened out, including 16 965 valid information. Using 52 discounts, 52 bubbles and 52 columns, the history days of the two major events can be expressed. Data reference of air and air quality. Using Niu Daoyun design platform, supplemented by two major events and climate summary, it was finally released in the form of WeChat applet.
Key words:Python; WeChat applet; interface layout