原文 GIS基础软件及操作(七)

练习七、地形分析

地形分析:TIN及DEM的生成及应用

  1. 加深对TIN建立过程的原理、方法的认识;
  2. 熟练掌握ArcGIS中建立DEM、TIN的技术方法;
  3. 结合实际,掌握应用DEM解决地学空间分析问题的能力。

1. TIN 及DEM 生成

矢量数据:

  • 高程点Elevpt_Clip.shp

  • 高程Elev_Clip.shp

  • 边界Boundary.shp

  • 洱海Erhai.shp

本章的大部分练习都会用到三维分析扩展模块,要使用“三维分析模块”首先在ArcMap中执行菜单命令【自定义】>【扩展模块】,在扩展模块管理窗口中,勾选【3D
Analyst】。然后在ArcMap
工具栏的空白区域点右键,在出现的右键菜单中找到【3D
Analyst】项,点击该项,在ArcMap中显示三维分析工具栏。


1.1由高程点、等高线矢量数据生成TIN转为DEM

(1) 在ArcMap中新建一个地图文档,添加矢量数据:Elevpt_Clip、Elev_Clip、Boundary、Erhai;

(2) 在ArcToolbox中双击【3D Analyst工具】>【TIN管理】>【创建TIN】,打开【创建TIN】对话框;

(3) 在对话框中添加上述4个图层,参数设置如下图(注意:在构建Erhai图层时,SF_type参数需要设置为“硬替换”)

【创建TIN】对话框中的参数说明:

height_field:高程字段,用于提供要素的高程值。当图层中无高度属性时,可选“<None>”,但至少要保证有一个图层属性表中有高程值。

SF_type:表面要素类型字段,用于定义如何将要素几何添加到三角形中。

tag_field:标签字段,用于指定在TIN中用做标签值的要素类型属性字段。

“SF_type”字段取值类型说明:

离散多点:是TIN网中的结点,主要决定表面的形状,在表面变化程度较大的区域包括较多的离散点,表面变化程度较小的区域包括较少的离散点。

断裂线:主要用来表示自然要素(如山脊线、河流)或人工要素(如道路),分为硬断线和软断线。

硬断线:用来表示坡度的不连续性,如河流和道路可以作为硬断裂线包括在TIN中;

软断线:用于向TIN添加边,以捕获不会改变表面局部坡度的线状要素,研究区域边界可作为软断裂线包括在TIN中。

(1) 在图层控制中,仅打开[ErHai]和[Tin]两个图层,同时关闭图层[Tin]的“边类型”,可得到如下的效果:

(1) 在ArcToolbox中双击【3D Analyst工具】>【由TIN转出】>【TIN转栅格】,打开【TIN转栅格】对话框,在对话框中设置相关参数(如下图所示):

需要保存在个人数据库中

(1) 确定后得到一个栅格数据图层[tinGrid],其中每个栅格单元表示50m*50m的区域,如下图所示。

1.2 TIN的显示

(1) 在图层控制中,仅打开[Tin]图层,编辑图层的属性,在属性对话框中,点击【符号系统】选项页,将【边类型】和【高程】前面的勾去掉,点击【添加】按钮,如下图所示:

(1) 在【添加渲染器】对话框中,将【具有相同符号的边】和【具有相同符号的节点】添加到TIN的显示列表中,如下图所示:

(1) 点击确定,将[Tin]图层局部放大,认真理解TIN的存储模式及显示方式,如下图所示:

1.3将TIN转换为坡度多边形

(1) 新建地图文档,加载图层[Tin],参考上一步操作,将【具有分级色带的表面坡度】项添加到TIN的显示列表中;

{width=”3.248031496062992in”
height=”2.688976377952756in”}

(1) 在上面的对话框中,选中【坡度(度)】,将【分类】中的【类】指定为“5”,点击【分类】按钮,在下面的对框中,将【分类】中的【方法】指定为“手动”,在【中断值】列表中依次输入坡度中断值:8、15、25、35、90,如下图所示:

点击【确定】后关闭图层属性对话框,图层[Tin]将根据指定的渲染方式进行渲染,效果如下图所示:

(1) 在ArcToolbox中双击【3D Analyst工具】>【表面三角化】>【表面坡度】,打开【表面坡度】对话框,按下图所示指定各参数(注意:需要在【类明细表】中选取数据库SlopeCode.mdb)

得到多边形图层[tinSlope],它表示研究区内各类坡度的分布状况,结果是矢量格式,打开其属性表可以看到属性字段[SlopeCode]
的取值为1、2、3、4、5。

查看矢量图层:tinSlopef
中要素属性表,其中属性字段[SlopeCode]1、2、3、4、5分别表示坡度范围(0-8)、(8-15)、(15-25)、(25-35)、(35-90)

1.4合并破碎多边形

(1) 新建地图文档,加载上一步生成的坡度多边形图层[tinSlope],打开属性表,添加一个字段Area(类型为Double);

(1) 通过【计算几何】操作,计算各个多边形的面积:

(1) 执行菜单命令【选择】>【按属性选择】,打开【按属性选择】对话框,将面积小于等于10000平方米的多边形选择出来,被选中的多边形以高亮方式显示:

(1) 双击ArcToolBox中的【数据管理工具】>【制图综合】>【消除】,打开【消除】对话框,将面积小于等于10000平方米的多边形合并到周围面积最大的多边形中。

原始多边形

合并后的多边形

将地图适当放大,比较原始图层[tinSlope]与合并后的图层[tinSlope_Eliminate]。

Eliminate(合并破碎多边形)操作原理

1.5 TIN转换为坡向多边形

参照1.3节中的操作步骤,可得到坡向多边形图层[tinAspect]:

得到的坡向多边形中属性AspectCode的数值(-1,1,2,3,4,5,6,7,8,9)分别表示当前图斑的坡向(平坦、北、东北、东、东南、南、西南、西、西北、北),其中1,
9是相同的可以合并为1。

2. DEM的应用

2.1坡度Slope

(1) 新建地图文档,加载1.1节第6步中得到的栅格数据[tinGrid];

(2) 双击ArcToolBox中的【Spatial Analyst工具】>【表面分析】>【坡度】,打开【坡度】对话框,参照下图指定各参数:

(3) 得到坡度栅格Slope_TinGrid,栅格单元的值在[ 0 -90 ] 度间变化:

(1) 右键点击图层[Slope_TinGrid],执行[属性命令],设置图层[符号],重新调整坡度分级(参考1.3节中第2步进行分类):

2.2坡向Aspect

(1) 新建地图文档,加载1.1节第6步中得到的栅格数据[tinGrid];

(2) 双击ArcToolBox中的【Spatial Analyst工具】>【表面分析】>【坡向】, 打开【坡向】对话框,参照下图指定各参数:

(1) 得到坡向栅格[AspectTinGrid]:

2.3提取等高线

(1) 新建地图文档,加载栅格数据[tinGrid];

(2) 双击ArcToolBox中的【3D Analyst工具】>【栅格表面】>【等值线】,打开【等值线】对话框,参照下图指定各参数:

(1) 生成等高线矢量图层[Contour_TinGrid]:

2.4计算地形表面的阴影图

(1) 新建地图文档,加载栅格数据[tinGrid];

(2) 双击ArcToolBox中的【3D Analyst工具】>【栅格表面】>【山体阴影】,打开【山体阴影】对话框,参照下图指定各参数:

(1) 生成地表阴影栅格:[ShadowTinGrid]:

(1) 关闭除[TinGrid]和[ShadowTinGrid]以外的所有图层,并将[TinGrid]置于[ShadowTinGrid]之上,右键点击[TinGrid],在出现的右键菜单中执行【属性】,在【图层属性】对话框中,参照下图所示设置【符号系统】选项页中颜色:

(1) 打开工具栏【效果】,如下图所示,设置栅格图层[TinGrid]的透明度为40%左右,以便部分透出下层的山体阴影效果。

2.5通视分析

(1) 新建地图文档,加载栅格数据[tinGrid];

(2) 打开【3DAnalyst】工具栏,从工具栏选择【创建通视线】工具:

(1) 在出现的【通视线】对话框中输入【观察点偏移】和【目标偏移】,即距地面的距离,如图:

在地图显示区中从某点A沿不同方向绘制多条直线,可以得到观察点A到不同目标点的通视性:

绿色线段表示可视的部分,红色线段表示不可见部分

2.6视域分析

(1) 新建地图文档,加载栅格数据[tinGrid]和矢量数据[移动基站.shp];

(2) 双击ArcToolBox中的【3D Analyst工具】>【可见性】>【视域】,打开【视域】对话框,参照下图指定各参数:

(1) 生成可视区栅格[View_TinGrid],其中绿色表示现有发射基站信息已覆盖的区域,淡红色表示无法接收到手机信号的区域。

2.7地形剖面

(1) 新建地图文档,加载栅格数据[tinGrid];

(2) 打开【3DAnalyst】工具栏,从工具栏选择【线插值】工具,跟踪一条线段,这条线段可以从[tinGrid]中得到高程值:

(1) 从【3DAnalyst】工具栏中选择【创建剖面图】工具,得到该线段所在区域的剖面图:

作者: 王顺利 
发表于: 2016-01-14 14:56:18 
更新于: 2016-04-28 21:41:49 
原文链接: http://www.wshunli.com/2016/01/14/GIS基础软件及操作-七/
本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。

GIS基础软件及操作(七)的更多相关文章

  1. GIS基础软件及操作(五)

    原文 GIS基础软件及操作(五) 练习五.空间分析的基本操作 空间分析的基本操作 空间分析模块 空间分析是基于地理对象的位置和形态的空间数据的分析技术,其目的在于提取和传输空间信息.空间分析是地理信息 ...

  2. GIS基础软件及操作(六)

    原文 GIS基础软件及操作(六) 练习六.空间分析的应用 1.加深对缓冲区分析基本原理.方法的认识:2.熟练掌握距离制图创建缓冲区技术方法.3.掌握利用缓冲区分析方法解决地学空间分析问题的能力. 1. ...

  3. GIS基础软件及操作(四)

    原文 GIS基础软件及操作(四) 练习四.空间数据处理 1.空间数据处理(融合.合并.剪切.交叉.合并)2.设置地图投影及投影变换 空间数据处理 数据:云南县界.shp; Clip.shp西双版纳森林 ...

  4. GIS基础软件及操作(三)

    原文 GIS基础软件及操作(三) 练习三.地图配准操作 1.对无坐标信息的地形图(图片格式)进行地图配准操作2.编辑器的使用(点要素.线要素.多边形要素的数字化) 本例主要介绍如何给无坐标信息的地形图 ...

  5. GIS基础软件及操作(二)

    原文 GIS基础软件及操作(二) 练习二.管理地理空间数据库 1.利用ArcCatalog 管理地理空间数据库 2.在ArcMap中编辑属性数据 第1步 启动 ArcCatalog 打开一个地理数据库 ...

  6. GIS基础软件及操作(一)

    原文  GIS基础软件及操作(一) 练习一.浏览地理数据 使用 ArcGIS浏览地理数据 第1步 启动 ArcMap 启动ArcMap.执行菜单命令:开始>>所有程序>> Ar ...

  7. GIS基础软件及操作(十一)

    原文 GIS基础软件及操作(十一) 练习十一.3D 可视分析 1.对地理数据进行透视观察.三维浏览:2.制作飞行动画 GIS数据三维显示 (1) 运行程序:[开始菜单]>>[所有程序]&g ...

  8. GIS基础软件及操作(十二)

    原文 GIS基础软件及操作(十二) 练习十二. ArcMap制图-地图版面设计 设置地图符号-各种渲染方式的使用 使用ArcMap Layout(布局)界面制作专题地图 将各种地图元素添加到地图版面中 ...

  9. GIS基础软件及操作(十)

    原文 GIS基础软件及操作(十) 练习十.网络分析 (1) 加深对网络分析基本原理.方法的认识:(2) 熟练掌握ARCGIS下进行道路网络分析的技术方法:(3) 结合实际.掌握利用网络分析方法解决地学 ...

随机推荐

  1. TensorFlow 实现深度神经网络 —— Denoising Autoencoder

    完整代码请见 models/DenoisingAutoencoder.py at master · tensorflow/models · GitHub: 1. Denoising Autoencod ...

  2. 【Qt程序】基于Qt词典开发系列&lt;十二&gt;呼叫讲述

    我们知道,win7系统自带有讲述人,即能够机器读出当前内容,详细能够将电脑锁定.然后点击左下角的button就可以.之前在用Matlab写扫雷游戏的时候,也以前调用过讲述人来进行游戏的语音提示. 详细 ...

  3. Cordova热更新和App升级 - 简书

    原文:Cordova热更新和App升级 - 简书 公司的cordova项目前段时间增加了热更新功能,自己第一次做的时候在网上查找了很多资料,有的资料写的并不全面遇到了很多坑.因此总结一些在开发过程中遇 ...

  4. Opencv目标跟踪—CamShift算法

    CamShift算法全称是"Continuously Adaptive Mean-Shift"(连续的自适应MeanShift算法),是对MeanShift算法的改进算法,可以在跟 ...

  5. In partitioned databases, trading some consistency for availability can lead to dramatic improvements in scalability.

    In partitioned databases, trading some consistency for availability can lead to dramatic improvement ...

  6. 将memo转化为JPG输出,使用Memo1.PaintTo(Bitmap.Canvas)

    unit unit1; interface uses  Windows, Messages, SysUtils, Graphics, Controls, Forms, StdCtrls,  Class ...

  7. PL/SQL Developer跑在Oracle 64位数据库上初始化错误

    安装完Oracle(64位).PL/SQL Developer后执行PL/SQL出现例如以下的错误: 网上查资料说,我的PL/SQL Developer与ORACLE不兼容,即PL/SQL不支持64位 ...

  8. numpy 辨异(四)—— np.repeat 与 np.tile

    >> import numpy as np >> help(np.repeat) >> help(np.tile) 二者执行的是均是复制操作: np.repeat: ...

  9. python 判断一个数为?

    1. 判断一个变量是否数字(整数.浮点数)? instance('a', (int, long, float)) True isinstance('a', (int, long, float)) Fa ...

  10. OpenMP中的同步和互斥

    在多线程编程中必须考虑到不同的线程对同一个变量进行读写访问引起的数据竞争问题.如果线程间没有互斥机制,则不同线程对同一变量的访问顺序是不确定的,有可能导致错误的执行结果. OpenMP中有两种不同类型 ...