ArcGIS填補面圖層的細小空白並刪除主體部分外的零散部分

疯狂学习GIS發表於2024-11-23

  本文介紹在ArcMap軟體中,基於消除面部件(“Eliminate Polygon Part”)工具,對向量面要素的零碎空洞區域加以刪除,同時將遊離於要素主體之外的部分剔除的方法。

1 前言

  在上一篇文章ArcMap用一個面要素擦除另一個面要素的部分中,我們利用“擦除”(“Erase”)方法,對一個包含水體與陸地的研究區域,剔除了其中的水體部分。可是所得到剔除後的區域並不是很理想,如下圖所示。

image

  在這裡,有兩個問題。

  首先,可以看到,其中含有很多零碎的空洞區域:

  這些零碎區域可能在實際情況中,確實是小水塘、小水渠、小水溝等面積較小的水體部分,但是對於一些研究而言,出現這種零碎的區域可能會影響後期空間分析的計算效率,沒必要保留。

  其次,可以看到,有一些區域單獨遊離於整體的面要素之外,也就是其沒有與面要素的主體部分具有連線:

  這些區域在實際情況中,可能是水體上的小島或橋體等,但是如果我們後續研究對於這一部分割槽域分類的精度要求不大的話,這些小塊塊對於計算速度同樣有著負面的影響。

  因此,我們希望將上述前者零碎空洞區域補全,將上述後者單獨遊離區域剔除,該怎麼辦呢?

2 零碎小面積空洞區域補全

  首先進行第一步,補全零碎小面積空洞區域。

  這裡,我們需要結合ArcMap中的消除面部件(“Eliminate Polygon Part”)加以實現。

  選擇“System Toolboxes”→“Data Management Tools.tbx”→“Generalization”→“Eliminate Polygon Part”。

  其中,“Input Features”為需要補全空洞區域的圖層,第二項為輸出圖層路徑與名稱,第三項為空洞區域補全的判斷依據,其中“AREA”是指面積,也就是小於指定面積的部分都會被當作空洞區域補全;“PERCENT”是百分比,也就是在整個圖層中,小於圖層總面積指定百分比的區域都會被當作空洞區域補全。接下來是對“AREA”與“PERCENT”具體的數值加以明確。

  因為我這裡就是想把面積比較小的區域補全,因此就選擇了“AREA”這一選項,面積閾值暫時選擇8000,後期看結果怎麼樣再加以調整即可。

  點選“OK”。可以看到,所得結果是不是較之處理前,少了很多零碎的區域。

  如果大家覺得這個閾值不太好,可以重複上述操作,修改面積閾值,直到獲取滿意的結果。

  用一個動圖,大家可以看看前後效果的對比(由黃色變為綠色這個過程)。

3 單獨部分割槽域分離並剔除

  接下來,我們對單獨部分割槽域進行分離並剔除。

  第一步,我們需要保證開啟“Editor”與“Advanced Editing”控制元件。直接在ArcMap上方工具欄右鍵,在對應的專案前打勾即可。

  首先,在“Editor”控制元件中,選擇“Editor”→“Start Editing”,開啟編輯模式。

  用滑鼠選中整個圖層。

  此時我們可以看到,這些遊離於主體圖層之外的小區域,儘管他們與圖層面要素其他部分沒有任何連線,但還是屬於整體區域之內的一部分。因此,在將他們刪除之前,肯定首先要將其分離出來,使其不要再成為面要素主體區域的一部分。

  在“Advanced Editing”控制元件中,選擇“Explode Multipart Feature”。

  滑鼠左鍵選中一個單獨的區域。

  在鍵盤中按下“Delete”,即可將其刪除。

  多次重複,即可將這些遊離於主體部分之外的全部面要素刪除。

  完成之後,選擇“Editor”→“Save Edits”,並再選擇“Stop Editing”即可儲存並退出編輯模式。

  至此,大功告成。

相關文章