做爲成熟的GIS軟件,ArcGIS提供了至關不錯了水文分析工具。包括在spatial擴展中提供的水文分析工具集和地下水分析工具;若是還關注ArcGIS周邊,還能發現美國還有一個團隊在一直維護ArcHydro工具集。ArcGIS軟件在地表水分析方面的研究成果仍是至關不錯的,目前已經很是成熟;地下水分析方面還處於起步階段,只提供少有的幾個工具;而ArcHydro則是免費的專業級別的水文分析工具集合。
本章節主要介紹ArcMap中原生的水文工具集,力求讓廣大讀者瞭解其運做原理。瞭解原理以後才能制定其分析流程。 BY 李遠祥算法
ArcGIS在其ArcToolBox中提供了水文分析工具集,其做用主要是模擬地表水造成徑流的過程,並利用這一模擬過程實現河流、出水口以及流域的提取。因爲水文分析工具集在spatial工具箱中,所以要運行它,必須具有spatial擴展受權。
水文分析工具集提供總計11個工具,以下圖網絡
相對於ArcHydro上百個工具,原生的水文分析工具顯得相對少了點,但每個工具都很是的實用。它的全部的分析都是基於數字高程模型(DEM)和D8單流向算法進行的,所以,瞭解DEM和D8算法是至關重要的。工具
對GIS人員來講,DEM是常見的數據格式了。但對水文分析人員,不必定都瞭解。DEM是一種連續的柵格的,每個柵格表明一個矩形範圍,而每一個柵格用不一樣的灰度值表示其高程值。以下圖
由於DEM是連續的柵格數據,ArcGIS軟件默認給定的是灰白的渲染模式,所以,若是不看其圖例,通常人是不清楚DEM數據表達的地形的。
從圖上能夠看出,該區域最高的地方爲4327米,最低是442米。而渲染方式是地形數值越高越偏向亮色,地勢越低越偏向黑色。基本上能夠看清楚發亮的部分是山脊,而黑色部分是山谷或者河流。連續灰度的渲染方式是給機器計算時使用的,若是像更好的表達DEM數據,更符合人類閱讀,能夠經過DEM生成山體陰影,而後疊加彩色的渲染方式,能夠參考筆者以前的文章《ArcGIS製圖技巧系列(2)地形渲染》,其效果大概以下圖
這還不是關鍵,瞭解DEM關鍵的要清楚DEM的元數據信息。這個元數據信息能夠在在【圖層】右鍵【屬性】中查看。
從元數據信息能夠看到該DEM的像元大小是3030,也就是每個柵格的格子表明實際面積爲30 30 見方。若是加上上面的行數和列數788 768 ,那麼能夠計算出該區域的總面積爲30 30 788 768 (平方米)。這就是DEM元數據信息中所包含的重要信息。編碼
在利用DEM作河流提取和流域提取時,要限制最小區域的集水區(即造成河流的最小匯水面積),那就須要經過DEM的元數據信息進行換算柵格的格子數。例如最小的流域爲9平方千米,那麼換算成該數據的柵格數據爲9000000/30/30 = 10000(格子數)。這會在後面流量分析中說起到。spa
前面說起到ArcGIS水文分析的兩個重要的基礎,一是使用DEM進行分析,二是分析的基礎算法爲D8單流向算法。
D8算法是假定雨水降落在地形中某一個格子上,改格子的水流將會流向周圍8個格子地形最低的格子中。若是多個像元格子的最大降低方向都相同,則會擴大相鄰像元範圍,直到找到最陡降低方向爲止。如圖所示
其流向則用2的n次方表示,從0開始,按照逆時針分別爲遞增,其方位編碼以下圖所示.net
這樣編碼的好處天然是經過數學的方式,讓計算機能夠很是快的使用二進制進行索引,加快大區域的流量累計統計。3d
因此,D8 算法又稱做單流向算法。其特色就計算速度快,可以很好的反應出地形對地表徑流造成的做用。但其弊端也是顯而易見。由於水流只流向一個方向,是單線傳遞,一旦遇到某一窪地的時候,周邊的水流都會集中向該窪地流入,致使斷流現象,而現實中因爲水會向多個方位不定向的流動,是不會輕易致使斷流的。若是要避免這種狀況發生,就須要對地形中的窪地進行填平,確保水流也能從該窪地流出。這就是爲何水文分析工具中出現了一些與水文分析徹底沒有關係的一個工具--填窪 。blog
從D8算法能夠看出,ArcGIS的水文分析工具是依賴無凹陷的DEM地形的,因此在分析以前都必須對DEM數據進行檢查。【匯】工具和【填窪】工具就是爲了分析前查找和填平窪地而生的,在使用水文分析以前必需要使用這兩個工具對DEM進行處理。
單流向算法影響限制了ArcGIS水文分析工具的使用。尤爲是地勢平坦的地區和人工干預比較多的城市區域,基本上不適用。由於地勢平坦致使水流沒法沿某一方向流動而造成徑流。
另外一種狀況是事實上的斷流造成,如存在地表水流匯流入地下水系的狀況。一旦出現流入地下暗河,D8算法就徹底失效。所以,在喀斯特意貌中一樣也不適用。教程
D8算法是徹底不考慮降雨的多少、土壤滲透率、植被吸水以及水流擋阻等水文過程,它只是假定有無限的降雨並最終匯聚水流造成徑流,並經過匯流範圍來定義最終的河流。所以,它只是一個徑流匯成河流的定性分析(儘管流量計算看起來是有定量因子),並不能經過其流量算法去作水文的預報。索引
ArcGIS水文分析中的流量並非指水文監測中的實際流量,它只是流向分析結果的一個柵格累計計算。流量柵格中每個像元記錄的是流向柵格中流向該點的柵格數量的總和。以下圖所示
從原理上能夠看出,若是將流量上柵格上的某一點做爲出水口,那麼,全部流向該點的像元的集合便構成了一個最小的集水區域。因此,若是要針對分析區域進行小流域的劃分,那麼前提條件即是要獲得流向和流量柵格,而且要根據柵格像元的大小計算最小的積水區域,而這個區域的計算則須要將面積換算爲柵格的數量。
換算的方法在前面DEM介紹部分已經說明清楚,讀者能夠往上翻頁再次瀏覽。ArcGIS的官方文檔是不會對這些換算的方法進行說明,由於它面向的是偏計算機專業的人員,水文專業人員可能會對此比較難以理解。
在ArcGIS水文分析工具11個分析工具中,只有河流連接、河網分級、分水嶺、河流長度 這幾個纔是直接對接水文學術語。
ArcGIS官方幫助寫得至關羞澀難懂,其工具解釋以下
向各交匯點之間的柵格線狀網絡的各部分分配惟一值。
基本上單看幫助說明,不論是GIS人員仍是水文專業人員都不知道所云。再看其插圖,基本上能夠看出其具體做用,就是針對必定流量的徑流進行交互鏈接。以下圖所示
但問題又來了,在傳統的水文學上,河流連接是分爲外鏈和內鏈的,用於斷定是否存在支流及河源。因此,這個工具也僅僅是做爲基於DEM生成河網的方式。下圖爲水文學上得河流鏈,能夠對比一下其區別。
河網分析是根據水系的鏈接狀況進行等級劃分。ArcGIS的這個工具基本上能夠跟水文學可以徹底對接。但它只支持水文學上最經常使用的兩種分級模式--斯特拉勒(STRAHLER)和施裏夫(SHREVE)分級方法。
這裏的分級方法與傳統的地理學河流分級不同。地理學上大江大河定義爲一級,如長江、黃河、珠江這些定義爲一級河流;西江屬於珠江的一個大支流,定義爲二級河流,如此類推。這只是方便水利主管單位對流域進行管理去定義的,在水文分析中這種定義方式沒有太大的使用價值。
在水文學上主要使用如下幾種分級模式
格雷夫利厄斯(Gravelius)分級法
格雷夫利厄斯(Gravelius)分級法有點相似中國傳統的河流分級定義,水系中最大的主流爲1級,直接匯入1級河流的水系爲2級,依次類推直到分級完成。
霍頓(Horton)分級法
霍頓(Horton)分級法將最小的沒有分支的水系定義爲1級,只接納1級河流的水系定義爲2級,只接納2級河流的水系定義爲3級,如此類推直到定義完成。
斯特拉勒(STRAHLER)分級法
斯特拉勒(STRAHLER)分級法,沒有支流匯入的水系定義爲1級別,兩個相同級別的水系匯入某一河流時,河流等級增長1級;若是等級不一樣,則以最大等級的河流相同。依次分級完成全部定義。
施裏夫(SHREVE)分級法
施裏夫(SHREVE)分級法有點相似累計分級,將沒有支流的水系定義爲1級,多個支流匯入,將其級別相加做爲匯入河流的級別。如此類推直到分級完成。
沙伊達格分級法
沙伊達格分級法是施裏夫分級法的一個變種,分級方式與施裏夫方法一致,只是將沒有支流的河流定義爲2級,這樣全部的河流級別都是偶數。
如下是各類河網分級的示意圖
格雷夫利厄斯分級法:水系中河流越小,級數就越大,難以區分水系中的主流和支流,一樣爲1級的河流可能相差較大。
霍頓分級法:2級以上的河流都可以一直延伸到河源,但實際上它們的最上游都只具備1級河流的特徵。
斯持拉勒法:不可能像霍頓分級法同樣將2級以上河流都一直延伸到河源,於是老是將能經過全流域水量和泥沙量的河流做爲水系中最高級的河流的。斯持拉勒法主要不足是不能反映流域內河流級愈高,經過的水量和泥沙量也愈大的事實。
施裏夫和沙伊達格分級法:很好彌補了上述分級方法的缺陷,很是適合在數值上進行計算。
爲何ArcGIS只保留斯特拉勒(STRAHLER)和施裏夫(SHREVE)兩種分級方法。筆者認爲若是單從統計方面來講,施裏夫(SHREVE)方法是最優,畢竟其推導有點相似匯流的計算,在水文流量和泥沙量的一些模擬上應該有比較大的參考價值。
斯特拉勒(STRAHLER)分級方法,一些研究水文的大師級人馬認爲它是根據水系形態與水文要素綜合分析引導出來的,能夠做爲尋求水系地貌的基礎。
ArcGIS是根據流向和流量柵格來計算地表徑流(非河流),而河網分級工具並非對已有的河流進行分析,而是針對具備必定流量的地表徑流進行分級,分級以後再做爲地表徑流轉爲真正河流的基礎。因此,筆者認爲,若是是但願經過DEM去提取水系,那麼採用斯特拉勒(STRAHLER)分級方法做爲依據;若是是但願尋找河網鏈與流量、泥沙量的關係,推薦使用施裏夫分級方法。
ArcGIS的分水嶺實際上就是水文學上的分水線圍閉而成的面。引伸出來的就是集水區、流域。分水嶺是能夠嵌套的,例如大的分水嶺嵌套若干個小分水嶺,也就是大流域裏面包含了若是個小流域。
下圖是ArcGIS軟件對分水嶺組成的說明,這並非水文學上的分水線定義。
水流長度工具的主要用途是計算給定盆地內最長水流的長度。這個跟水文學上的定義能夠對上。
本章主要是針對ArcGIS中的水文分析工具的一些基本原理和方法,對應水文學的一些相關原理進行論述。但願能經過一些簡單的對照,可以幫助GIS和水文分析人員加強對行業和工具理解,可以在後續的分析工做更加精準的設置工具的參數,正確使用工具來輔助分析決策。