您當前的位置:首頁 > 文化

【乾貨】ArcGIS批次思維——迭代器的使用

作者:由 凌晨GIS 發表于 文化時間:2021-05-07

相信大家已經看過了小編做過的模型構建器的介紹及實踐,沒看過的可以回顧下《ArcGIS模型構建器的使用》。這個時候就有人問了,上次建的模型雖然能極大程度上簡化了單個任務的流程,比如在雙評價中,就可以將每一個評價都做成模型,最終只需輸入資料和引數,一鍵生成結果,但是假如我有多個同樣的任務,難道還要一次一次的去做嗎?

【乾貨】ArcGIS批次思維——迭代器的使用

誒,這時就必須轉換一下思路了,為了避免重複冗餘的操作,我們可以批次進行啊,而迭代器就很好的幫我們解決了這個問題。顧名思義,迭代器的作用就是為了讓我們的任務在設定的條件下迴圈進行直到達到我們想讓它停止執行的條件(瞎掰的,信則有,不信則無)。

廢話少說,今天小編就以批次裁剪為例,跟大家講述一下迭代器的用法。文章將從多個向量裁一個柵格和一個向量裁多個柵格兩種情

一。多個向量裁一個柵格

多個向量裁剪一個柵格主要指的是有多個向量範圍shp檔案去裁出,例如下面這種情況:

【乾貨】ArcGIS批次思維——迭代器的使用

圖中需要利用abc三個圖層分別對柵格進行裁剪得到相應向量範圍的柵格資料,當向量檔案少的時候還好,可以一個一個去裁,但要是有好幾百個這樣的向量檔案呢,當然有一種方法也可以實現,就是將這些向量檔案合併成1個檔案,然後利用分割面的工具將對柵格進行分割。不過這樣做的話也不能一勞永逸,要想實現工具自由,還得培養批次處理的思想。

操作步驟:

1。首先,按照之前的教程建立一個裁剪的模型,並右鍵工具獲取變數——從引數——輸入柵格,並將其設定為模型引數(放個p)。

【乾貨】ArcGIS批次思維——迭代器的使用

2。然後插入一個迭代器,型別選擇要素類(向量範圍屬於要素類,可根據模型需求對迭代器進行選擇)。

【乾貨】ArcGIS批次思維——迭代器的使用

3。迭代器插入後,將迭代器生成的要素類連線至裁剪工具,做了這一步後還沒完,關鍵在這裡,雙擊裁剪工具,設定輸出檔案命名為“%名稱%”,這裡的名稱指的是迭代器所生成的名稱,然後設定好其他的引數,如使用輸入要素裁剪幾何、環境設定等。

【乾貨】ArcGIS批次思維——迭代器的使用

【乾貨】ArcGIS批次思維——迭代器的使用

4。右鍵迭代器獲取變數——從引數——工作空間或要素資料集,並將其設定為模型引數。

【乾貨】ArcGIS批次思維——迭代器的使用

5。儲存並執行模型

將模型儲存在工具箱下面,具體步驟可參照之前的教程後,雙擊執行,將向量範圍都放在一個資料夾中,設定模型引數後點擊確定,等待結果即可。

【乾貨】ArcGIS批次思維——迭代器的使用

【乾貨】ArcGIS批次思維——迭代器的使用

二。一個向量裁多個柵格

剛剛講了多個向量範圍裁剪一個柵格的情況,那麼一個向量裁剪多個柵格的情況其實就是改變一下迭代器的型別,讓其對多個柵格圖層進行迭代選擇。

操作步驟:

將迭代器換成迭代柵格資料即可,其餘步驟同上,雙擊執行,檢視結果。

【乾貨】ArcGIS批次思維——迭代器的使用

【乾貨】ArcGIS批次思維——迭代器的使用

另外,模型還可以儲存為Python指令碼檔案,所有有時候我們不用懂太多程式語言也能寫出像模像樣的程式碼,就這麼神奇!

【乾貨】ArcGIS批次思維——迭代器的使用

【乾貨】ArcGIS批次思維——迭代器的使用

【乾貨】ArcGIS批次思維——迭代器的使用

你看,是不是很神奇!

好啦!今天的分享就到這裡,希望各位客官喜歡!我們下期再見!

標簽: 迭代  柵格  向量  裁剪  模型