下面以本章開頭的生態區選擇分析為例子,舉例說明此分析在ModelBuilder中如何實現。
1.創建工具箱以及模型
模型是放在工具箱中的。調出 ArcToolbox 的時候,可以看到在 ArcToolbox 窗口有很多系統工具箱。這些工具箱是系統提供的,里面的工具也是固定的,無 法更改。如果要創建模型,就必須在自定義的工具箱中創建。因此在創建模型之前,首先要創建一個工具箱。在 ArcMap 右側的 Catalog 窗中找到實驗數據所在的文件夾(Analysis),右鍵點擊選擇 New —> Toolbox,給新建的工具箱 命名為 HabitatTool。
在新建的 HabitatTool 工具箱上右鍵單擊,彈出菜單中選擇 New —> Model,便新建一個模型。
這時會彈出 ModelBuilder 界面,選擇 Model 菜單下的 Model Properties。
在 Model Properties 對話框里是關于整個模型的一些設置。選擇 General 選項卡,在 Name 和 Label 中均輸入 Habitat,點擊確定。Name 是模型的名 稱,如果在 Geoprocessing 中使用到這個模型的時候,用 name 來引用;而 Label 是模型顯示在工具箱里的顯示名稱。
然后點擊 ModelBuilder 工具欄上的 保存模型。一個空的模型就創建完
成了,現在可以關閉 ModelBuilder 界面。此時在 ArcToolbox 窗口的 Habitat 工具箱下就可以看到剛才創建的 Habitat 模型了。
2.編輯模型
右鍵單擊 Catalog 窗口的 Habitat 模型,在彈出菜單中選擇 Edit,打開 ModelBuilder 界面,開始編輯 Habitat 模型。
模型的組成元素主要有工具、數據、數值和連接器(Connect)。數據是指 地理數據,包括輸入數據和輸出的派生數據;數值是指非地理數據,如某個常數; 工具是指對輸入數據進行處理的操作,由黃色長方形表示;連接器(connect) 是一條表示過程順序的線條。數據元素和工具元素由此相連,連接器的箭頭指明 過程的方向。另外,在 ModelBuilder 中,輸入數據經過工具處理得到派生數據 的這樣一個流程,稱為過程(process)。模型可繁可簡。最簡單的模型可能只有一個過程,但一般模型都是由多個過程組合而成。
工具的添加可以直接從 ArcToolbox 窗口拖拽到 ModelBuilder 窗口來,地 理數據的添加可以直接從 ArcCatalog 拖拽。另外,也可以用 ModelBuilder 界 面工具欄中的 Add Data or Tool… 來添加工具和數據,還可以打開工具對 話框進行輸入參數的設置。
首先創建選擇滿足第一個條件——植被類型的過程。在 ArcToolbox 窗口點 擊 Analysis Tools 工具箱打開,里面有 4 個工具集,點擊打開 Extract 工具集, 在此工具集中點擊 Select 工具。此時的工具是沒有填充顏色的,說明這個工具 還不是一個可以運行的狀態,往往是缺少必填參數。
點擊添加植被類型數據 vegtype,添加后如下圖。
點擊 ModelBuilder 窗口里工具欄上的連接器(connect)按鈕 ,先在 數據 vegtype 上點擊一下,然后在工具 Select 上單擊一下,就在兩者之間添加 了連接,使得 vegtype 成為 Select 工具的輸入參數。此時工具和派生數據都填 充了顏色,表明工具已經是一個可以運行的狀態。
Select 工具是用基于要素類屬性的表達式去選擇輸入數據中的某些要素,然后把選中的要素作為派生數據輸出為一個新的要素類。所以在此工具中還需要輸 入選擇表達式。右鍵點擊(或雙擊)模型中的 Select 工具,在彈出菜單中選擇 Open,打開此工具的對話框。
可以在彈出的工具對話框中直接填寫其他參數, 此時可以看到 Input Feature 這 個 參 數 已 經 有 值 , 就 是 剛 才 用 連 接 器 連 接 的 vegtype 。點擊 Expression 參數下的 SQL 圖標。
在彈出的 Query Builder 對話框中設置選擇表達式如下,點擊 OK 回到工具 對話框,再點擊 OK。針對第一個條件——植被類型的過程就創建好了。
3.針對公路影響來創建過程
第 3 步創建針對第三個條件——公路影響來創建過程。用上面提到的拖拽方法添加 Analysis Tools 工具箱里的 Buffer 工具。此工具可以對輸入 的要素類產生制定緩沖距離的緩沖區。
用第 2 步中的方法添加道路數據 majorrds,用連接器連接道路數據和 Buffer 工具。
指定輸入數據后,就要確定緩沖距離,即道路影響的距離。右鍵單擊 Buffer 工具,彈出菜單中選擇 Open 打開工具對話框。在 Distance 參數的選項中,選 擇 Field,即用字段值作緩沖距離,因為在道路要素類的屬性中有一個 Distance字段表示每條路的影響距離,所以此處使用字段值來作為緩沖距離。然后設定緩沖字段為 Distance,點擊 OK。設置完后,Buffer 工具的派生數據為道路影響 的緩沖區。
4.剔出無效數據
第 4 步是要把第 3 步的結果從第 2 步結果中去除,即找出滿足植被條件 又不在道路影響范圍內的區域??梢允褂?Erase 工具。這個工具有兩個輸 入地理數據參數,一個是 Input Features,一個是 Erase features,工具 的輸出結果要素類為 Input features 中不與 erase feature 相交的部分(即相交部分被丟棄)。在這里把植被數據設定為 Input Features,道路 影響緩沖區數據作為 Erase Features。
往模型中添加 Erase 工具,然后用連接器依次將 vegtype_select(選擇作為 Input Features)和 majorrds_Buffer(選擇作為 Erase Features)與 Erase 工具連接。
5.找出坡度小于 40 度的區域
第 5 步是在第 4 步結果的基礎上再添加第 2 個條件,即在第 4 步結果里找出坡度小于 40 度的區域。
因為已經有了小于 40 度的區域數據,這個操作的實質就是找出小于 40 度 的區域和和第 4 步結果區域中公共的部分。這里使用 Intersect 工具來完成這個 操作。從 ArcToolbox 窗口添加 Intersect 工具到模型,添加小于 40 度的額區域 數據 slopelt40,
用連接器分別將坡度數據及第 4 步的輸出結果與 Intersect 工具連接。Intersect 工具有多個輸入要素類,輸出結果為輸入要素類的公共部分。連接后 模型如下圖:
6.面積必須大于 1089000 平方英尺
第 6 步是在第 5 步的基礎上再增加第 4 個條件,即面積必須大于 1089000 平方英尺。
用第 1 步中的方法添加 Select 工具,添加到模型后此工具顯示名稱為 Select(2),因為在同一個模型中已經有一個 Select 工具。用連接器連接第 5 步的結 果和 select(2)工具,然后右鍵單擊 select(2)工具打開工具對話框,設置 最終輸出要素類和選擇表達式如下:
這樣就完成了整個模型,點擊菜單 Model —> Save 保存,如下圖:
7.運行模型。
點擊 Model 菜單下的 Run Entire Model 按鈕,運行 模型。模型運行過程中,各種狀態會有不同的顯示。例如運行完的結果顯示中增 加灰色陰影,當前正在運行的工具顯示為紅色。全部運行完成后,右鍵單擊結果 選擇 Add To Display,用來將結果數據添加到地圖文檔中進行顯示。
模型運行完后查看結果 Result,與 7.2 中的結果一致。