使用QGIS實現城市空氣品質指數(AQI)數據可視化

2021-02-19 QGIS課堂

空氣品質情況影響著人們的日常生活和身心健康,空氣品質指數(AQI)是衡量空氣品質情況的一個重要依據,它利用函數將空氣中影響人們健康的幾種主要汙染物化成單一指數值的形式,通過它的大小來判斷空氣品質情況,值越大,空氣汙染情況越嚴重,是目前衡量空氣品質情況最常用的參照指標。

本文以生態環境部今天(2021年1月28日)發布的實時空氣品質指數為例,通過QGIS演示空氣品質指數地圖製作過程,展示QGIS點數據分級可視化和表達式生成文字標註技巧,最終的效果圖如下:

本文的示範數據及圖層樣式文件打包下載地址為:

連結: https://pan.baidu.com/s/1hX0_UsAK-v7xWqTjMuCj2A 

提取碼: krrn 

其中,空氣品質指數來自中華人民共和國生態環境部官網:https://www.mee.gov.cn/。

城市點數據來自天地圖的1:100萬地形數據(2017版),WFS服務地址為:http://gisserver.tianditu.gov.cn/TDTService/wfs。

首先,收集和整理空氣品質指數。從生態環境部將所需要的數據下載,整理為三個欄位:AQI、空氣品質、城市,保存為CSV分隔文本文件。其中AQI為整型欄位,用於製作空氣品質指數分級專題圖;空氣品質是對應AQI分級的中文描述;城市名稱將作為連接欄位與矢量數據掛接。

其次,利用QGIS提取和處理天地圖1:100萬地形數據(2017版)居民點數據。打開QGIS,在【瀏覽】面板找到「WFS/OGC API-Features」節點,右鍵->【新建連接】,在彈出的對話框,名稱填寫「tianditu」,URL輸入:「http://gisserver.tianditu.gov.cn/TDTService/wfs」,點擊【OK】完成WFS連接。

展開【瀏覽器】面板->【WFS/OGC API-Features】->【tianditu】,可以看到該數據服務下共有AANP、AGNP、BOUA、BOUL等十個圖層,對應居民點、行政區劃界線、水系、道路等要素,其中AGNP為帶名稱的居民點,將其拖拽到地圖窗口,同時打開對應的屬性表,觀察數據情況:

可以看到,AGNP圖層共包含OBJECTID、CLASS、NAME、PINYIN、GNID、XZNAME六個欄位,其中CLASS表示居民點分類,通過分析可知,當CLASS取值為「AD」時,可提取到城市點。

點擊屬性表窗口左下角的下拉菜單,選擇【高級過濾(表達式)】,打開表達式字符串過濾器,輸入下列表達式篩選出城市點:

點擊【OK】完成表達式篩選,返回屬性表窗口,共過濾出415個要素,點擊表格左上角,選中所有過濾結果:

切換到QGIS地圖主窗口,右鍵點擊【圖層】面板->【AGNP】->【導出】->【另存選中的要素為…】,彈出【矢量圖層另存為】對話框,設置如下參數:

格式:GeoPackage;

文件名:任意存儲路徑\city.gpkg;

其他參數保持默認,點擊【OK】將篩選到的城市點保存為單獨的圖層。

最後,建立空氣品質指數與城市點數據的連接。在【瀏覽器】面板找到上一步驟保存的城市點圖層和空氣品質指數,拖拽到地圖窗口。右鍵點擊城市點圖層->【屬性】->【連接】: 

點擊左下角的 按鈕,打開新建連接對話框,設置如下參數:

連接圖層:AQI20210128;

連接欄位:城市;

目標欄位:NAME。

點擊【OK】完成連接設置。

關閉圖層屬性對話框,返回QGIS主窗口,打開城市點圖層的屬性表窗口,可以看到屬性欄位增加了AQI、空氣品質和城市,說明AQI數據已經連接到城市點圖層:

至此,數據預處理工作完成,開始空氣品質指數地圖可視化設置。

根據我國生態環境部科技標準司於2012年發布的《環境空氣品質指數(AQI)技術規定(試行)(HJ 633—2012)》,我國的空氣品質指數可以分為六個等級,具體分級標準如下:

使用QGIS的「漸進」渲染,可以將上述標準表達在地圖上。

選中城市點圖層,點擊【圖層】面板上方的 按鈕,打開【圖層樣式】面板,點擊渲染器下拉框,選擇「漸進」渲染:

設置「漸進」渲染的參數如下:

值:AQI20210128_AQI;

圖例格式:精度-2,勾選「裁剪」;

模式:等數量(分位數);

類:6。

點擊【分類】按鈕,將城市的AQI分為6個等級,如下圖:

默認的分級斷點和樣式與我國的標準並不一致,需要手工調整。首先,修改一級AQI的符號顏色為標準規定的綠色,RGB值為(72, 228, 0):雙擊分類第一行中的【符號】, 在符號圖層選中【標記】->【簡單標記】->【填充顏色】->【選擇顏色】,分別填入顏色的R、G、B分量:72, 228, 0。

第二步,修改分級的上下限。雙擊第一行的【值】,彈出上下限設置對話框,輸入【下界值】為0;【上界值】為50:

最後,修改圖例的文字,雙擊第一行的【圖例】,進入編輯狀態,輸入文字「優」:

按同樣步驟完成其他AQI級別的符號、上下限、圖例的修改,完成後效果如下圖:

在【圖層樣式】面板,切換到 標註標籤頁,選擇「單一標註」,點擊【值】右側的 按鈕,打開【表達式對話框】,輸入如下表達式作為標註的內容:

"NAME"  ||  '\n'  || "AQI20210128_AQI"

接下來設置標籤的背景顏色。切換到 背景,勾選「繪製背景」,設置【大小 橫坐標】為2,【縱向大小】為0.5,點擊【填充顏色】右側的 按鈕,打開【表達式字符串構造器】對話框,輸入如下表達式設置標註的背景色:

此時可以看到,有些標註壓蓋了城市點,需要設置標註的位置以解決壓蓋問題。切換到 位置,將【模式】設置為「離點偏移量」,【橫、縱坐標偏移】分別輸入0.0000,-6.0000。

為了明確標註與城市的對應關係,可以繪製引出線,即標註牽引線。切換到 引出線,勾選「繪製引出線」,將【從要素偏移】設置為1毫米。

最後,為地圖選擇一個比較素淨的網絡地圖作為背景圖,本文選擇使用OpenStreetMap monochrome作為底圖,其XYZ連接URL為:http://a.tiles.wmflabs.org/bw-mapnik/{z}/{x}/{y}.png。也可以使用國內的天地圖、高德地圖等(關於如何加載網絡地圖,請參考:淺談XYZTiles 和 通過QGIS XYZ Tiles訪問國內四大圖商地圖服務)。最終效果如下:

從圖中可以看出,我國冬季空氣汙染「北高南低」的布局特點仍然非常突出,今天(2021年1月28日)華北平原普遍汙染較嚴重。本人在鄭州,從昨晚開始颳起大風,汙染物大部分來自揚沙,對空氣品質情況的感受與圖中所展示的數據相一致。


相關焦點

  • Python實現抓取城市的PM2.5濃度和排名
    本文給大家介紹的是一則使用Python實現抓取城市的PM2.5數據和排名,主機環境:(Python2.7.9
  • 如何用 Python+KNN 算法實現城市空氣品質分析與預測?
    作者 | 李秋鍵   ;   責編 | 伍杏玲出品 | CSDN(ID:CSDNnews)隨著中國工業和科技的發展,中國的一些發達城市的空氣品質問題變得越來越嚴重,其中最為嚴重的便是PM2.5帶來的惡劣環境問題。
  • 空氣品質指數
    二、空氣品質指數術語和定義1. 空氣品質指數(air quality index,AQI):定量描述空氣品質狀況的無量綱指數。2. 空氣品質分指數(individual air quality index,IAQI):單項汙染物的空氣品質指數。3.
  • Python可視化 | 日曆圖與熱力圖的可視化教程
    本文以2019年全國各城市的空氣品質觀測數據為例,利用matplotlib、calmap、pyecharts繪製日曆圖和熱力圖。在繪圖之前先利用pandas對空氣品質數據進行處理。數據處理如果要繪製全年的日曆圖或者熱圖,首先要將所有的數據進行合併處理。
  • 記者揭密:上海空氣品質指數是如何產生的?
    隨著社會對於空氣品質的關注,上海人從出門看天氣增加了出門看「氣質」。不過,這個數字是怎麼形成的,能否代表當下空氣品質的最真實現狀?記者近日走進上海空氣品質監測和預報的幕後團隊,為市民尋求答案。上海環境監測中心是申城空氣品質指數的誕生地。一支20餘人的專業團隊在此採集、分析相關環境數據,並對未來48小時內的空氣品質走勢做出預報。其結果通過上海環境官方網站等十餘種渠道對外發布。
  • 全球空氣品質指數預測 -- AirVisual #iOS
    前兩天的北京被突如其來的厚重霧霾籠罩
  • Python:數據分析實戰之AQI分析(完整版)
    (2)對城市的空氣品質按照等級劃分,每個等級城市數量分布情況如何?      (3)空氣品質在地理位置分布上,是否具有一定的規律性?    5.2 推斷統計分析   (1)臨海城市的空氣品質是否有別於內陸城市?   (2)全國城市空氣品質普遍處於何種水平?    5.3 相關係數分析  (1)空氣品質主要受哪些因素影響?
  • 專注與細節,成就最好的空氣品質指數 AppStory #2
  • 小O地圖v0.9.1.0-新增查詢城市空氣品質功能
    【下載登陸官網地址:www.GIS9.com】本文介紹使用小O地圖進行城市空氣品質查詢功能,空氣指標包括AQI(空氣品質指標)、PM2.5、CO、SO2等含量值,並能夠以坐標點位的方式在地圖上標註出城市不同區域空氣狀況,指標為實時採集,可適用於科研機構、高校師生、企業單位對於空氣品質指標數據的需求,也支持將數據保留歷史
  • Python數據分析|SECTION2 Pandas 5.0
    獲取 MSData 中的成都市的一個月的空氣品質數據,通過 AQI 指數值來判斷空氣品質屬於哪一等級,根據《環境空氣品質指數(AQI)技術規定(試行)》規定:空氣汙染指數劃分為 0-50、51-100、101-150、151-200、201-300 和大於 300 六檔,對應於空氣品質的優、良、輕度汙染、中度汙染、中度汙染和嚴重汙染六個級別,
  • 數據視覺盛宴:十大優秀可視化作品揭示行業前沿趨勢
    九次方大數據藉助3D可視化引擎技術,打造出「A-北鬥」服務運營平臺,在將沉悶繁冗的定位數據轉化為炫酷、直觀、易於分析的視覺效果的同時,基於標準化的數據科學研究方法,成功實現了人群軌跡分析、重點區域監測、城市生活指數、特定設備追蹤
  • 推薦:我們有哪些空氣品質APP可以用?
    然而,每個天氣應用的實時數據會有出入,有些甚至超過50—跨越了一個空氣品質級別,這還直接導致了每個應用給予的用戶建議都不同。出處不同在國內,空氣品質指數的權威數據有兩個來源,一個是我國的環境監測總站,包括各個地方的監測分站,另外一個就是美國大使館的監測數據。
  • 可視化之AQICN
    先做一個提示:文末有驚喜~該網站在中國有一定的權威性,PM2.5數據有一點敏感,它竟能提供全球級別,實時的,詳盡的AQI數據,以及每個站點的經緯度(精度在十米內),它的口號「provide information as clean as the air one wish to have」——提供的每一份數據,如同每個人所期望的空氣那樣乾淨。
  • 全球重要城市開放數據指數發布,廣深等中國6座城市進前十
    該報告顯示,全球排名前20的城市中,中國城市有9個,其中廣州排名第7、深圳第8。  《2021全球重要城市開放數據指數》由上海社會科學院綠色數位化發展研究中心編制發布,2019年首次發布以來受到普遍關注。
  • #Stata入門:網絡下載數據導入Stata與清洗
    網絡下載數據導入Stata與清洗0 數據介紹之前介紹過氣象數據和空氣品質數據在哈佛網站上的獲取方式,具體詳見如何獲取2020年以來日度氣象數據以及如何免費獲取權威的地級市日度空氣品質數據。今天主要介紹數據下載後,如何導入Stata中,並將數據整理為標準的面板數據。才從之前介紹的網站上卸載後的數據是CSV格式。
  • 浙江環保官方權威發布 空氣品質APP
    「浙江空氣品質」APP平臺是由浙江省環保廳官方指定的全省城市空氣品質發布系統,是全省手機空氣品質數據唯一官方發布渠道,數據由浙江省環境監測中心提供。APP平臺數據主要包括:空氣品質指數(AQI)、可入肺顆粒物(PM2.5)、可吸入顆粒物(PM10)、臭氧(O3)、一氧化碳(CO)、二氧化硫(SO2)、二氧化氮(NO2)、氣象數據,共8大項。覆蓋浙江省11個設區市和55個縣級城市,共153個環境空氣品質監測站的環境空氣品質監測數據和預報預警數據可供實時查看。
  • QGIS基本功 | 1 QGIS的下載與安裝
    因此,如果必須使用特定的最新功能可以考慮下載最新版本,否則建議下載並使用長期支持版本。如果需要更加深入地了解QGIS的版本規則,可以點擊這裡。 POI規範-分類編碼-高德地圖POI規範-城市編碼-高德地圖城市POI數據更新(免費下載)20個城市POI數據更新 北京20個城市POI數據更新 重慶市20個城市POI數據更新 上海市20個城市POI數據更新 成都
  • 萍鄉空氣汙染指數勇奪全省第一,大家一起喊環保局長出來散步
    (查閱歷史信息可閱讀當日信息) 《微萍鄉》編輯查詢了「全國空氣品質指數」APP的相關資料,該軟體聲稱:「最可信賴的空氣品質查詢工具,實時播報全國 200 多個主要城市的空氣品質指數,數據來自於中國環保部與美國大使館。」
  • 浙江空氣品質APP平臺,點點手機,就知空氣品質
    除了下不下雨、氣溫多少,你一定還關心空氣品質怎麼樣,出門要不要戴口罩?近日,浙江空氣品質APP平臺正式上線。安裝後,只要點點手機,便知樂清空氣品質。樂清人一覺醒來,仿佛來到了海南。如果在被窩裡就知曉天氣,你怎樣穿才配得上這樣的好天氣呢?