做为成熟的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和水文分析人员加强对行业和工具理解,可以在后续的分析工做更加精准的设置工具的参数,正确使用工具来辅助分析决策。