用 QGIS 連接 (joins) 維基百科製作世界各國民主指數 (Democracy Index) 地圖

qgis 載入向量世界地圖資料表連接民主化程度資料庫

 

烏克蘭和俄羅斯戰爭開打到現在已將近半個月了,在這場侵略行動中我們可以看到極權國家領導人貪得無饜的嘴臉以及戰火下百姓無奈的悲嘆。無論這場侵略行動是否會演變成第三次世界大戰的導火線、烏克蘭是否會被俄羅斯併吞或中共會不會侵略台灣,身處高衝突區域的我們首先得弄清楚各個國家的現況。而看清世界局勢的方法有很多,用民主與自由開放程度來評估就是一個很常見的方法。

本文糊塗流浪貓將介紹如何引用維基百科的資料,把世界各國的民主與自由程度做成一張視覺化的地圖。



 

專案資料設置

以下是筆者習慣的檔案配置圖,你可以依照自己喜歡的方式存放檔案。QGIS 在 2.8 之後的版本預設用相對路徑來讀取所有載入的檔案。因此只要將文件配置好,就能帶著專案資料夾到處跑,不必擔心開啟後找不到檔案。


QGIS 專案資料夾設定



QGIS-World-Democracy-Index #專案目錄
--QGIS-World-Democracy-Index.qgs 
--raster: 正射影像點陣圖 (jpg,ecw) 或 DSM 等。
--vector: 幾何向量地圖檔 (shp,gpkg)
--data: 串接資料檔 (csv,xls,odt)
--pic: 具有 GPS 座標位置的圖片
--file: 其他

 

資料串接工作流程 (WorkFlow)

在開始工作之前,需先確定串接資料地圖檔的欄位中有相同的國家名稱欄位,之後才能用 join 功能將兩個資料表連接起來,並且用符號學工具 (Symbology) 來展示其民主化程度。

 

地圖與資料來源

世界地圖檔來自 Natural Earth 提供的地球文明資料集,它從基本的地形圖、DSM、道路、人口密集城市、國家縣市洲 shp 檔應有盡有,可說是 GIS 從業人員居家旅行、殺人滅口的必備資料。

本文採用地圖集中的 ne_10m_admin_1_states_provinces 作為示範。

 

從維基百科中輸出 Democracy Index 資料庫的程式碼

export-data-wiki 維基資料庫輸出

 

SELECT ?item ?itemLabel ?value
{
  ?item wdt:P8328 ?value .
  SERVICE wikibase:label { bd:serviceParam wikibase:language "en,en"  }
}
LIMIT 1000

 

各國民主化資料來自維基維基百科的 Democracy Index,它是由英國《經濟學人》(The Economist) 所恆量出的民主指數。我們可以透過維基資料的查詢來輸出我們所需要的資料集。

 

世界地圖與民主化資料進行串連

將世界各國 Democracy-Index 資料和 admin_1_states_provinces 地圖載入 QGIS 。

 

匯入地圖和串接資料

國家民主化程度資料集

 

雖然 Natural Earth 的地圖欄位資料相當豐富,但本專案我們僅會用到國家欄位 (admin) 作為資料串接依據,因此可以在圖層設定中將用不到的欄位刪除,讓資料呈現更為精簡。翠習

 

刪除不必要的欄位

 


進行資料連結 (joins)

3-joins-data 資料表連接


Properties > Joins



Join layer: 選擇串接資料 Democracy-index-P8328
Join filed: itemLabel
Target filed: admin #將資料連接到世界地圖的 admin 欄位
Dynamic form: 勾選
Custom filed name prefix: 勾選後可自訂串接欄位名稱

 

向量地圖與資料庫串接成功 
 成功將地圖與資料庫進行連結

 

連接到地圖上的民主化資料庫欄位 

 檢視連接到地圖上的民主程度資料

 


符號學套色 
 用符號學工具 (symbology) 套色

 

地圖與資料庫串接後套色展示 
 台灣民主程度

 

世界民主指數

 

台灣與中國民主指數 

 台海與鄰近國家民主自由程度

 

歐洲地區民主指數

 

美洲民主指數

 

烏克蘭鄰國民主指數 
 加上國界與國名標籤,讓地圖視覺化程度更高

 

 

資料連接原理解說

只要 Join filed 和 Target filed 兩者有相同的國家名稱,就會載入 Democracy-Index-P8328 資料中的 value 成為地圖中的 joins 欄位。

 


結語

一個國家是否有辦法避免掌權者暴走,才是會不會開戰的關鍵。俄羅斯之所以能發動戰爭,其中一個原因就是普丁已經擺平了俄羅斯境內的反對意見,因此他才能肆無忌憚的向烏克蘭開戰。

當然,民主國家沒有比較高尚,自由開放程度也非侵略其他國家的依據。但民主國家確實可以避免因為領導者個人意志而任意開戰。簡單來說,民主國家的總統比較難胡搞瞎搞,就算真的胡作非為,國內通常也會有相對應的反對力量制止他 (例如川普)。而極權國家如果上台的是個神經病,人民只能自求多福了。

 

 

延伸閱讀

製作地圖 (QGIS3)

Natural Earth Quickstart Kit

Natural Earth Downloads

免費世界地圖 GIS 圖資習熊維尼

維基百科資料串接

Democracy Index rating of a country

更多 QGIS 教學

 

留言

這個網誌中的熱門文章

寶鐘瑪琳中之人前世照片、年齡分析