一、概述

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. 集合-ArrayList 源码解析

    ArrayList是一种以数组实现的List,与数组相比,它具有动态扩展的能力,因此也可称之为动态数组. 类图 ArrayList实现了List, RandomAccess, Cloneable, j ...

  2. Redis开发运维的陷阱及避坑指南

    原文首发于博客园,作者:后青春期的Keats:地址:https://www.cnblogs.com/keatsCoder/ 转载请注明,谢谢! Linux 配置优化 我们在使用 Redis 过程中,可 ...

  3. c语言 字符串大小写转换

    https://www.programmingsimplified.com/c/program/c-program-change-case https://docs.microsoft.com/en- ...

  4. 【Linux题目】第六关

    [定时任务规则] 1. 如果在某用户的crontab文件中有以下记录,该行中的命令多久执行一次(RHCE考试题)?( ) 30 4 * * 3 mycmd A. 每小时. B. 每周. C. 每年三月 ...

  5. mac OS 安装 Homebrew软件包管理器

    Homebrew macOS 缺失的软件包的管理器 中文官网 https://brew.sh/index_zh-cn 获取安装命令 /usr/bin/ruby -e "$(curl -fsS ...

  6. POJ2155/LNSYOJ113 Matrix【二维树状数组+差分】【做题报告】

    这道题是一个二维树状数组,思路十分神奇,其实还是挺水的 题目描述 给定一个N∗NN∗N的矩阵AA,其中矩阵中的元素只有0或者1,其中A[i,j]A[i,j]表示矩阵的第i行和第j列(1≤i,j≤N)( ...

  7. 安装opencv3.3.0方法

    #系统环境:CentOS6.5 x64 #首先安装jdk7u80 mkdir  /java tar -zxvf  jdk-7u80-linux-x64.gz  -C  /java/ vim  /etc ...

  8. Extmail邮件过滤和杀毒

    前面整合好了extmail,不过没有测试使用foxmail这种客户端去测试收发邮件功能,今天测试的时候发现了蛮多问题,大部分和/etc/authmysqlrc这个文件的配置和权限相关,都是小问题,折腾 ...

  9. 最小生成树之prime算法

    public class Prime { public static void main(String[] args) { //路径矩阵 int arcs[][] = {{-1,6,1,5,-1,-1 ...

  10. 数据库SQL语言从入门到精通--Part 4--SQL语言中的模式、基本表、视图

    数据库从入门到精通合集(超详细,学习数据库必看) 前言: 使用SQL语言时,要注意SQL语言对大小写并不敏感,一般使用大写.所有符号一定是西文标点符号(虽然是常识,但我还是提一嘴) 1.模式的定义与删 ...