ArcGIS空间分析的一个特别好的分析教程是汤国安老师的空间分析的内容。
实例与练习
练习1. 利用水文分析方法提取山脊、山谷线
1. 背景:山脊线、山谷线是地形特征线,它们对地形、地貌具有一定的控制作用。它们与山顶点、谷底点以及鞍部点等一起构成了地形及其起伏变化的骨架结构。因此在数字地形分析中,山脊线和山谷线以及地形特征点等的提取和分析是很有必要的。
2. 目的:理解基于DEM结合水文分析的方法提取出研究区域的山脊线和山谷线的原理;掌握水流方向、汇流累积量的提取方法以及它们的提取原理;能将水文分析的方法和其它的空间分析方法相结合以解决应用问题。
3. 要求:
(1)利用水文分析思想和工具提取研究区域的山脊线;
(2)利用水文分析思想和工具提取研究区域的山谷线。
4.数据:一幅25m分辨率的黄土地貌DEM数据,数据的区域大概有140 km2。数据存放于…/ChP11/Ex1中,请将其拷贝到E:/ChP11/Ex1。结果数据保存在…/ChP11/Ex1/Result中。
5.算法思想:
基于DEM的这种地形表面流水物理模拟分析的原理是:对于山脊线而言,由于它同时也是分水线,那么对于分水线上的那些栅格,由于分水线的性质是水流的起源点,通过地表径流模拟计算之后这些栅格的水流方向都应该只具有流出方向而不存在流入方向,也就是其栅格的汇流累积量为零。通过对零值的汇流累积值的栅格的提取,就可以得到分水线,也就得到了山脊线;对于山谷线而言,由于其具有汇水的性质,那么对于山谷线的提取,可以利用反地形的特点,即是利用一个较大的数值减去原始的DEM数据,而得到了与原始地形完全相反的地形数据,也就是原始的DEM中的山脊变成负地形的山谷,而原始DEM中的山谷在负地形中就变成了山脊,那么,山谷线的提取就可以在负地形中利用提取山脊线的方法进行提取。
山脊线=分水线=水流起源点=只有流出方向=栅格汇流累积量为零
山谷线=反地形的山脊线


基于DEM利用水文分析的方法提取山脊线和山谷的技术流程如图1所示。


6. 操作步骤

  • 正负地形的提取
    1) 启动ArcToolbox,展开Analysis Tools工具箱,打开hydrology工具集。在图层管理器中加载研究区域的原始DEM数据,如图2所示。图2 研究区域的DEM数据

    2) 加载Spatial Analyst模块,点击Spatial Analyst模块的下拉箭头,点击neighborhood statistics菜单工具,利用邻域分析的方法以11×11的窗口计算平均值。分析结果命名为meandem。
    3) 点击spatial analyst中的raster calculator菜单工具,对原始DEM数据与邻域分析之后的数据meandem做减法运算,并将运算结果重分为两级,分级界线为0,那么大于0的区域在原始DEM上就是正地形区域,小于0的区域在原始DEM上就是负地形区域。
    4) 对上一步得到的二值化数据进行两次重分类,一次将正地形区域属性值赋值为1,负地形区域属性赋值为0,命名为zhengdixing;另一次将正地形区域属性值赋值为0,负地形区域属性赋值为1,命名为fudixing。分别如图3、图4所示。

  • 山脊线的提取

1) 在ArcMap中加载研究区域的原始DEM数据,如图2所示。
2) 洼地填充:双击hydrology工具集中的fill工具,进行原始DEM的洼地点填充。在Input surface raster文本框中选择原始DEM数据dem,将输出数据命名为filldem,因为选择的是将所有洼地全部填充,所有在填充容限Z limit为默认值。
3) 基于无洼地的水流方向的计算:双击hydrology工具集中的flow direction工具,在Input surface raster文本框中选择填充过的无洼地DEM数据filldem,将输出的水流方向数据命名为flowdirfill。
4) 汇流累积量的计算:双击hydrology工具集中的flow accumulation工具。选择flowdirfill作为输入的水流方向数据;输出数据命名为flowacc1。
5) 汇流累积量零值的提取:加载Spatial Analyst模块,点击Spatial Analyst模块的下拉箭头,然后单击raster calculator菜单,打开栅格计算对话框,在文本框中填写汇流累积量零值的提取公式:facc0 = (flowacc = 0),然后点击evaluate进行计算。计算结果为所有的汇流累积量为0的栅格。
6) 在ArcMap中打开facc0,发现所提取出的栅格很乱,有很多的地方并不是山脊线的位置,因此应对这个数据进行处理。处理过程可以利用邻域分析的方法,对提取出的汇流累积量等于零值的数据进行3×3邻域分析进行光滑处理,处理后的数据命名为neiborfacc0。
7) 单击spatial analyst模块中的surfer analyst中的countline和hillshade菜单命令,分别生成原始DEM的等值线图ctour和晕渲图hillshade。
8) 打开neiborfacc0数据的属性信息,进行重新分类,将分类级别设置为两类,不断的调整分界数据大小,并以由DEM生成的等值线图和晕渲图为辅助判断数据。在neiborfacc0中,属性值越接近于1的栅格越有可能是山脊线的位置,这里确定的分界阈值为0.5541。
9) 将进行过二值化的neiborfacc0进行重分类为reneibor,将属性值接近1的那一类的属性值赋值为1,其余的赋值为0。
10)将重分类过后的neiborfacc0数据与正地形数据zhengdixing利用spatial analyst菜单下的raster calculator进行相乘运算,这样就消除了那些存在在负地形区域中的错误的山脊线。然后将计算结果进行重分类,所有属性不为1的栅格属性值赋为NO DATA。就得到了山脊线,如图5所示。


  • 山谷线的提取

1) 在ArcMap中加载原始DEM数据,如图2所示。
2) 加载Spatial Analyst模块,点击Spatial Analyst模块的下拉箭头,点击options raster calculator菜单工具,打开栅格计算对话框;在文本框中填写反地形的计算公式:fandem =Abs (dem-2000),点击evaluate进行计算。计算结果与原始DEM地形完全相反的反地形数据,如图6所示。
3) 反地形计算完毕之后,山谷线的提取就和山脊线的提取步骤一样的,直到最终利用重分类的方法将重新分级的邻域分析后的结果二值化为止。在这里,是不需要对反地形DEM进行洼地填充的。计算过程中的数据名称分别为:水流方向数据为flowdirfan,汇流累积数据为flowacc2,零值汇流累积量提取数据为flowacc0fan,对flowacc0fan进行均值3×3邻域分析后的结果数据为nbfacc0fan,并将其分级改为两级,分级阈值为0.65677。
4)将重分类过后的数据与负地形数据fudixing利用spatial analyst菜单下的raster calculator进行相乘运算,这样就消除了那些存在在负地形区域中的错误的山脊线。然后将计算结果进行重分类,所有属性不为1的栅格属性值赋为NO DATA。就得到了山谷线,如图7所示。

图7 计算出的研究区域的山谷线(图中深色区域,背景为该区域的晕渲图)

01 ArcGIS空间分析--水文分析--利用水文分析方法提取山谷山脊线相关推荐

  1. ArcGis空间分析学习:土地利用动态变化分析

    说明:本实验主要参考GIS空间分析实验教程-田永中,适合初学者参阅 目录 一.实验理论 (1)实验目的 (2)实验内容 (3)实验原理 (4)实验方法 (5)实验流程 (6)实验材料 二.实验步骤 ( ...

  2. python财务报表分析-浅谈利用Python分析财报找到值得投资的好公司的想法

    17年12月份接触到了007战友林晓燕老师的不读财报不出局,才知道投资股票还有那么多门道,也了解到了MJ老师挑选股票的标准--五大关键数字力. 跟着林老师开始学习财报以来,老是觉得光靠人工来挑选符合& ...

  3. 利用Erdas监督分类方法提取城镇用地信息完整实验操作步骤

    打开erdas,分波段加载landsat TM 影像信息,并转成img图像格式文件. 1.打开erdas,点击viewer打开新窗口,点击打开图标,选择要加载的一个波段的tif图像,点击OK. 2.点 ...

  4. matlab电阻在,利用MATLAB分析电阻电路.doc

    利用MATLAB分析电阻电路 利用MATLAB分析电阻电路 学 院: 物理电气信息学院 专 业: 通信工程 姓 名: 顾 川 学 号: 12010245242 指导老师: 汤全武 利用MATLAB分析 ...

  5. CV之FR:基于DIY人脸图像数据集(每人仅需几张人脸图片训练)利用Hog方法提取特征和改进的kNN算法实现人脸识别并标注姓名(标注文本标签)—(准确度高达100%)

    CV之FR:基于DIY人脸图像数据集(每人仅需几张人脸图片训练)利用Hog方法提取特征和改进的kNN算法实现人脸识别并标注姓名(标注文本标签)-(准确度高达100%) 目录 基于DIY人脸图像数据集( ...

  6. [ArcGIS] 空间分析(八) 水文分析

    理论基础:https://blog.csdn.net/summer_dew/article/details/82974108 文章目录 无洼地DEM生成 水流方向提取 洼地计算 洼地填充 汇流累积量 ...

  7. matlab 山脊 提取,ArcGIS中利用水文分析提取山脊线山谷线

    1 流程图 利用水文分析提取山脊线及山谷线,山脊线相当于分水线,山谷线相当于山谷线.分水线是水流的起源点,这些栅格的水流方向只存在流出方向而不存在流入方向,所以汇流累积量为零.通过对零值的提取就可以得 ...

  8. ArcGIS水文分析实战教程(6)河流提取与河网分级

    ArcGIS水文分析实战教程(6)河流提取与河网分级 本章导读:ArcGIS水文分析模块提供了3个工具用作河网提取.GIS和测绘专业人员无法理解,用作水文分析连DEM数据都能拿到了(精度较高的DEM数 ...

  9. 利用水文分析方法提取山脊、山谷线

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

最新文章

  1. 动态改变标题_插入控件-gt;引用变量-gt;实现动态图表纵横筛选
  2. 谷歌公布GSoC 2020 暑期代码项目名单,200个开源项目30个新增
  3. Cocoa如何应用设计模式
  4. Hive学习笔记,你想知道的Hive
  5. 低秩矩阵完备_多源域和多视角 “秩约束”
  6. 线程安全的CopyOnWriteArrayList介绍
  7. python3.7安装Numpy库
  8. 2021走出数字化迷航,个体的获得感已成指路“灯塔”
  9. 需求预测——Predicting origin-destination ride-sourcing demand with a spatio-temporal encoder-decoder
  10. 孩子不听话家长怎么办
  11. 送给1987年左右的朋友,看完是不是有些泪水
  12. 计算机网络五要素,网络安全五个基本要素是什么
  13. 《笑傲江湖》人名解读
  14. U-BOOT小全(一)
  15. 计算机网络-传输层:TCP协议
  16. | 名师博客 | 地址 |
  17. Flink的背压机制
  18. JAVA中实现让程序等待一段时间的方法
  19. 用osworkflow写一个请假例子
  20. 两电平逆变器的一些简单小知识

热门文章

  1. 最新版Shiro-SpringBoot项目实战笔记
  2. easyExcel自定义背景颜色easyPoi自定义修改表头背景色
  3. solidworks2014激活失效该怎么办?
  4. 靠肝的爬塔不优雅——养成手游《古今江湖》
  5. 禾穗HERS | 不结婚就不孝?催婚季必备三招快学起来!
  6. 分享 | 一份小小的信念
  7. MATLAB 实现电子版的手写签名
  8. 上海升级为欧莱雅集团北亚区总部;西门子与太古可口可乐将共同打造18座数字化工厂 | 美通企业日报...
  9. 【联想RQ940】联想RQ940更换主板电池+重新设置BIOS
  10. 2008年8月25号,星期一,晴。天将降大任于是人也,必先苦其心志,劳其筋骨,饿其体肤,空乏其身,行拂乱其所为。