ArcGIS的水文分析工具須要DEM數據才能執行,所以在使用以前必需要準備好DEM數據而且針對DEM數據進行預處理。本章節內容介紹如何根據已有的數據製做和處理DEM,並實現水文分析前的數據預處理。BY 李遠祥算法
ArcGIS的水文分析工具集是對地表造成徑流的模擬,使用DEM做爲計算的參數,主要的後期數據都是準對DEM進行生成的,如流向柵格、流量柵格這兩個重要的參數。微信
對於可以直接拿到DEM數據的人來講,基本上能夠忽略掉這個章節的內容。在大多數狀況下,水文分析人員是沒有DEM數據的,儘管能夠從網上能夠下載到插值後30米的全球免費的DEM數據,但因爲數據的精度過低,做爲普通的大流域研究勉強可使用,但做爲中小流域級別的研究那就至關無力了。
通常狀況下,某一研究區域的等高線和部分高程控制點數據,以及行政邊界數據是能夠協調到的。但因爲ArcGIS的水文分析工具須要的是DEM數據,那就須要利用這些數據生成原始的DEM。
生成DEM的方式不少人會想到利用等值線和高程控制點生成Tin,而後利用Tin轉換爲DEM。這種方式很是廣泛。不論在GIS的教程仍是水文學的教程中都有介紹。
ArcGIS的3D分析擴展模塊提供了上述的工具進行轉換,也算是在同一個軟件中一塊兒處理全部的問題了。
下圖是一份常見的等高線、高程控制點、邊界等數據。
工具
數據出了邊界以外,每一層的數據中都帶有高程屬性。調用ArcGIS 3D分析模塊,【3D Analyst】--【數據管理】--【建立TIN】雙擊調用。
spa
在選擇參數的時候,分別設置數據以下。
3d
從圖上看,凡是涉及到有高程值的數據必須懸賞高程字段,但工具中的SF Type 就至關很差選了。若是是高程控制點,那麼選擇【Mass_Points】絕對沒有異議。但等高線部分能夠選擇的除了【Mass_Points】以外還有【Hard_Line】和【Soft_Line】。
這裏硬線和軟線到底怎麼選擇?ArcGIS的工具提示是blog
隔斷線和麪表面類型具備 Hard 和 Soft 限定符,指示要素所表示的沿表面的斜坡是平滑仍是尖銳的不連續部分。教程
這是一個比較難懂的說明。大體上能夠理解爲兩條等高線之間若是構成不規則三角形,採用Hard的話在這兩條線之間的區域會平滑一些,採用Soft的話基本上就是直接過渡,造成最大的高差。ip
這原本是一個測繪學的問題,但因爲如今要在水文分析前使用,那麼這些細節參數就值得推敲了。前面章節已經詳細介紹過ArcGIS的水文分析工具的基礎算法是D8單流向算法,徑流只會向一個方向流動。筆者認爲,若是等高距過大和等高線密度比較稀疏,採用Hard的作法是比較好的,防止出現了尖銳的三角形頂點,致使彎曲的徑流拉直線生成,但這種作法也就是對徑流線進行了一些平滑,損失一些精度。若是數據的精度比較高,區域的等高線稠密而且控制點足夠多,推薦使用soft的方式,這樣徑流線會更加精準流動。rem
對於具備大面積水,如湖泊、水庫等地類,那就能夠設置爲Replace類型。這樣在遇到水面邊界的時候不會進行三角化處理,統一以一個高程值填充了該區域。it
在建立Tin工具中大量出現了Hard和Soft的選項,原理跟上面所說的同樣,須要考慮的最主要因素就是等高線的稠密程度。
對於行政邊界來講,通常採用clip類型來處理,在邊界處裁剪掉數據。否則,在邊界處就會出現很是深得三角點。
而另外一類型Erase ,則是挖空區域,使其沒有鏤空沒有數據。不過這種狀況不多見。
關於sf type的說明,能夠查看ArcGIS相關幫助。但這一部門至關難以理解,即使測繪人員可以理解,但因爲缺少水文分析原理的支撐,通常也不清楚使用不一樣的方式會對水文分析結果產生哪些影響。
按照上述的參數設置,生成的結果以下
接下來就能夠經過【3D Analyst】--【轉換】--【由Tin轉出】--【Tin轉柵格】工具轉成DEM數據。值得注意的是,該處的類型選擇必須選擇浮點型,以下圖
爲何要選擇浮點型去構建DEM。若是站在測繪的這個程度上,浮點型的DEM跟整形的區別不大,畢竟都是經過TIN去構建生成的,一些小數點位數實際意義不大。但站在水文分析的去考慮就不同了。前面章節已經說明過ArcGIS的水文分析是基於D8單流向算法的,在有凹陷的DEM數據下會造成斷流,從而不能匯聚成河流。而整形的DEM時對TIN的高程做了四捨五入的操做,硬生生的將地形起伏特徵去除。別看都是小數點後的數值,D8算法決定了其流向,哪怕是相差0.001米,足以改變流向。取整後的DEM數據會造成特殊的凹陷區或者平坦區,從而致使徑流沒法天然造成。而這些凹陷區(平坦區域實際上屬於大得凹陷區)在ArcGIS的水文分析工具中稱之爲「匯」,是必須找出來而且填平的。
該工具中還有【採樣距離】參數,採樣距離默認使用的是OBSERVATIONS設置,表示該DEM像元的列數,也就說用多少列來表示該區域。建議使用另外一參數CELLSIZE,這能夠直接定義像元網格的大小。若是使用OBSERVATIONS,後期還須要經過區域寬長和列數去換算單位網格的大小,很是不方便。水文分析的匯水區大小定義時,筆者認爲仍是使用單位網格大小比較直觀。能夠參考前面的文章,裏面有詳細的敘述。
參數設定好後能夠直接生成DEM,以下圖
這樣DEM就生成完畢,能夠做爲水文分析的基礎數據了。
若是使用等值線+高程控制點方式去生成TIN,在由TIN轉DEM,對通常水文分析人員,甚至是部分GIS人員都比較難以理解清楚其每一個參數的做用。因爲DEM數據是要做爲水文分析的基礎,所以不少參數的調整必須謹慎選擇,因此,水文分析的原理是十分重要的。
若是懼怕上述方式過於複雜和難懂,能夠嘗試一種新的方法,那就是【地形轉柵格】工具。這個工具在【spatial】擴展模塊中,不須要用到3D分析模塊,與水文分析工具同屬於一個擴展。Esri將其工具放置在【插值分析】工具箱,以下圖所示
可見該工具其定位。但不得不說該工具確實很是的強大,看下圖的設置
其操做很是簡單,它定義了地形中常見的九種類型:
考慮得很是周到,不是說九種地形數據必須都有,而是針對性的越齊全越好。還有一點就是該工具對等高線的支持很是友好,若是輸入要素數據類型爲等值線,則算法將先根據等值線的曲率生成概化的表面形態。而後該算法會將等值線做爲高程信息的源。等值線最適合大比例數據,由於此時等值線和拐角可準確地指示出河流和山脊。在較小比例下,對等值線的拐角點進行數字化並將其用做輸入點要素類可能一樣有效且消耗更少。能夠看到該工具出來的結果自己就能很好的呈現山脊和河流。在水文分析中這就是分水線和水系了。
關鍵部分還有在可選參數中,地形強化參數。默認使用的是ENFORCE。
這樣的話在數據生成過程當中就已經移除掉「匯」,避免了後期的處理。
筆者認爲這個工具簡直就是爲水文分析工具而生的。屬於很是好的輔助工具。既簡單並且有實在,將水文分析所需的數據特性很好的表現出來。該工具在ArcGIS10.0及更高的版本中有集成。
對於水文分析前的DEM數據生成,有着很是明顯的定義,傳統的測繪人員是不清楚這些細節的;而水文研究者對於GIS數據更是徹底不瞭解。本章的主要特色就是從水文分析原理的角度去解釋DEM製做的一些細節,力圖讓DEM數據可以準確的還原基礎地形,而且準確的生成主要的地形特徵。
若是讀者對水文分析感興趣的話,能夠持續關注CSDN的GIS製圖樂園,以及微信公衆號【GIS製圖樂園】。BY 李遠祥