转自原文 利用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_exam1

3.水流积聚计算

这里主要使用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所生

成的河网矢量。

最后得到的河网如下图所示。但是由于是栅格转换而来。生成的河网并不是连续的矢量。可以根据需要做简单的处理。

ArcGIS Spatial Analyst包含一些从水文和地形信息中处理和获取新信息的专门工具。

当进行水流建模时,您需要了解水流的来源和去向. ArcGIS Spatial Analyst提供了用于进行地形表面汇流计算的工具, 它为描绘汇流网络和汇水盆地、流长计算以及确定水系级别等提供了必要的基础.该类数据通常用于将地形信息综合到水文模型中。

地下水工具可以用于进行简单的地下水二维水流和要素建模。达西流量(Darcy Flow)工具用于从水文地理数据中生成地下水流域。达西流量工具可以从一个点源出发,穿过流域,跟踪汇流路径。多孔喷嘴(Porous Puff)工具可用于计算水中化学物品或成分沿流域扩散的状况。

可利用的水文工具包括:

汇水量计算工具(Flow Accumulation)

汇水方向计算工具(Flow Direction)

流长计算工具(Flow Length)

填充(Fill)

下沉接收(Sink)

水系(Stream Link)

水系级别(Stream Order)

水系至特征(Stream To Feature )

分水岭(Watershed)

达西流量(Darcy Flow)

颗粒物跟踪(Particle Track)

多孔喷嘴(Porous Puff)

利用ArcGIS水文分析工具提取河网的更多相关文章

  1. 利用水文分析方法提取山脊线和山谷线(ArcPy实现)

    一.背景 作为地形特征线的山脊线.山谷线对地形.地貌具有一定的控制作用.它们与山顶点.谷底点以及鞍部点等一起构成了地形起伏变化的骨架结构.同时由于山脊线具有分水性,山谷线具有合水性特征,使得它们在地形 ...

  2. ArcGIS水文分析实战教程(15)库容和淹没区计算

    库容和淹没区计算 的基本流程 要计算库容就必须先计算出该集水区面积,并且通过不同的水位计算出淹没区,并利用淹没区去裁剪DEM数据,将水面与下垫面的体积计算出来,这就是水库的库容.由于有了前面的基础,这 ...

  3. ArcGIS空间分析工具

    1. 3D分析 1.1. 3D Features toolset 工具 工具 描述 3D Features toolset (3D 要素工具集) Add Z Information 添加 Z 信息 添 ...

  4. arcgis水文分析

    前言 1.在开始之前首先需要注意几点: 1.arcgis 需要 python2.7 的支持,并有必要的模块库,请一定注意避免与其他软件冲突,例如tecplot 2009 需要python2.5的支持, ...

  5. Smartbi:利用好excel分析工具,数据分析都是小case!

    数据分析听起来好像很高端的样子,但是实际上在一些IT高手的眼里,只需要掌握以下几个excel数据分析小工具的使用,你也能够成为别人眼中的数据大神! 1.excel数据分析工具--条件格式 快速找出符合 ...

  6. GIS案例学习笔记-水文分析河网提取地理建模

    GIS案例学习笔记-水文分析河网提取地理建模 联系方式:谢老师,135-4855-4328,xiexiaokui#qq.com 目的:针对数字高程模型,通过水文分析,提取河网 操作时间:25分钟 数据 ...

  7. GIS与水文分析(1)GIS与水文学

    GIS与水文分析(1)GIS与水文学 对于大部分GIS从业人员或者利用GIS作为研究方向的人员来说,水文学过于专业,更偏重于理论化,很难从GIS的角度来模拟和分析水文的过程.这其实是个普遍性的问题,任 ...

  8. ArcGIS案例学习笔记4_2_水文分析批处理地理建模

    ArcGIS案例学习笔记4_2_水文分析批处理地理建模 联系方式:谢老师,135_4855_4328,xiexiaokui#139.com 概述 计划时间:第4天下午 目的:自动化,批量化,批处理,提 ...

  9. ArcGIS案例学习笔记4_1_水文分析

    ArcGIS案例学习笔记4_1_水文分析 联系方式:谢老师,135_4855_4328,xiexiaokui#139.com 概述 计划时间:第4天上午 教程: pdf page478 数据:实验数据 ...

随机推荐

  1. javascript ---(常用工具类的封装)

    1. type 类型判断 isString(o) { //是否字符串 return Object.prototype.toString.call(o).slice(8, -1) === 'String ...

  2. [SHOI2008]堵塞的交通(线段树维护联通性)

    题目 2行c列个点,开始时互不联通,支持给同一列或着同一行相邻的两个点连边,和询问两个点能否在一个联通块里. 1≤C≤100000 1<=操作数<=100000; 题解 线段树的又一个骚操 ...

  3. struts2怎么返回一个字符串给jsp?(使用json)

    我们都知道使用servlet时可以直接用PrintWriter对象的print方法来向页面传送一些字符串(可以是html标签和内容),然后在用RequestDispatcher来转向网页 虽Strut ...

  4. ArcSDE学习笔记------了解ArcSDE

    刚来公司的时候一直在做地图服务,用的是ArcGIS,然后对地图的操作用的是普通的数据库操作.后来带我的一个同事让我学习一下ArcSDE.那么ArcSDE到底是什么呢?明明所有的操作我用普通数据库也实现 ...

  5. NYOJ_77 开灯问题

    题目地址 分析: 用一个数组来保存每盏灯的操作的次数.推断奇偶就可以推断灯的状态. 最后的输出格式须要注意一下空格的位置,思路就是现输出一个.剩下来的输出在前面加一个空格. 空格用_表示: 1_3_5 ...

  6. double long float类型读入读出 double取模 fmod

    The library of fmod is #include <cmath> #include<cstdio> #include<cstdlib> #includ ...

  7. 线程池系列一:线程池作用及Executors方法讲解

    线程池的作用: 线程池作用就是限制系统中执行线程的数量.     根据系统的环境情况,可以自动或手动设置线程数量,达到运行的最佳效果:少了浪费了系统资源,多了造成系统拥挤效率不高.用线程池控制线程数量 ...

  8. 3.菜鸟教你一步一步开发 web service 之 axis 服务端创建

    转自:https://blog.csdn.net/shfqbluestone/article/details/37610601 第一步,新建一个工程,如图: 选 Java 写一个工程名,选择好工程路径 ...

  9. ES6学习笔记(九)Set和Map数据结构

    1.set 基本等于Java的Set集合类型,无序不可重复集,常被用来去重. 基本用法 const s = new Set();//通过Set()构造函数创建 [2, 3, 5, 4, 5, 2, 2 ...

  10. 昼猫笔记 -- 面向对象(II) - 继承

    继承 由于js不像java那样是真正面向对象的语言,js是基于对象的,它没有类的概念. 所以,要想实现继承,可以用js的原型prototype机制或者用apply和call方法去实现,还有就是js可以 ...