資料表連接¶
警告
本教學已經過時,如需閱讀新的版本請前往 資料表連接 (QGIS3)。
你想要用的資料集可能不是 shapefile,或是任何一種空間資料格式。這些資料的格式往往是表格或試算表,要把它們加入你的資料分析中,必須讓它們和你手上的空間資料產生關聯。操作這件事情稱為資料表連接(Table Join)。這篇教學會說明在 QGIS 中要如何將資料表連接起來。
內容說明¶
我們會使用美國加州的人口統計分區 shapefile,與美國人口調查局提供的人口數資料表,做一份加州的人口分佈圖。
你還會學到這些¶
為 CSV 檔案製作一份 .csvt 檔案,以註明各欄位的資料型態
在 QGIS 中載入不含任何地理資訊的 CSV 檔案
取得資料¶
美國人口調查局提供多種從 MAF/TIGER 資料庫匯出的空間資料。你可以查詢並下載加州的人口統計分區 shapefile。下載 Census Tracts for California 這個檔案。
Americal FactFinder 提供所有美國的人口統計資料。你可以用「進階搜尋」(Advanced Search),查詢 Topic - Total Population 與 Geographies - All Census Tracts in California,以建立並下載我們需要的 CSV 檔案。以下教學使用 Total Population 2010 Census Summary File 1 這份資料。
為了方便起見,你也可以直接用下面的連結下載這兩份資料集:
資料來源 [TIGER] [USCENSUS]
操作流程¶
我們先載入人口統計分區的 shapefile。選擇
。
瀏覽並選擇載下來的
tl_2013_06_tract.zip
壓縮檔。QGIS 可以直接開啟壓縮檔,所以檔案不用事先解壓縮。
選擇
tl_2013_06_tract.zip
圖層並點選 確定。
QGIS 就會載入人口統計分區資料。
圖層上按右鍵,選擇 開啟屬性表格。
檢視 shapefile 中每個分區的屬性。要把表格資料與這份 shapefile 相關聯,圖層中的每個圖徵都需有個共同屬性,其值在每個圖徵中各不相同。在這個例子中,GEOID 屬性可以識別每一個分區,這就可以把這份 shapefile 與任何包含同樣 ID 的表格資料「連接」起來。
用文字編輯器開啟
ca_tracts_pop.csv
這份 CSV 檔案。你會注意到,檔案中的每一列都含有關於某個分區的資訊,其中就有我們在上一步驟看到的識別屬性。注意在這份 CSV 中,有個識別屬性欄位叫作 GEO.id2。你還會注意到 D001 這個欄位記錄了每個分區的人口數。
我們可以不做任何加工,直接匯入這份 CSV 檔案。不過,這樣一來每個欄位預設的資料型態會是「字串」(文字)。這樣通常沒有問題,除了像 D001 這樣包含人口數字的欄位。如果這些數字欄位被當作文字匯入,我們就不能拿這些欄位做數學計算。要讓 QGIS 把這些欄位當作數字匯入,我們必須建立一個 .csvt 的附加檔案。這個附加檔案只會有一列內容,用來指定每一欄位的資料型態。我們把這個附加檔案命名為
ca_tracts_pop.csvt
,儲存到原本的 .csv 檔案所在的目錄。你也可以從這裡下載這個 csvt 檔案。
我們可以把 CSV 檔案匯入 QGIS 了。選擇
。
在目錄下瀏覽並選擇 CSV 檔。注意 檔案格式 要選擇 CSV (逗號分欄值)。這份資料是單純的表格,所以我們得註明檔案中不包含地理資訊。選擇 無幾何欄位 (僅產生屬性表格) ,再點選 確定。
這樣,CSV 檔案就被匯入 QGIS 裡成為一份表格。
選擇
tl_2013_06_tract
圖層,然後按右鍵選擇 屬性。
在 圖層屬性 視窗中,選擇 連結(Joins) 分頁,按下底端的 + 號按鈕,以建立新的資料表連結。
在 加入向量連結 視窗中,連結(Join)圖層 選擇
ca_tracts_pop
,然後我們需要為 shapefile 和 CSV 檔選擇用以連結的獨特屬性,也就是說 連結欄位 要填上 GEO.id2,目標欄位 要填上 GEOID。最後按下 確定。
關閉 圖層屬性 視窗,回到 QGIS 主畫面。現在 CSV 檔中的資料已經與 shapefile 連結在一起了。在
tl_2013_06_tract
圖層上按右鍵,選擇 開啟屬性表格。
現在我們可以看見所有的圖徵都多了幾個新的欄位,包括 ca_tracts_pop_D001 這個欄位。現在你可以從 CSV 的資料表連結存取每個分區的人口了,請關掉屬性表格並回到 QGIS 主視窗。
在
tl_2013_06_tract
圖層上按右鍵選擇 屬性。
選擇 樣式 分頁,然後從下拉式選單中選擇 漸層。由於我們要製作人口分布圖,最好的顏色配置當然是基於人口的數量多寡來決定。在 行 欄位中選擇 ca_tracts_pop_D001,然後再從 色彩映射表 下拉選單中選擇你喜歡的色條。接著在 模式 中選擇 分位數 (每個顏色相同計數)。按下 分類 後,就可看到不同的人口數量被指定成不同顏色,最後按下 確定。
這下我們就視覺化了一張不錯的人口分區普查結果地圖。你可以使用 放大 鈕查看圖層中較小的區域。
精細、準確的加州的人口地圖製作完成。你也可以試著使用同樣的方法針對不同的普查結果製作地圖。
If you want to give feedback or share your experience with this tutorial, please comment below. (requires GitHub account)