使用處理框架進行批次處理 (QGIS2)¶
警告
本教學已有新的版本,請前往 使用處理框架進行批次處理 (QGIS3)。
QGIS 2.0 引進了一個稱為處理框架(Processing Framework)的新概念。它的前身是 Sextante,旨在為 QGIS 提供可以用來執行原生或第三方提供的演算法來處理資料的環境。此概念包含一個很棒的批次處理介面,讓使用者可以簡單地對許多圖層執行程式計算。這個批次處理工具可以自動處理重複的工作,為你省去許多時間精力。
內容說明¶
我們要只使用一個批次指令,來裁切幾個全球的向量圖層的非洲大陸區域資料。
你還會學到這些¶
融合 (Dissolve) 圖層中具有相同屬性的多邊形圖徵
取得資料¶
Natural Earth 可以載到以下幾個向量圖層:
下載後,把所有的 shapefile 都解壓縮到同一個資料夾。
資料來源 [NATURALEARTH]
操作流程¶
選擇
。
選擇剛下載的 Admin 0 - Countries
ne_10m_admin_0_countries.shp
並按下 確定。
由於我們的任務是裁切全球圖層到非洲大陸的範圍,因此需要先準備一個多邊形圖層,描繪出非洲大陸的外框。本圖層具有一個稱為 CONTINENT 的屬性,我們可以利用一個稱為「融合(Dissolve)」的地理運算工具,來融合所有具有相同屬性的非洲國家(多邊形)成為一個大的多邊形。
選擇 融合 工具。
,開啟
在 輸入向量圖層 中輸入
ne_10m_admin_0_countries
,融合欄位 選擇CONTINENT
,輸出檔命名為continents.shp
,然後勾選 加入結果至 QGIS 地圖中。
備註
如果你想要不管屬性、融合所有的多邊形的話,可以在 融合欄位 中選擇 – 全部融合 –,這樣的話所有的多邊形就會融合成一個。
融合的處理需要一些時間。當處理完畢後,名為
continent
的新圖層會加到 QGIS 中,使用工具列上的 選取圖徵 工具,點選非洲大陸,把大陸外框的多邊形選取起來。
在
continents
圖層上按右鍵選擇 存檔為…,勾選 儲存僅選取的圖徵。(譯按:舊一點的 QGIS 版本可以直接選擇 儲存選取範圍為…)
輸出檔案命名為
africa.shp
,由於我們只需要大陸的形狀,不在乎其屬性值,因此 忽略屬性建立 的框框也可以勾選起來。順便確認 加入儲存檔案至地圖中 有勾選後,按下 確定。
現在 QGIS 已載入了
africa
圖層,圖層內只有一個非洲的多邊形。現在我們可以開始批次剪下檔案了。開啟 。
在所有可用的運算法中搜尋並找到 裁切(Clip)工具。它可能會放在 目錄底下,或是舊版的 底下。你也可以使用 搜尋 框簡單查詢此運算法的位置。
右鍵點選 裁切 運算法然後選擇 以批次方式執行。
在 批次處理中 的視窗中,第一個分頁「參數」就是我們給定輸入檔案的地方。請點選第一行的 輸入圖層 框旁邊的 … 按鈕。
切換至你剛下載的有關全球交通的 shapefile 的資料夾,按住 Ctrl 鍵然後選擇所有你想要裁切的圖層。你也可以使用 Shift 或 Ctrl-A 進行多重選取。接著按下 開啟舊檔。
你會看到 輸入圖層 欄位現在已經自動填上我們剛才選擇的檔案。你可以使用 加入一列資料 的按鈕增加更多欄位,一次處理更多資料。接下來,我們要選擇含有裁切邊界的圖層,因此請點選 裁切圖層 旁邊的 … 鈕,選擇
africa.shp
。由於我們要用同一個圖層裁切所有的輸入檔,因此可以在 裁切圖層 的標題地方點兩下,此圖層就會自動填到所有的空白行中。接下來我們要設定輸出檔案,請點選在 剪下 一欄旁邊的 … 鈕。
瀏覽到你想要儲存輸出檔的資料夾內,檔名輸入為
clipped_
,然後按下 存檔。
你會看到有個 自動填滿選項 的視窗出現。自動填滿模式 選擇 填上參數值,使用的參數 選擇 輸入圖層。此設定會讓所有的輸出檔檔名為輸入檔檔名之前再加上
output_
文字。此步驟非常重要,務必確認出各個輸出檔檔名都是獨一無二的,才不會發生互相覆蓋的情況。
現在批次處理已經準備就緒,請按下 Run。
裁切運算將執行在你剛剛指定的輸入檔上,然後製作成為輸出檔。批次處理完成後,產生的圖層會載入到 QGIS 中,你會發現這些全球的圖層都被裁切到只剩下非洲大陸的區域了。
If you want to give feedback or share your experience with this tutorial, please comment below. (requires GitHub account)