Relief Map(也称ShadedRelief Map或Hillshade Map,地形图),指通过制图手段在二维地图上展现出三维地表的形态,如http://www.maps-for-free.com/这里提供的地图,就是用Mashup的方式将阴影图和世界地图融合得到的。一般情况下,在GIS软件中我们想得到类似的效果,都是将由DEM得到的灰度阴影图和彩色的DEM图层叠加,通过控制透明度来实现的,但是这种方式的视觉效果往往不令人满意,整个地图的色调显得非常的灰暗,而且阴影图模拟的起伏细节也显示得不够明显,如下图所示。本文会介绍一种图像融合的方式,既不会影响DEM的色彩,又不丧失阴影图细节,实现软件为ArcGIS。

这里用的的方法就是Pansharpening,维基百科里给出的解释是Pansharpening is a process of merging high-resolution panchromatic and lower resolution multispectral imagery to create a single high-resolution color image,也就是将一个高分辨率的单波段全色影像和一个低分辨率的多波段彩色影像融合,从而得到一个高分辨率的单波段彩色影像。这里我们用到的全色影像就是阴影图,而多波段是原始的DEM数据。

(1)数据预处理

做地形图我们手头的必备数据就是DEM,如果苦于没有DEM的同学,可以去http://srtm.csi.cgiar.org/index.asp看一下,山姆大叔还是很慷慨的,提供了90M分辨率的全球DEM下载,这么大的影像当然是分块的,咱可以根据经纬度的范围选择下载后再将其拼接起来,这些细节就不再赘述了,详见ArcGIS Desktop Help吧~,那么阴影图是如何得到的呢?这个常用的工具在ArcGIS中可以直接找到——Hillshade,这个工具是通过模拟太阳光照强度来展示地形的起伏效果,两个重要参数一个太阳入射角(默认值是315指太阳从西北方向入射,这里根据手头的数据我改为了135度),另一个是太阳方位角就取默认值,这样就得到了上图中间的阴影图,灰度值从0-255,光照值大就是高地,值小的是洼地。

再下来要给DEM上色了,这步还是很关键的,这里用了stretch拉伸的方式渲染,选取一个合适的color ramp,但是现在单波段怎么变成RGB的多波段DEM呢?这里要先在ArcMap中DEM图层的右键菜单里选择导出,勾选下图中的use renderer和force rgb,这样准备工作就ok了。

(2)影像融合

首先打开Window菜单下的Image Analysis窗口,同时选中DEM和阴影图,然后点击下面Processing面板中的Pan-sharpening tool,这时就会生成一个新的图层,下面来一起设置一下这个图层的显示属性:

右键属性,在Functions面板中,右键打开Pansharpening Function的属性,在general里设置输出的像元类型,这里选择8 bit unsigned;然后在Pan sharpen里设置Method为Simple Mean,点击确定。

右键Pansharpening Function,选择Insert——stretch function,勾选Use Gamma,相应的把每个波段的gamma值设置为0.5.

注:这里应用gamma校正,是希望调整由于显卡或者显示器的原因令实际输出的图像在亮度上有偏差,,当Gamma值等于1的时候,曲线为与坐标轴成45°的直线,这个时候表示输入和输出密度相同。高于1的Gamma值将会造成输出亮化,低于1的Gamma值将会造成输出暗化。一些研究表明Gamma值取0.4或0.45是最接近人类视觉系统的,这个还要自己来尝试,看看怎样得到的图像效果最好。

——爱地图,关注制图,交流制图问题欢迎@王又又_GeoInfo

python地形图渲染_地形渲染之彩色地形图(Painted Relief Map)相关推荐

  1. 地形渲染之彩色地形图(Painted Relief Map)

    Relief Map(也称ShadedRelief Map或Hillshade Map,地形图),指通过制图手段在二维地图上展现出三维地表的形态,如http://www.maps-for-free.c ...

  2. python 服务端渲染_客户端渲染和服务器渲染的区别

    我们都知道,网页上的很多内容之所以能那么丰富,是因为大量的css.js去渲染出这个页面.那么他们是如何渲染的呢?那么就要说到我们本文的两种渲染方式了,即客户端渲染和服务端渲染. 正文 本文将分别讲述两 ...

  3. python 服务端渲染_客户端渲染与服务端渲染

    后端渲染 服务器直接生成HTML文档并返回给浏览器,但页面交互能力有限.适用于任何后端语言:PHP.Java.Python.GO等. 客户端渲染(CSR) 页面初始加载的HTML文档中无内容,需要下载 ...

  4. react 服务器端渲染_服务器端渲染React应用程序的动手指南

    react 服务器端渲染 In the previous article, we described how to make a production build and deploy it to a ...

  5. Python笔记_64_Vue_M-V-VM思想_显示数据_常用指令_操作属性_绑定事件_操作样式_条件渲染指令_列表渲染指令

    文章目录 Vue vue.js的M-V-VM思想 快速使用 显示数据 常用指令 操作属性 绑定事件 操作样式 条件渲染指令 列表渲染指令 Vue vue.js是目前前端web开发最流行的工具库,由尤雨 ...

  6. ArcGIS制图技巧系列(2)地形渲染

    ArcGIS制图技巧系列(2)地形渲染 by 李远祥 DEM数据是常见的地形数据,在GIS常规的制图中,DEM一直扮演着增强效果.由于带有高程值,DEM在很多情况下都在三维中显示,但这里主要介绍的是在 ...

  7. dem数据下载后怎么使用?查看等高线、地形渲染、地形裁剪教程

    Dem数据下载后要怎么用呢?很多人都是用dem来看地形,本文就给大家讲解下,dem数据下载后怎么来查看等高线地形图.地形渲染.按行政区划裁剪等操作. 如果还没有DEM数据的话,推荐查看我在CSDN写的 ...

  8. OpenGL地形渲染

    OpenGL地形渲染 先上图,再解答. 一:正常显示 二:按下w键 三 :按下空格键 完整主要的源代码 源代码剖析 先上图,再解答. 一:正常显示 二:按下w键 三 :按下空格键

  9. 《孤岛惊魂5》游戏中的地形渲染技术-网格生成

    育碧作为一个年货大厂,在PCG这方面肯定有很深的积累,在GDC2018的这次分享中,其详细的介绍了地形在纯GPU管线上的实现方式,使得最终能够得到一个拥有大片悬崖峭壁的真实地形. 本文是笔者看完Far ...

最新文章

  1. 使用git命令上传本地文件到GitHub上
  2. 基于“飞桨”的深度学习智能车
  3. 【科普】国内外高质量数据科学竞赛平台有哪些?
  4. Spring AOP用法
  5. fetch 另一种ajax解决方案
  6. python训练营微信广告发送机_python实现给微信公众号发送消息的方法
  7. Linux下启动Oracle数据库
  8. 判断m是否为素数c语言程序,c语言判断是否素数程序代码
  9. 计算机怎么关闭u盘系统还原,电脑系统还原错误怎么办
  10. 路由器工作原理与静态路由配置
  11. 115网盘摇奖的位置变了~
  12. 全网首篇用人话讲清楚:光纤中的色散
  13. 2018年,51LA新版的那些事
  14. rti matlab,dSPACE-RTI知识介绍.pdf
  15. 各地政府开放平台_8个视频让您对开放政府感到兴奋
  16. 一个完整推荐系统的设计实现
  17. Spring Boot 异步线程静态获取request对象为空 RequestContextHolder 为空 Java 异步线程获取request为空
  18. 数据链路层的有那三个基本问题?为什么都必须加以解决?
  19. HTML5开发移动web应用——Sencha Touch篇(5)
  20. 雄安新区概念横空出世 三条主线掘金智慧城市

热门文章

  1. ios之实现自动无限循环滚动视图(1)
  2. 指针:const与指针
  3. 空气源热泵控制系统解决方案
  4. 一篇金融IT的论文开题报告
  5. springsecurity整合jwt实现授权认证,权限分配
  6. 数据库系统原理--第2章作业2--习题答案
  7. Flexigrid在FleaPHP下的使用方法介绍
  8. 分布式系统设计模式,你用过哪些?
  9. python爬虫实战小项目
  10. windows10安装pyltp