ArcGIS 批次處理檔案 Dissolve

在取得地理資料後

往往會經過一段漫長的處理時間

因為被公布的資料大多時候不會剛剛好符合我們的使用需求

這樣的處理過程,可能是用Excel整理文字,也有可能是要一直切、一直合併

最後才會出現我們我能用的地理資訊
--------------------------------------------------------------------------------------------------------------------------

下面將以基隆市有人口數據的最小統計區SHP為例,進行合併的批次處理

資料可於 "社會經濟資料服務平台" 取得

STEP 1

將基隆市最小統計區SHP開啟



STEP 2

觀察屬性欄位表


CODEBASE:最小統計區
CODE1:一級發布區
CODE2:二級發布區



STEP 3

觀察CODE1與CODE2欄位,看出CODE2欄位有連續相同的地方,代表那幾個是同屬一個二級發布區

因此我想要將這張基隆市最小統計區SHP,把CODE2相同的欄位做合併,如此可以製作出基隆市二級發布區SHP


STEP 4

我們可以利用"Dissolve"的功能來合併這些相同欄位

工具路徑:ArcToolbox\Data Management Tools\Generalization\Dissolve

Dissolve Field:要根據哪個欄位進行相同欄位合併,在這裡就是選擇CODE2


STEP 5

在下半部的部分,是要決定除了要合併的欄位以外,其他欄位哪些要留下來,並且要做怎樣的動作

我想要留下人口的數據就好

所以選擇三個"A0A14"(0~14歲) "A15A64"(15~64歲) "A65UP"(65歲以上)

右邊 Statistic Type是指這個欄位的數據要怎樣呈現在新的圖層

我三個都選擇 "SUM"

**Statistic Type意義依序解釋
          SUM:加總
          MEAN:取平均值
          MIN:取最小值
          MAX:取最大值
          RANGE:最大與最小數值的差
          STD:標準差
          COUNT:個數
          FIRST:取第一個的值
          LAST:取最末的值


--------------------------------------------------------------------------------------------------------------------------

假設CODE2在"A1701-01"這個部分有5個欄位要合併

且後面的欄位我選擇 VALUE

則,以上面的Statistic Type各會變成

如果欄位是"文字"(屬性欄位表字靠左的),則只能選擇 MIN, MAX, COUNT, FIRST, LAST
--------------------------------------------------------------------------------------------------------------------------

STEP 6

如此,即可由最小統計區SHP製作出二級發布區SHP


觀察屬性資料表

該留下的都留下,不想要的都去除了


--------------------------------------------------------------------------------------------------------------------------

那如果我有兩三個欄位都想做 Dissolve呢?

這裡介紹各位一個方法

在ArcGIS軟體中

幾乎 Toolbox 裡每個功能都有批次處理檔案的選項

也就是我可以先設定好每次要操作的步驟和參數

之後讓電腦自己進行多次的功能運作

產出我們所要的檔案

而這個批次處理,在Toolbox的選項中稱為 "Batch"

STEP 7

打開Dissolve的Batch


STEP 8

點擊右邊的的加號增加你要批次處理的次數

我是建議大概要進行四次以上再使用這個功能...四次以內應該重複操作不會太累


STEP 9

雙擊數字位置,就會出現每一個 Dissolve功能

把它依序選擇好,就可以運作了

這次的批次處理,我選擇 CODE2 與 VILLCODE



STEP 10

驗證結果

藍色邊界是 VILLCODE 合併出來的
灰底黑邊的底是 CODE2 合併出來的



總結

Dissolve 在GIS 分析上非常常用,只要是需要計算多個區域的,大概都會使用這個,非常重要!



Batch 是批次處理功能,次數少的話,速度不會比較快,但如果要操作的次數多,先設定好就可免去每個等待運算的時間

沒有留言:

張貼留言