到手的DEM不会用?教你6个常用强大功能
一、概述
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个常用强大功能的更多相关文章
- 手把手教你编写一个具有基本功能的shell(已开源)
刚接触Linux时,对shell总有种神秘感:在对shell的工作原理有所了解之后,便尝试着动手写一个shell.下面是一个从最简单的情况开始,一步步完成一个模拟的shell(我命名之为wshell) ...
- Tkinter教程之Button篇(1)
本文转载自:http://blog.csdn.net/jcodeer/article/details/1811298 #Tkinter教程之Button篇(1)#Button功能触发事件'''1.一个 ...
- Navicat工具Oracle数据库复制 or 备用、恢复功能(评论都在谈论需要教)
GXPT它是一个分布式系统,该系统包括一个临时许可系统.基本系统.教学评价体系.考试系统,每个系统都有自己的oracle数据库.统,而评教系统的正常须要借助于权限系统和基础系统,详细的业务这里就不多解 ...
- 【干货】2个小时教你hexo博客添加评论、打赏、RSS等功能 (转)
备注:该教程基于Hexo 2.x版本,目前Hexo是3.x版本,照本教程实现有可能会出现404错误,笔者目前还未找时间去解决,待笔者找时间解决该问题后,再写一篇该问题的解决教程,给各位读者带来困扰,还 ...
- 还不知道如何使用 IDEA ?教你三招快速掌握 IDEA
前言 IntelliJ IDEA 是一个非常强大的 IDE,拥有许多功能.在 IDEA 中大部分功能都可以用快捷键去完成,如果掌握了大部分快捷键,可以只使用键盘开发了. ps: 最近正在练习快捷键,准 ...
- 移动端网站如何开发(电脑端网站到手机端网站我们需要在html代码中添加哪个meta标签)
移动端网站如何开发(电脑端网站到手机端网站我们需要在html代码中添加哪个meta标签) 一.总结 一句话总结: 添加viewport标签:meta name="viewport" ...
- Android | 教你如何用华为HMS MLKit 图像分割 SDK开发一个证件照DIY小程序
Android | 教你如何用华为HMS MLKit 图像分割 SDK开发一个证件照DIY小程序 引子 上期给大家介绍了如何使用如何用华为HMS MLKit SDK 三十分钟在安卓上开发一个微笑抓 ...
- 手把手教你定位常见Java性能问题
概述 性能优化一向是后端服务优化的重点,但是线上性能故障问题不是经常出现,或者受限于业务产品,根本就没办法出现性能问题,包括笔者自己遇到的性能问题也不多,所以为了提前储备知识,当出现问题的时候不会手忙 ...
- 《手把手教你》系列基础篇(八十六)-java+ selenium自动化测试-框架设计基础-Log4j实现日志输出(详解教程)
1.简介 自动化测试中如何输出日志文件.任何软件,都会涉及到日志输出.所以,在测试人员报bug,特别是崩溃的bug,一般都要提供软件产品的日志文件.开发通过看日志文件,知道这个崩溃产生的原因,至少知道 ...
随机推荐
- 重大更新!Druid 0.18.0 发布—Join登场,支持Java11
Apache Druid本质就是一个分布式支持实时数据分析的数据存储系统. 能够快速的实现查询与数据分析,高可用,高扩展能力. 距离上一次更新刚过了二十多天,距离0.17版本刚过了三个多月,Druid ...
- 用scanf、printf输入输出string型字符串
c语言里是没有string型的,string在c++里面.有的时候在c++里要用scanf.printf输入输出string型字符串,这是可以实现的,不过要做一点处理. 具体操作看代码: #inclu ...
- php +go关键字实现协程
来源: https://studygolang.com/articles/17631?fr=sidebar 今天在知乎浏览时忽然发现了一个有趣的东西,php竟然可以实现协程的实现,而且还是通过go关键 ...
- centos 服务器上部署 xxl-job 通过 feign 访问 eureka 上注册的 service timeout
部署方式 1.使用 jar 包部署 出现的问题 1.通过 feign 调用其他服务,出现超时的问题,该问题不是 ribbon.hystrix 没有配置导致的超时,经过测试,即使配置了也没有作用,该方法 ...
- Spring5参考指南:基于注解的容器配置
文章目录 @Required @Autowired @primary @Qualifier 泛型 @Resource @PostConstruct和@PreDestroy Spring的容器配置可以有 ...
- jenkins及Maven介绍
一.环境介绍 随着软件开发需求及复杂度的不断提高,团队开发成员之间如何更好地协同工作以确保软件开发的质量已经慢慢成为开发过程中不可回避的问题.Jenkins自动化部署可以解决集成.测试.部署等重复性的 ...
- FPM制作Nginx的RPM软件包
FPM制作Nginx的rpm软件包 FPM相关参数-s:指定源类型-t:指定目标类型,即想要制作为什么包-n:指定包的名字-v:指定包的版本号-C:指定打包的相对路径-d:指定依赖于哪些包-f:第二次 ...
- AbstractQueuedSynchronizer与ReentrantLock
介绍 j.u.c包中的Lock定义了锁的行为. 而ReentrantLock是并发包下提供的一个锁的实现,它是一个可重入的.排他的锁. ReentrantLock有的属性也很简单,除了一个serial ...
- layui表格参数
layui表格对数据进行用table样式展现 举个例子: <!doctype html> <html> <head> <meta charset=" ...
- Java本地的项目,怎么可以让别人通过外网访问-内网穿透
2019独角兽企业重金招聘Python工程师标准>>> 一.点击链接 https://natapp.cn/ 注册个免费的账户 NATAPP官网 二.登陆进去以后查看authtoken ...