一、概述

DEM是数字高程模型(Digital Elevation Model)的简称,接触GIS,规划,设计类的多多少少会接触到DEM,可是这个直接查看黑溜溜一片DEM到底可以用来做什么呢?

二、背景

在大多应用中DEM只是是原始数据,想要让它具体发挥价值的话,就必须要对其进行分析以及处理操作,很多人第一反应是使用ArcGIS进行分析,然后上网查各类ArcGIS的相关教程,并且如果本地没有ArcGIS的话,还需要花一些功夫去找软件进行下载,安装以及激活......这些都会花费不少的时间,并且对于一些低配机子来说,含有众多工具的ArcGIS进行DEM数据处理的效率还很低。这时候我们最想要的效果就是,用轻量化的软件以最少的步骤来最快的获取所需要的结果,对于DEM的处理来说,Global Mapper(以下简称GM)就是一个较好的软件。

那么GM到底如何处理DEM呢?网上的教程太少?官方的帮助文档是英文?没关系!本文就会对6个功能点结合实际应用进行详细的讲解呢。

三、功能介绍

 全球5米12米30米DEM样例数据免费下载:http://suo.im/5YUCpb

1.  晕渲图

网上下载或者项目发来的DEM,直接看上去是黑漆漆的一片,完全看不出地形的样子,这类数据到底如何查看呢?

黑漆漆一片的原因是因为,tif默认识别是图片,用图片浏览器查看dem由于是按图片的编码进行展示的,所以看不到具体的东西,展示出来就是一片黑。这里就需要使用GIS类软件对dem进行加载了,直接将tif拖入GM即可看到如下效果:

这么一看是不是就清楚多了,地形的高程以不同颜色显示着,一眼就看出了地形的样子。这个其实是dem的晕渲图效果,在工具栏中我们也可以根据不同的晕渲效果制作不同的专题图。

这样的话我们就可以根据不同的需求生成不同的晕渲图,并将其进行成图进行展示,如下我们选择边坡渲染效果,即可将坡度信息以可视化的形式直接显示出来。

然后我们将渲染图导出,即可直接获取jpg格式的图片,这样就可以在其他地方进行直接查看了。

这里我们选择JPG格式(也可以选择其他的图片格式)后点击确定进入下一步:

接下来是具体的输出配置界面,按照默认配置直接点击确定即可输出:

在选择保存的路径后,我们就可以完成导出,并且可以直接是用图片浏览器看到效果了呢。

2.  裁剪

在规划设计中,常常要使用无人机的航拍来的数据来制作dem以生成地形图,但是由于无人机航拍来相片是带有建筑的,所以最后生成的实则为dsm数据而非dem数据,并且整体的范围也会比所需要的地方大,这时候我们就需要对数据结果来进行裁剪操作。

这里我们将无人机建模获取到的dsm直接拖入GM中:

这里我们可以看到,右下角有明显的建筑轮廓,我们也可以点击3D按钮切换到三维视角来进一步确认:

这里我们就需要通过裁剪功能来将我们不需要的建筑去除,并且将范围控制到我们实际需要的高坡部分。

首先我们先在软件中绘制一个范围所需要的范围:

在有了范围后我们即可对这个面用数字化工具进行选择:

在左侧图层栏中对我们要进行的裁剪的dsm进行双击或者右击==>选项:

接下来弹出的高程选项界面中,我们点击裁剪按钮:

勾选“裁剪当前选定的多边形”这一条,然后点击确定即可完成裁剪:

这儿再将之前绘制的面进行隐藏,获取到的即为我们需要的dem数据:

但是到这一步,我们只是完成了一半,数据本身其实并没有被裁减,只是其他区域被进行了隐藏,如果要获取到最终裁减好的数据,我们必须对裁剪好的数据进行输出。

在菜单栏,我们选中文件菜单进行下拉,并选择“导出”选项中的“导出高程网格格式”功能:

这里我们选择GeoTIFF(tif)格式输出,点击确定进入下一步:

这里直接根据默认的选项点击确定进后选择输出路径即可输出:

3.  更改海拔

dem是有海拔基准的,我们一般GPS获取到的是大地高,在不同区域的高程面都可能不同,那我们如果需要实际规划设计时,就需要指定高程系的dem数据。有时候我们会碰到,获取到的dem和实际需要的高程系并不同,那么我们便需要对dem的高程值进行修改。

这里有一份从供货商那里拿到的dem,数据本身高程是大地高,而甲方需要的是85高的规划图,那我们就需要先对dem进行高程转换后再基于dem进行规划图的生成。

这里我们根据参数(不同高程系参数不同,并且参数是保密的)计算可以得出高程差为37.8m,接下来我们可以通过GM来直接进行高程的转换。

首先还是将dem拖入GM进行加载:

这里在左侧图层栏中对我们要进行的裁剪的dsm进行双击或者右击==>选项:

接下来弹出的高程选项界面中,我们点击“修改高程值”功能:

这里我们根据具体算出来的高程差进行输入,点击确定即可更改:

这里我们可以看到整体数值前后有了明显的变化:

同样,到了这一步我们的操作也只进行了一半,接下来则需要进行输出才能得到最终的结果:

4.  方量计算

在实际的施工建设中,我们需要在平地上进行建设,所以需要对高于基准面的地方进行挖出,对于低于基准面的地方进行填埋,即填挖方。计算填挖方量与平衡填挖方是竖向规划的一项重要内容。尤其在山地市,需要充分利用自然地形,合理确定规划用地和道路的设计标高,减少土石方工程量,力求填挖方就近平衡,从而降低工程造价。

那么在GM中我们如何实现对于填挖方量的加载呢?首先还是需要先将dem拖入软件进行加载:

然后我们需要绘制一个区域作为填挖方的基准面:

这时我们需要为这个基准面设置一个高度,我们需要使用图元信息工具选中我们所绘制的面并对其高程赋值:

我们这里为其添加一个名为“ELEVATION”的属性,并赋值为1780,点击确定即可:

我们现在再使用数字化工具选中刚才的绘制的面:

在选中的状态下右击该面然后点击“分析/测量”功能进行展开,选择“体积-测量体积(填挖方)”功能:

一般默认点击确定即可:

接下来即可获取到填挖方分析后的数值:

我们这里可以把它导出为csv,在excel中更详细的进行查看:

5.  地形求交

在应用中,我们可能会接触到各种精度的dem,那么我们可以对各个精度dem进行下比较,以下分别为90m,30m,12mdem在GM中加载效果:

可以明显看出dem精度越高,细节显示的越清晰,但是只是从图上看的话并不能看出具体的比较,我们可以借助于地形求交的方式,对各精度dem进行直接的比较。

首先,在分析菜单中选中“结合/比较地形图”功能:

这里我们选择“减法(差值)—有符号”选项,然后选择用30m精度的dem来和90m精度的dem进行比较,其他的设置选择默认即可:

点击确定即可进行求交分析:

这里可以看到,同高程的情况下,两者在细节方面还是有很多差别的,甚至在某些区域有着相对较大的细节差异:

用同样的方法,我们来看下12m精度dem和90m精度dem的差别,可以看出12m比起90m数据多出的细节更加丰富、清晰:

这样我们就可以通过地形求交的方法,直观地看到各精度dem的差异,我们也可以通过dem求差的结果,应用到实际的工程应用中,将工程规划设计图生成的dem与原始dem进行求差,并将求差的结果进行体积、面积计算,这样我们就可以快速的获得填挖方量的信息。

6.  地形3D可视化

在GM中,加载的地形显示的是平面的渲染图,在使用的过程中,不能直观的看到具体的地形效果,这时候我们就需要使用3D视图功能,将平面的地形用三维的方式进行渲染。

首先我们将dem拖入GM后,点击“3D”按钮:

这样, 3D的效果就直接展示在窗口中:

如果地形效果不够明显,还能通过点击“突出高度”按钮进行地形的夸张:

反之,可以通过“限制高度”按钮进行比例的收缩:

这里我们也可以绘制飞行路线,让地形自动进行展示并录制:

四、实战出真知

以上的所有用到数据都会在下面进行提供,与其看着教程不知所措,不如直接下载案例数据进行实操,通过具体操作结合教程来掌握GM的这些地形分析功能。

到手的DEM不会用?教你6个常用强大功能的更多相关文章

  1. 手把手教你编写一个具有基本功能的shell(已开源)

    刚接触Linux时,对shell总有种神秘感:在对shell的工作原理有所了解之后,便尝试着动手写一个shell.下面是一个从最简单的情况开始,一步步完成一个模拟的shell(我命名之为wshell) ...

  2. Tkinter教程之Button篇(1)

    本文转载自:http://blog.csdn.net/jcodeer/article/details/1811298 #Tkinter教程之Button篇(1)#Button功能触发事件'''1.一个 ...

  3. Navicat工具Oracle数据库复制 or 备用、恢复功能(评论都在谈论需要教)

    GXPT它是一个分布式系统,该系统包括一个临时许可系统.基本系统.教学评价体系.考试系统,每个系统都有自己的oracle数据库.统,而评教系统的正常须要借助于权限系统和基础系统,详细的业务这里就不多解 ...

  4. 【干货】2个小时教你hexo博客添加评论、打赏、RSS等功能 (转)

    备注:该教程基于Hexo 2.x版本,目前Hexo是3.x版本,照本教程实现有可能会出现404错误,笔者目前还未找时间去解决,待笔者找时间解决该问题后,再写一篇该问题的解决教程,给各位读者带来困扰,还 ...

  5. 还不知道如何使用 IDEA ?教你三招快速掌握 IDEA

    前言 IntelliJ IDEA 是一个非常强大的 IDE,拥有许多功能.在 IDEA 中大部分功能都可以用快捷键去完成,如果掌握了大部分快捷键,可以只使用键盘开发了. ps: 最近正在练习快捷键,准 ...

  6. 移动端网站如何开发(电脑端网站到手机端网站我们需要在html代码中添加哪个meta标签)

    移动端网站如何开发(电脑端网站到手机端网站我们需要在html代码中添加哪个meta标签) 一.总结 一句话总结: 添加viewport标签:meta name="viewport" ...

  7. Android | 教你如何用华为HMS MLKit 图像分割 SDK开发一个证件照DIY小程序

    Android | 教你如何用华为HMS MLKit 图像分割 SDK开发一个证件照DIY小程序 引子   上期给大家介绍了如何使用如何用华为HMS MLKit SDK 三十分钟在安卓上开发一个微笑抓 ...

  8. 手把手教你定位常见Java性能问题

    概述 性能优化一向是后端服务优化的重点,但是线上性能故障问题不是经常出现,或者受限于业务产品,根本就没办法出现性能问题,包括笔者自己遇到的性能问题也不多,所以为了提前储备知识,当出现问题的时候不会手忙 ...

  9. 《手把手教你》系列基础篇(八十六)-java+ selenium自动化测试-框架设计基础-Log4j实现日志输出(详解教程)

    1.简介 自动化测试中如何输出日志文件.任何软件,都会涉及到日志输出.所以,在测试人员报bug,特别是崩溃的bug,一般都要提供软件产品的日志文件.开发通过看日志文件,知道这个崩溃产生的原因,至少知道 ...

随机推荐

  1. Python自学从入门到就业之函数基础(小白必看)

    函数介绍 <1>什么是函数 请看如下代码: print(" _ooOoo_ ") print(" o8888888o ") print(" ...

  2. chcp437 转换英语,在西班牙语系统中无效

    https://social.technet.microsoft.com/Forums/en-US/9c772011-5094-4df0-bf73-7140bf91673b/chcp-command- ...

  3. Mysql 查看被锁住的表

    MYSQL  查看被锁住的表 -- 本文章仅用于学习,记录   当你在mysql 执行查询语句的时候,简单的一句查询语句却卡很久,一直转圈圈的时候,这时候你就需要怀疑数据库的哪些进程,哪些事物被锁住 ...

  4. 一文揭秘测试平台中是如何将测试用例一键转化Jmeter压测脚本

    ​    ​接上篇,一键转化将接口测试平台测试用例转化成Jmeter压测脚本思路,这里我首先在java 上面做了一个简单的实验,看看 转化的中间遇到的问题,这里呢,我只是给了一个简单的demo 版本, ...

  5. 数学--数论--HDU 6128 Inverse of sum (公式推导论)

    Description 给nn个小于pp的非负整数a1,-,na1,-,n,问有多少对(i,j)(1≤i<j≤n)(i,j)(1≤i<j≤n)模pp在意义下满足1ai+aj≡1ai+1aj ...

  6. P1518 两只塔姆沃斯牛 The Tamworth Two(简单的搜索题)

    题目描述 两只牛逃跑到了森林里.农夫John开始用他的专家技术追捕这两头牛.你的任务是模拟他们的行为(牛和John). 追击在10x10的平面网格内进行.一个格子可以是: 一个障碍物, 两头牛(它们总 ...

  7. poj1679 The Unique MST(最小生成树唯一性)

    最小生成树的唯一性,部分参考了oi-wiki 如果一条不在最小生成树边集内的边,它可以替换一条在最小生成树边集内,且权值相等的边,那么最小生成树不是唯一的 同过kruskal来判断 考虑权值相等的边, ...

  8. Android EventBus踩坑,Activity接收不了粘性事件。

    注解问题 EventBus 的 粘性事件,可以让 成功注册后的 Activity.Fragment 后再接收处理 这一事件. 但是今晚写代码时,突然发现粘性事件,发送不成功了.??? 具体情况是:我在 ...

  9. 进程间通信之socketpair

    socketpair是进程间通信的一种方式. API: ]); DEMO: #include <stdio.h> #include <stdlib.h> #include &l ...

  10. springboot关于webmvc配置问题记录

    在之前的文章(springboot配置静态资源访问路径)中说过,springboot默认的加载静态资源的地方是在resources目录下的static文件夹下,其实除了resources目录下得sta ...