首頁 新聞中心 技術博客

ArcGIS山脊線、山谷線和山頂點的提取

發布時間:2021-10-24 23:44:45   瀏覽量:5807   作者:GIS前沿

特征地形要素,主要是指對地形在地表的空間分布特征具有控制作用的點、線或面狀要素。特征地形要素構成地表地形與起伏變化的基本框架。與地形指標的提取主要采用小范圍的鄰域分析不同的是,特征地形要素的提取更多地應用較為復雜的技術方法,如山谷線、山脊線、溝沿線等的提取采用了全局分析法(global process),成為柵格數據地學分析中很具特色的數據處理內容。

特征地形要素從表示的內容上可分為地形特征點和特征線兩大類。地形特征點主要包括山頂點(peak)、凹陷點(pit)、脊點(ridge)、谷點(channel)、鞍點(pass),平地點(plane)等。利用DEM提取地形特征點,可利用一個12×12或更大的柵格窗口,通過中心格網點與8個鄰域格網點的高程關系來進行判斷獲取。

一方面,山脊線和山谷線構成了地形起伏變化的分界線 (骨架線),因此它對于地形地貌研究具有重要的意義。另一方面,對于水文物理過程研究而言,由于山脊、山谷分別表示分水性與匯水性,山脊線和山谷線的提取實質上也是分水線與匯水線的提取。

自動提取山脊線和山谷線的主要方法都是基于規則格網DEM數據的,從算法設計原理上來分,大致可以分為以下五種:

1.基于圖像處理技術的原理;

2.基于地形表面幾何形態分析的原理;

3.基于地形表面流水物理模擬分析原理;

4.基于地形表面幾何形態分析和流水物理模擬分析相結合的原理;

5.平面曲率與坡形組合法。

其中,平面曲率與坡形組合法提取的山脊、山谷的寬度可由選取平面曲率的大小來調節,方法簡便,效果好,具體為什么好你得先看完操作過程我才好跟你解釋哈,希望各位看官仔細閱讀,受益無窮哦,哈哈哈哈哈哈哈哈哈。

(1) 我在上一篇文章詳細講解了無誤差的平面曲率的含義以及提取方法,本次不再闡述哦,文章鏈接:超詳細講解ArcGIS中地形指標的提取

最終提取的SOA數據如下圖所示:請添加圖片描述
(2) 點擊初始DEM數據,使用【Spatial Analysis工具】【鄰域分析】【焦點統計】工具;設置統計類型為平均值(MEAN),鄰域的類型為矩形(也可以為圓),鄰域的大小為12×12(這個值也可以根據自己的需要進行改變),則可得到一個鄰域為12×12的矩形的平均值數據層,記為MEAN;請添加圖片描述
(3)使用【柵格計算器】計算,公式ZFDX=“DEM”-“MEAN”,即可求出正負地形分布區域,結果圖層如下圖所示:請添加圖片描述
小編給大家解釋一下這個正負地形值的范圍是什么意思,意思就是在12*12像元范圍內平均高程和其他高程的最大差就是19至-20,而不是整個柵格數據內的高程極差,整個柵格內的高程極差如下圖所示哦:

請添加圖片描述
(4)使用【柵格計算器】計算,公式為shanji=(“ZFDX”>0)&(“SOA”>80)即可提取出山脊線,結果圖如下所示:請添加圖片描述
綠色部分是符合條件的柵格像元,值為1,其余黑色的都不符合要求,所以值都為0,這樣看起來感覺不出山脊線,為此我們進行重分類,將值為0的柵格像元設置為NoData,得到結果后疊加到山體陰影上面,山體陰影設置和最終展示結果如下圖所示:請添加圖片描述
請添加圖片描述
(5)同理,使用【柵格計算器】計算,公式為shangu=(“ZFDX”<0)&(“SOA”>80)即可求出山谷線,其他后續重分類和上文提取山脊線一致,最終展示結果如下圖所示:

請添加圖片描述

看到這里發現山脊線和山谷線的提取都比較精確,但是有小伙伴就會問,為什么ZFDX>0&SOA>70就是山脊線,我換成其他數值不行嗎?你先不急哈,小編先解釋一下這簡單的判斷語句為什么要這樣判斷,首先我們知道山脊線肯定是在正負地形圖層中大于0的正地形區域里面提取,所以要求ZFDX>0,那么正地形范圍很大,怎么判斷里面的山脊線呢?劃重點了哈,這個很關鍵的,考試必考。我們前面提取的平面曲率,一個像元平面曲率很大說明什么?說明這個像元的相鄰像元的朝向變化很大,朝向變化大說明什么,說明等高線很曲折呀,如下圖所示:請添加圖片描述
可以發現這個山谷和山脊都是等高線向一個方向彎曲的,高中地理這個經常考的哦!所以在凹陷地區(負地形)內等高線最曲折的那部分應該就是山谷了,而在凸起地區(正地形)內等高線最曲折的那部分應該就是山脊了。

提取山頂點

(1)單擊【Spatial Analyst 工具】|【鄰域分析】【焦點統計】請添加圖片描述
設置統計類型為最大值(MAXIMUM),鄰域的類型為矩形(也可以為圓),鄰域的大小為12×12(這個值也可以根據自己的需要進行改變),則可得到一個鄰域為12×12的矩形的最大值數據層,記為max;

(2)選擇【Spatial Analyst 工具】【地圖代數】【柵格計算器】,入計算公式:“max”-“dem”==0,得到二值柵格;

請添加圖片描述
結果圖層中對計算結果為真的像元賦予值1,即“max”-“dem”==0,其余不滿足條件的都為0,這時候有的小伙伴就會問了,為什么“max”-“dem”==0的像元就是山頂點?那么小編就跟大家詳細解釋一下這個山頂點的提取原理吧。我們知道山頂點都是某個小山地的最高點,那么我讓每個像元都變成鄰域范圍內的最高值,其減去原始像元高程等于0的說明原始像元高程就是那個鄰域范圍內的最高值,必然就是該地區的最高點了,如果大于0說明該像元原始高程是小于鄰域范圍內的最高值,那就不是山頂點了,這個值不可能小于0,因為前面鄰域分析中統計類型是MAXIMUM,所以“max”總是大于或者等于“dem”。

(3)對計算結果進行重分類,選擇【Spatial Analyst工具】【重分類】將值為0的像元都設置為NoData,然后疊加到“dem”數據上。

(4)將重分類后的柵格轉換為矢量點,在ArcToolbox中選擇【轉換工具】【由柵格轉出】【柵格轉點】,轉點后如下所示:請添加圖片描述
由于受到鄰域分析中分析窗口大小的影響,窗口越大提取的點越少,但是窗口過大的話,將會漏掉一些重要的山頂點,為此需要設置合適的窗口大小,對提取的結果,可人工判斷刪除一些不符合條件的山頂點,最后進行符號化,結果如圖所示:請添加圖片描述


來源:https://blog.csdn.net/qq_43173805/article/details/119869555
18黄无遮挡免费视频