当前位置:文档之家› ARCgiss水文提取2

ARCgiss水文提取2

利用ArcGIS水文分析工具提取河网的操作DEM包含有多种信息,ArcToolBox提供了利用DEM提取河网的方法,但是操作比较烦琐(帮助可参看Hydrologic analysis sample applications),今天结合我自己的使用将心得写出来与大家分享。

提取河网首先要有栅格DEM,可以利用等高线数据转换获得。

在此基础上,要经过洼地填平、水流方向计算、水流积聚计算和河网矢量转化这几个不步骤。

1.洼地填平DEM洼地(水流积聚地)有真是洼地和数据精度不够高所造成的洼地。

洼地填平的主要作用是避免DEM的精度不够高所产生的(假的)水流积聚地。

洼地填平使用ArctoolBox->Spatial Analysis Tools->Hydrology->Fill工具。

2.水流方向计算水流方向计算就可以使用上一步所生成的DEM为源数据了(如果使用未经洼地填平处理的数据,可能会造成精度下降)。

这里主要使用ArctoolBox->Spatial Analysis Tools->Flow Direction 工具。

输入的DEM采用第一步的Fill1_exam13.水流积聚计算这里主要使用ArctoolBox->Spatial Analysis Tools->Flow Accumulation工具流向。

栅格数据就是第二步所获得的数据(FlowDir_fill1)。

可以看到,生成的水流积聚栅格已经可以看到所产生的河网了。

现在所需要做的就是把这些河网栅格提取出来。

可以把产生的河网的支流的象素值作为阀值来提取河网栅格。

4.提取河网栅格使用spatial analyst中的栅格计算器,将所有大于河网栅格阀值的象素全部提取出来。

至于这个阀值是多少因具体情况而定。

通常是要大于积聚计算后得到栅格的最低河流象素值。

这里采用的是500这个值。

最后生成只有0、1值的栅格数据。

其中1表示是河网,0是非河网。

5.生成河网矢量这里主要使用ArctoolBox->Spatial Analysis Tools->Stream to Feature工具.Input Stream raster 为第四步只有0、1值的河网栅格。

流向栅格使用第二步所生成的栅格数据。

6.矢量河网处理由于Stream to Feature工具.将所有栅格象素均转为矢量线段。

所以要进行处理,方法是利用属性查询的方法把所有GRID_CODE为1的全部选择出来。

导出就得到了由dem所生成的河网矢量。

7.处理结果最后,得到的河网如下图所示。

但是由于是栅格转换而来。

生成的河网并不是连续的矢量。

可以根据需要做简单的处理。

水文分分析工具 (1)1. 数据基础:无洼地的DEM.. 32. 关键步骤:流向分析 (4)3. 计算流水累积量 (5)4. 提取河流网络 (6)5.流域分析 (9)6. 其它应用--降水分析(选做) 11水文分分析工具有两种途径使用水文分析功能:(1) 通过Arctoolbox:水文分析工具位于[Spatial Analyst Tools]>>[Hydrology]之下如果Hydrology 工具集没有出现,可以选中某个工具箱后新建一个工具集[Hydrology],然后右键点新建的工具集,在出现的菜单中执行[添加]>>[工具]会出现如右图所示的(2) 另一种方法是添加[Hydrology]工具栏到ArcMap 中。

在ArcMap 中执行菜单命令:[工具]>>[定制] 命令点击 [从文件添加]按钮找到esrihydrology_v2.dll 文件注意:这个文件通常是在ArcGIS的安装路径下,默认的情况是[C:\ProgramFiles\ArcGIS\DeveloperKit\samples\SpatialAnalyst\HydrologicModeling\Visual_Bas ic][Hydrology Modeling]工具条就被加载到ArcMap,在其前面的检查框上打上勾,如下图所示。

[Hydrology Modeling]工具条就可以显示在ArcMap中注意:以下的练习基于 Hydrology Modeling 工具1. 数据基础:无洼地的DEM在ArcMap中加载 DEM数据,执行工具条 [Hydrology Modeling]中的菜单命令[ Hydrology ]>>[ Fill Sinks],在出现的对话框中将 [Input Surface]参数指定为“DEM”确定后得到无洼地的DEM数据:[ Filled Sink1 ]2. 关键步骤:流向分析在上一步的基础上进行,执行工具条 [Hydrology Modeling]中的菜单命令[ Hydrology ]>>[ Flow Direction ],在出现的对话框中将 [Input Surface]参数指定为“Filled Sink1”确定后得到流向栅格 [ Flow Direction1],了解流向栅格单元的数值表示的含义是什么3. 计算流水累积量在上一步的基础上进行,执行工具条 [Hydrology Modeling]中的菜单命令[ Hydrology ]>>[ Flow Accumulation ],在出现的对话框中将 [Direction Raster]参数指定为“Flow Direction1”确定后得到流水累积量栅格[Flow Accumulation1]4. 提取河流网络(1) 提取河流网络栅格:在上一步的基础上进行,打开Arctoolbox,运行工具[Spatial Analyst Tools]>>[Map Algebra]>>[单输出地图代数]在 [地图代数表达式]中输入公式:con (Flow Accumulation1>800,1)[输出栅格]指定为:StreamNet说明:通过此操作将流水累积量栅格[Flow Accumulation1]中栅格单元值(流水累积量)大于800的栅格赋值为1,从而得到河流网络栅格[StreamNet]1 setnull2 con3 pick up这三个命令很有用。

setnull,将栅格图像中满足条件的栅格值设置为null,即nodata,这样很便于在栅格图像中删除不需要的部分。

其对应Grid模块命令为setnull,格式:outgrid = setnull <ingrid > 5, ingrid>,表示,如果ingrid》5,则变为nodata,否则返回为原值。

con表示条件,如果满足条件,返回为指定值1,否者返回为指定值2,Grid命令:outgrid = con < ingrid > 5, 10 ,100>,表示,如果ingrid值>5,则对应栅格值改为10,否者改为100。

若100不指定,则返回为nodata。

这里可以指定多个条件。

pick up,我还没看到呢。

ps。

发现toolbox有个特点,右击命令的话可以批处理哦。

得到的的河流网络栅格:StreamNet关闭除[Streamnet]之外的其它图层(2) 提取河流网络矢量数据在上一步的基础上进行,执行工具条 [Hydrology Modeling]中的菜单命令[ Hydrology ]>>[ Stream Network As Feature ],在出现的对话框中将 [Direction Raster]参数指定为“Flow Direction1”,[Accumulation Raster]参数指定为“Flow Accumulation1”,[Minimum Number of Cells for a Stream]参数指定为 1000确定后得到河流网络矢量数据(3) 平滑处理河流网络打开[编辑器]工具栏,执行工具栏中的命令[编辑器]>>[开始编辑],确保目标图层为河流网络图层[Shape1],通过打开[Shape1属性表,并选择属性表的所有行选择图层[Shape1]中的所有要素,也可以通过要素选择按钮选择图层中所有要素执行[编辑器]工具栏中的命令[编辑器]>>[更多的编辑工具]>>[高级编辑]打开工具条:[高级编辑],点击其上的[平滑]按钮(下图中前头所指):在[平滑]处理对话框中输入参数[允许最大偏移]:3得到平滑后的河流网络矢量图层,执行命令: [编辑器]>>[停止编辑],保存所做修改。

比较平滑处理后的数据与没有进行处理过的数据5.流域分析在上一步的基础上进行,执行工具条 [Hydrology Modeling]中的菜单命令[ Hydrology ]>>[ Watershed ],在出现的对话框中将 [Direction Raster]参数指定为“Flow Direction1”,[Accumulation Raster]参数指定为“Flow Accumulation1”,[Minimum Number of Cells for a Stream]参数指定为 2000确定后得到流域栅格 [Watershed1]打开[空间分析] 工具栏,执行命令:[空间分析]>>[转换]>>[栅格到要素] 将流域栅格转换成为矢量图层,按下图所示指定参数:得到矢量数据:[WaterShed.shp]设置图层[Watershed]属性[符号]后得到类似上图的效果重复以上操作步骤并将[Minimum Number of Cells for a Stream]参数指定为 10000,看看结果是否有所不同。

6. 其它应用--降水分析(选做)执行命令 [Hydrology]>>[Interactive Properties]选中“Rain Drop”按钮,(如下图红色前头所指),在DEM上任意位置点击(表示这里有降雨),则显示一条路径表示此处的降水的最终流向。

相关主题