1. 程式人生 > >【ArcGIS|空間分析】利用DEM提取山脊、山谷線(水文分析、表面分析)

【ArcGIS|空間分析】利用DEM提取山脊、山谷線(水文分析、表面分析)

參考湯國安、楊昕等編著的《地理資訊系統空間分析實驗教程第二版》
利用水文分析(流量)和表面分析(坡向變率)得到山脊和山谷線

文章目錄

1、基本概念

正地形

是相對高於鄰區或新構造上升地區的地形。山地、高原、丘陵都是正地形。世界上許多石油礦床與高地、丘陵、特別是穹隆或背斜構造形成的正地形有關。天然氣、金屬礦床常常形成或儲存在上述正地形中。

負地形

是相對低於鄰區或新構造下沉地區的地形。窪地、盆地都是負地形。負地形是沉積物堆積的有利條件,也是沖刷微弱的場所。煤、石油、鋁土、鐵、泥炭、鹽類和錳結核等沉積礦床多形成在盆地、凹地、平原和洋盆等負地形中。

正負地形的影響

負地形的地貌格局決定了一些地區不斷地接納、匯聚、堆積,在外力作用下,由四周正地形區搬運遷移的陸相碎屑物。“夷平填窪”是不可改變的自然地理過程中外營力作用的運動規律,只要這種正負地形差異格局的存在,就將持續地進行下去,直至夷平或填平。

2、水文分析方法

2.1 基本思想原理

通過對零值的匯流累積值的柵格的提取就可以得到分水線,也就得到了山脊線。對於山谷線可以利用反地形的特點,可以利用一個較大的數值減去原始的DEM資料得到與原始地形完全相反的地形資料,使得原始的DEM中的山脊變成反地形的山谷,而原始DEM中的山谷在反地形中就變成了山脊。山谷線的提取就可以在反地形中利用提取山脊線的方法進行提取。但是此方法提取出的山脊和山谷位置有些偏差,可以利用正、負地形加以糾正。

2.2 技術路線

在這裡插入圖片描述

2.3 操作步驟

2.3.1 正負地形的提取

1、 在ArcMap中載入樣區的原始DEM資料.
2、 選擇【Spatial Analyst工具】|【鄰域分析】|【焦點統計】,以11×11的視窗計算平均值。
3、 選擇【Spatial Analyst工具】|【地圖代數】|【柵格計算器】,將原始DEM減去平均值DEM,獲得正負地形資料。
4、 選擇【Spatial Analyst工具】|【重分類】|【重分類】,分別進行兩次重分類。一次將大於0的區域賦值為1(正地形),小於0的區域賦值為0,另一次將小於0的區域賦值為1(負地形),大於0的區域賦值為0。

2.3.2 利用水文分析思想和工具提取研究區域的山脊線

1、 在ArcMap中載入樣區的原始DEM資料。
2、 窪地填充:選擇【Spatial Analyst工具】|【水文分析】|【填窪】,輸入表面柵格資料。選擇將所有窪地全部填充,所以不需要計算窪地深度,Z limit為預設值。
3、 基於無窪地的水流方向計算:選擇【Spatial Analyst工具】|【水文分析】|【流向】,輸入填窪後的表面柵格資料。
4、 匯流累積量的計算:選擇【Spatial Analyst工具】|【水文分析】|【流向】,輸入水流方向資料。
5、 匯流累積量為零值的提取:選擇【Spatial Analyst工具】|【地圖代數】|【柵格計算器】,輸入計算公式為facc0=(flowaa1==0),facc0為輸出資料,flowaa1為匯流累積量資料。
6、 資料光滑處理:上一步提取資料中很多不是山脊線,選擇【Spatial Analyst工具】|【鄰域分析】|【焦點統計】,以3×3視窗做平均值計算。
7、 輔助判斷山脊線位置:選擇【Spatial Analyst工具】|【表面分析】|【等值線】和【Spatial Analyst工具】|【表面分析】|【山體陰影】。
8、 選擇【Spatial Analyst工具】|【重分類】|【重分類】,以等高線圖和山體陰影圖判斷山脊線位置,調整分級臨界點,最終確定分界閾值為0.5541。將光滑處理後的資料二值化,接近1的部分賦值為1,其餘部分賦值為0。
9、 消除存在於負地形區域中的錯誤山脊線:選擇【Spatial Analyst工具】|【地圖代數】|【柵格計算器】,將重分類後的資料與正地形資料相乘。
10、 獲得最終山脊線:選擇【Spatial Analyst工具】|【重分類】|【重分類】,將屬性值不為1的賦值為NoData。

2.3.3 利用水文分析思想和工具提取研究區域的山谷線

1、 在ArcMap中載入樣區的原始DEM資料。
2、 獲取反地形:選擇【Spatial Analyst工具】|【地圖代數】|【柵格計算器】,計算公式為fandem=Abs(dem-2000),fandem為輸出資料,dem為原始DEM資料。
3、 水流方向計算(無需填窪):選擇【Spatial Analyst工具】|【水文分析】|【流向】,輸入填窪後的表面柵格資料。
4、 匯流累積量的計算:選擇【Spatial Analyst工具】|【水文分析】|【流向】,輸入水流方向資料。
5、 匯流累積量為零值的提取:選擇【Spatial Analyst工具】|【地圖代數】|【柵格計算器】,輸入計算公式為facc0=(flowaa2==0),facc0為輸出資料,flowaa2為匯流累積量資料。
6、 資料光滑處理:上一步提取資料中很多不是山谷線(反地形中山脊線為原地形中的山谷線),選擇【Spatial Analyst工具】|【鄰域分析】|【焦點統計】,以3×3視窗做平均值計算。
7、 輔助判斷山谷線位置:選擇【Spatial Analyst工具】|【表面分析】|【等值線】和【Spatial Analyst工具】|【表面分析】|【山體陰影】。
8、 選擇【Spatial Analyst工具】|【重分類】|【重分類】,以等高線圖和山體陰影圖判斷山脊線位置,調整分級臨界點,最終確定分界閾值為0.65667。將光滑處理後的資料二值化,接近1的部分賦值為1,其餘部分賦值為0。
9、 消除存在於負地形區域中的錯誤山谷線:選擇【Spatial Analyst工具】|【地圖代數】|【柵格計算器】,將重分類後的資料與負地形資料(不是反地形資料)相乘。
10、獲得最終山谷線:選擇【Spatial Analyst工具】|【重分類】|【重分類】,將屬性值不為1的賦值為NoData。

2.3.4 利用水文分析提取山脊線和山谷線結果

在這裡插入圖片描述

3、表面分析方法

3.1 基本思想原理

首先利用DEM資料提取地面的平面曲率及地表的正負地形,取正地形上平面曲率的大值即為山脊,負地形上平面曲率的大值為山谷。在實際應用中,由於平面曲率的提取比較繁瑣,而坡向變率(SOA)在一定程度上可以很好地表徵平面曲率。

3.2 技術路線

在這裡插入圖片描述

3.3 操作步驟

1、 求DEM坡向變率資料:選擇【Spatial Analyst工具】|【表面分析】|【坡向】,將得到的坡向資料再求一次坡向得到坡向變率資料,記為SOA1。
2、 求DEM最大值資料:選擇【Spatial Analyst工具】|【鄰域分析】|【焦點統計】,以11×11視窗做最大值計算得到DEM最大高程值。
3、 求反地形資料:選擇【Spatial Analyst工具】|【地圖代數】|【柵格計算器】,輸入公式為H-DEM(H為DEM最大高程值資料,DEM為原始DEM資料)得到反地形DEM資料。
4、 求反地形坡向變率資料:選擇【Spatial Analyst工具】|【表面分析】|【坡向】,基於反地形DEM資料求反地形DEM坡向變率資料,記為SOA2。
5、 求沒有誤差的DEM坡向變率:選擇【Spatial Analyst工具】|【地圖代數】|【柵格計算器】,輸入公式為SOA=(([SOA1]+[SOA2])-Abs([SOA1]-[SOA2]))/ 2 ,得到沒有誤差的DEM坡向變率資料。
6、 求DEM平均值:選擇【Spatial Analyst工具】|【鄰域分析】|【焦點統計】,以11×11視窗做平均值計算得到DEM最平均值。
7、 獲得正負地形資料:選擇【Spatial Analyst工具】|【地圖代數】|【柵格計算器】,計算公式為C=DEM-B(C為輸出資料,DEM為原始DEM資料,B為DEM平均值資料)得到正負地形資料。
8、 提取山脊線:選擇【Spatial Analyst工具】|【地圖代數】|【柵格計算器】,計算公式為shanji=[C]>0&SOA>70。
9、 提取山谷線:選擇【Spatial Analyst工具】|【地圖代數】|【柵格計算器】,計算公式為shanji=[C]<0&SOA>70。