全球数字高程数据(DEM)详解,还有地形晕渲、等高线等干货

article/2025/7/26 23:20:37

1 基本概念

DEM是数字高程模型的英文简称(Digital Elevation Model),是研究分析地形、流域、地物识别的重要原始资料。由于DEM 数据能够反映一定分辨率的局部地形特征,因此通过DEM 可提取大量的地表形态信息,可用于绘制等高线、坡度图、坡向图、立体透视图、立体景观图,并应用于制作正射影像、立体地形模型与地图修测。在测绘、水文、气象、地貌、地质、土壤、工程建设、通讯、军事等国民经济和国防建设以及人文和自然科学领域有着广泛的应用。

如在工程建设上,可用于如土方量计算、通视分析等;在防洪减灾方面,DEM是进行水文分析如汇水区分析、水系网络分析、降雨分析、蓄洪计算、淹没分析等的基础; 在无线通讯上,可用于蜂窝电话的基站分析等。

2 主流数据源

目前网上有多种全球高程数据,简要介绍下这四种数据:

 SRTM C 波段数据,可能是最有名的高程数据了。美国航空航天局 NASA 在 2000 时利用奋进号航天飞机上的雷达测观测所得,是以前用得最多的高程数据,覆盖了全球南北纬 60 度以内的区域。

SRTM1:1 角秒精度,对应精度为30 米

SRTM3: 3角秒精度,对应精度为90 米。谷歌地球所使用高程数据即为 SRTM3,全球覆盖,保真度不好,几乎没有漏洞、空洞。

ASTER GDEM数据,美国货, 该数据是根据 NASA 的新一代对地观测卫星 Terra 的观测结果制作完成的。其数据覆盖范围为北纬 83°到南纬 83°之间的所有陆地区域,陆地表面99%覆盖。这是目前覆盖最广的高精度全球高程数据。垂直精度20米,水平精度30米,噪点较高。

第一版(2009):精度为90米,全球覆盖,保真度欠佳

第二版(2011):精度为30米,全球覆盖,保真度较好

DLR数据,即SRTM X 波段数据,DLR是德国宇航中心缩写,该数据同样由2000 在奋进号航天飞机开展航天飞机雷达地形测绘任务时测的,DLR用更高精度的雷达(X波段),但只是呈网状覆盖全球,国内40%覆盖,带宽50KM,空白宽100KM。精度为 1 角秒,高程相对精度 6 米,绝对精度 16米,噪点高。

DLR数据中国覆盖情况

GMTED2010 数据,美国货,美国地质勘探局 USGS和美国国家地理空间情报局 NGA搞的,全球: 30 角秒、 15 角秒和 7.5 角秒,对应的最高精度也在 250 米了。

美国: 1 角秒、 1/3 角秒,部分区域还有 1/9 角秒,即精度达到了 3 米的水平。

另外,还有一些其他数据源:

一般来说,下载全部的 DLR 数据和 GDEM-V2 的数据,DLR 覆盖到的区域用 DLR 数据,未覆盖到的区域用GDEM-V2,就足够了。

 

3 地形应用

 晕渲图是DEM地表形态表达的一种形式,它通过设置光源的高度角和方位角更形象或者更符合人类视觉的方式展示一个地区的地形。晕渲图使用阴影与颜色渐变来展现全球地表的起伏变化,同时叠加了植被、水系、行政要素以及主要道路等,方便用户直接使用此图作为底图来展示特定的专题要素。

谷歌地形

DEM数字高程模型是三维的,能够看到三维的地表起伏变化。然而在二维视角下,借助地形晕渲图能够更加快速、准确地分辨出平原、丘陵、山地、盆地等地形地貌,不同地形区域 晕渲立体效果区别对比明显,同时更适合印刷制图的用途。

天地图地形晕渲

谷歌地形

等高线图大家就比较熟悉了,有了它我们可以分清楚该位置的基本地理环境,包括海拔多少、那里是山脊、哪里是山坳、哪里平坦、哪里陡峭等信息。根据海拔给等高线地形图分层上色,可以获得一张分层设色地形图,看起来就更加生动了,可以直接观察颜色来判断地形。

 谷歌等高线

Landscape等高线

 除此之外,还可以借助ArcGIS等软件制作各种不同用途、不同效果的应用图:

地形晕渲图

温度图

日照图

坡度图

地形渲染图

等高线图

等高线图

4  如何获取DEM?

目前,ASTER GDEM数据、 SRTM C 波段数据,国内中科院有镜像数据可以下载。DLR-DEM 数据也已经有国内镜像下载。

当然,如果想快速下载到谷歌地形、天地图地形晕渲、Gebco地形晕渲、Landscape等高线、OCM等高线、MF等高线、Sigma等高线等地图,在LocaSpace Viewer软件就可以全部搞定,支持免费查看和下载。


http://chatgpt.dhexx.cn/article/ge0i4Q59.shtml

相关文章

python isupper_Python中用于检查英文字母大写的isupper()方法

Python中用于检查英文字母大写的isupper()方法 isupper()方法检查字符串的所有基于大小写的字符(字母)是否是大写。 语法 以下是isupper()方法的语法: str.isupper() 参数 NA 返回值 如果字符串中的所有字符是大写字母并且至少有一个可大小写字符此方法返回…

isupper

原型:extern int isupper(int c);用法:#include 功能:判断字符c是否为大写英文字母说明:当c为大写英文字母(A-Z)时,返回非零值,否则返回零。举例:// isupper.c#include #include main(){int c;c…

Python字符串:isspace、istitle、isupper、islower

str.isspace() 如果字符串中只有空白字符且至少有一个字符则返回 True ,否则返回 False 。 空白 字符是指在 Unicode 字符数据库 (参见 unicodedata) 中主要类别为 Zs (“Separator, space”) 或所属双向类为 WS, B 或 S 的字符。 str.istitle() 如果字符串中至…

python中的 isdigit( ), islower( ), isupper( ), isalpha( ) , isspace( ) 的用法

isdigit( ), islower( ), isupper( ), isalpha( ) , isspace( )这几个函数在算法题里面还是很有用处的。 isdigit( ) 检测字符串是否只由数字组成。 和 isnumeric( )函数类似 islower( ) 检测字符串是否由小写字母组组成 isupper( ) 检测字符串中所有的字母是否都为大写…

c语言中isupper用法,C 库函数 - isupper()

描述 C 库函数 int isupper(int c) 检查所传的字符是否是大写字母。 声明 下面是 isupper() 函数的声明。 int isupper(int c); 参数 c -- 这是要检查的字符。 返回值 如果 c 是一个大写字母,则该函数返回非零值(true),否则返回 0(false)。 实例 下面的实…

【C++常用函数】isalpha、isalnum、isdigit、islower、isupper用法

isalpha()用来判断一个字符是否为字母isalnum用来判断一个字符是否为数字或者字母,也就是说判断一个字符是否属于a~ z||A~ Z||0~9。isdigit() 用来检测一个字符是否是十进制数字0-9islower()用来判断一个字符是否为小写字母,也就是是否属于a~z。isupper(…

python isupper_Python isupper()函数判断字符串字符是否都为大写形式

Python中的 isupper() 函数的作用是检查一个字符串中的字符是否都为大写形式,如果字符串不为空,且所有字符都为大写形式的话就返回 True ,否则返回 False 。 可以认为,Python 的 isupper() 函数的作用与 islower() 函数是相反的。后者的作用是检查一个字符串的所有字符是否…

isupper_Python字符串isupper()

isupper Python String isupper() function returns True if all the cased characters are in Uppercase. If the string is empty or there are no cased characters then it returns False. 如果所有大小写的字符均为大写,则Python String isupper(&a…

isupper()函数

头文件 <ctype.h> isupper()判断一个字符是否是大写字母 int isupper&#xff08;int c);参数 c 要检测的字符。它可以是一个有效的字符&#xff08;被转换为 int 类型&#xff09;&#xff0c;也可以是 EOF&#xff08;表示无效的字符&#xff09;。 返回值 返回值为非…

C语言isupper函数介绍、示例和实现

文章目录 1、包含头文件2、函数声明3、功能说明4、示例5、自定义的isupper函数的实现方法6、获取视频教程7、版权声明 C语言isupper函数用于判断字符是否为大写字母&#xff08;A-Z&#xff09;。 在本文中&#xff0c;我们先来介绍isupper函数的使用方法&#xff0c;然后编写…

Js中设置CSS样式

这里写自定义目录标题 欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题&#xff0c;有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants 创建一个自定义列表如何创建一个…

怎么用JS来动态设置CSS样式

用JS来动态设置CSS样式&#xff0c;常见的有以下几种&#xff1a; 1. 直接设置style的属性 某些情况用这个设置 !important值无效 如果属性有"-"号&#xff0c;就写成驼峰的形式&#xff08;如textAlign&#xff09; 如果想保留 - 号&#xff0c;就中括号的形式 elem…

xlsx.js设置Excel样式

需求是这样的&#xff1a; 东西太多了&#xff0c;合并单元格&#xff0c;行高&#xff0c;列宽&#xff0c;边框样式&#xff0c;字体样式&#xff0c;合计啥的&#xff0c;直接上代码吧 export function exportExce({header, //子表数据头信息data, //子表数据masterTabl…

JS设置CSS样式的几种方式(js设置!important)

用JS来动态设置CSS样式&#xff0c;常见的有以下几种 1. 直接设置style的属性 某些情况用这个设置 !important值无效 如果属性有-号&#xff0c;就写成驼峰的形式&#xff08;如textAlign&#xff09; 如果想保留 - 号&#xff0c;就中括号的形式 element.style[text-align]…

js 设置html标签样式表,js怎么设置css样式?

js怎么设置css样式&#xff1f;本篇文章就给大家介绍js设置css样式的方法。有一定的参考价值&#xff0c;有需要的朋友可以参考一下&#xff0c;希望对大家有所帮助。 1、直接设置style对象(内联样式) 使用JavaScript设置元素样式的最简单方法是使用style属性。在我们通过JavaS…

js学习笔记之设置样式

一、样式设置 1.排他思想 首先干掉其他人&#xff0c;再留下自己。 2.设置不同的背景 3.表格隔行变色 4.表格全选与取消全选 二、其他操作 1.属性操作 2.节点操作 1&#xff09;父节点 XXX.parentNode 返回的是子节点的亲生父节点 2&#xff09;子节点 XXX.children 3&am…

js元素样式设置方式

元素设置方式 对以下代码用js设置样式有几种方法 <div id"box">我是一个盒子</div><button id"btn">点击变色</button>最简单直接的就是 1. 对象.style var box document.getElementById(box)var btn document.getElementById…

20210525JS修改样式

1.JS通过style修改内联样式 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"wid…

Panda3D引擎简介跟初步体验

最近在为公司项目寻找一个合适的开源3D引擎&#xff0c;一开始想到的就是OGRE&#xff0c;irrlicht这些。由于公司里没用人接触过3D引擎&#xff0c;甚至连熟悉C/C的人也只有一个。此外&#xff0c;基于团队现状&#xff0c;像OGRE之类的纯粹的图形引擎肯定是不考虑了&#xff…

认识Panda3D引擎bam相关命令

看一下Panda自带命令&#xff0c;其中有bam相关的&#xff0c;来了解一下&#xff1b; 输入一个命令看一下&#xff0c;提示需要输入一个bam文件名&#xff1b; 查一下&#xff0c;查到一个介绍一种bam文件的资料如下&#xff0c; SAM (Sequence Alignment/Map) 格式是一种通用…