【教程】使用Geographic Imager和Adobe Photoshop 3D渲染三维地形场景

在地图制作领域,山体阴影是指一种视觉技术,可以在原本平坦的地图上产生三维地形的错觉。制图人员使用山体阴影将观众的注意力吸引到突出的地形特征上,如山脉、山谷和峡谷。使用虚构的光源和数字高程数据在地图上投射定向光,制图人员可以制造深度错觉,将阴影投射到山谷和低地,并突出山脊线和山峰,就像沐浴在阳光下一样。

以前,这项技术完全是手工完成的,费时费力。现在,借助现代图形软件和数字绘图技术,可以直接在计算机桌面上完成山体阴影和着色。

今天,我们将介绍使用 Geographic Imager 插件在Photoshop中快速生成山体阴影,并进一步介绍如何使用Photoshop 3D创建影像与DEM叠加的3D场景,使影像具有三维效果,同时对场景、环境和光源进行设置,创建具有透视效果的3D地图。

Geographic Imager是基于Adobe Photoshop的一整套强大的工具集,使您在Photoshop中对栅格数据执行打开、编辑、转换、保存等操作时维护其地理空间属性。

除了自动维护栅格数据的空间属性,Geographic Imager还提供了一些Adobe Photoshop原生图像编辑功能之外的专门的空间操作功能,如镶嵌、分块、DEM晕渲、波段管理、高级导入、矢量数据导入导出、脚本批处理等。

首先我们使用Geographic Imager打开DEM数据,借助高级导入工具,我们可以将多个DEM镶嵌到一起,跟影像一样,也可以在导入DEM时执行重采样、投影转换、裁切、DEM拉伸等操作。

高级导入

DEM拉伸方案,我们一般使用自动拉伸的方式:

DEM拉伸方式设置

导入后的DEM显示为16位灰度图像,如下所示:

DEM导入为16位灰度影像

对于普通的二维地图,山体阴影往往作为背景图层,使地图具有三维的视觉效果,这种情况下,我们可以使用Geographic Imager提供的地形晕渲工具,使用虚拟的光源与DEM数据,一键式快速生成山体阴影。

Geogrpahic Imager的地形晕渲工具

使用 Geographic Imager 的最大好处之一是我们保留了 GIS 的所有图像处理和空间参考功能,同时仍然可以访问 Photoshop 提供的大量强大的图像编辑工具。这使我们能够通过结合 Photoshop 3D 的高级 3D 渲染和照明工具,将山体阴影技术应用到新的高度,即生产具有透视效果、叠加影像的3D地图场景。

首先,在执行3D渲染之前,确保使影像与DEM具有相同的地理范围,这里我们可以使用Geographic Imager提供的地理裁切工具,根据DEM(或图像)的地理范围来裁切另一个影像(或DEM)。

裁切到另一个文档范围

然后,执行以下步骤:

1、对DEM生成3D Mesh,具体做法是在Photoshop中选择“从图层新建网格——深度映射到——平面”

从DEM新建3D Mesh

这样,将生成一个3D图层,得到如下所示的效果,需要注意的是,转成3D图层后,数据将不会再有地理信息了。

2、使用photoshop提供的3D相机操作工具,沿Z轴进行缩放可以修改高程夸张,也可以对3D场景进行旋转、平移操作,这样可以制作正射或斜视的地图场景。

调整高程缩放比例
沿X、Y、Z轴对3D模型进行旋转、平移和缩放

3、调整了高程缩放以后,我们可以配置表面属性并将影像叠加应用于我们的3D模型,在Photoshop 3D材质属性面板中,单击基础颜色右侧的下拉列表并选中“替换纹理”,选择与DEM地理范围相同的影像进行叠加。

叠加影像纹理

4、然后在图层面板中,隐藏DEM图层:

隐藏DEM图层

5、最终结果如下所示:

我们还可以设置光源的方向、角度,以控制阴影的方位,也可以添加多个光源:

下面是用这种方法制作的另一个实例,使用USGS生产的Grand Teton国家公园的的一张19世纪地形图和DEM叠加渲染的3D效果图,让老地图焕发出新的活力。

【制图新技术】交叉混合(cross-blended)分层设色的发展与原理

引言

高程分层设色的应用在制图学界起源于19世纪的早中期,人们用不同的颜色表示不同的高程分带,虽然没有固定的颜色配置模型,我们都能从常见的地图(集)中看到这种方法的应用。

虽然分层设色得到了广泛的应用,但是单一的表示高程的分层设色依然会给没有经验的读者一些误导,相对于一个地域的地表覆盖、植被、气候等因素相比,容易给看图人员造成混淆。比如典型的分层设色会用深绿表示地势低的区域,如波斯湾附近的陆地,因为绿色很容易跟植被联系在一起,因此,一些读者误以为该区域有比较好的植被覆盖,如图(1)所示。

本文回顾了高程分层设色的发展历程及主要使用的配色方案,并介绍了交叉混合分层设色(cross-blended hypsometric tints)的产生和基本原理。

图(1) 传统的分层设色(左图,带有山体阴影)使用绿色表示高程比较低的地区,暗示亚洲西南部(波斯湾周边地区)植被茂盛,而交叉混合分层设色(右图)使用与当地环境(本区域属干旱地区)相匹配的颜色来表示。

背景

交叉混合设色法是传统的分层色法的一种变体,它是在20世纪中叶出现的。传统的分层设色甚至起源于19世纪,让我们大体回顾一下几种主要的配色方案。

高程分层设色是随着测高技术的出现而出现的,1800年左右起源于欧洲。1840到1870年间是分层设色发展的关键时期,当时出现了2类与现代制图相关的配色,一种是多色色设(又称“光谱”色),August Papen的中欧高程图(出版于1857-1859)使用于图2(A)的配色,该方案可能会让现代读者不适应, Papen 使用蓝色来描述中等高程地区。另一种是连续过度色(连续色调),与前面的非结构化色谱不同,制图人员使用同一种颜色调但是不同饱和度的颜色(一般是灰色或者是粽色)来表示高低起伏,高程越高,颜色饱和度越高。这种方法优点比较明显,因为大部分地区海拔相对较低,因此浅色调占图的主要部分,这样叠加文字注记可读性会好一些,但是随后出现的山体阴影让这种方案不再流行,因为在高海拔山区有山体阴影,所以山体阴影与深色叠加,打印效果不好。如今,大部分分层设色采用“高程越高、颜色越浅”的方案。

接下来,1878年由苏格兰制图师John Bartholomew, Jr. (1831–1893),采用了图2(C)的高程配色方案是另一个重要的发展,这个配色用绿色表示低地,用橙色-棕色-紫色表示高地,再用白色表示山顶。

20世纪早中期,是学术界对什么样的配色方案能更好的表现三维地形展开激烈讨论的阶段,两所学校在这场争论当中脱颖而出,来自维也纳的Karl Peucker (1859–1940),是最早的对高程分层设色进行系统分析的人员, Peucker 提出“高程越高,颜色越丰富”的原则,从低地的暗灰色绿色开始,到高地的明亮红色结束,如图2(D )。Peucker的假设是,某些颜色会比其他具有相反作用的颜色看起来更接近我们。许多人对这一假设提出了严厉批评。瑞士的Imhof (1895–1986)比较偏爱从绿色(或蓝绿色),浅黄绿色到浅黄红色和白色从低到高的渐变,如图2(E),他在1962瑞士中学地图集中使用了这种配色。他提出了进一步的想法,主张取消分层设色,而使用平滑的颜色渐变混合来改善地形建模效果。 Imhof 配色的另一个特点是“空中透视效果(aerial perspective effect,即低地被淡蓝色的薄雾遮盖,空中俯瞰会显得更远)”。

从现在回顾来看,Peucker和Imhof都没有完全赢得这场高程分层设色的战争。取而代之的是对它们的样式进行了综合运用,1962年的《国际世界地图》说明了这一点(图2F和G)。比例为1:1,000,000的地图系列中较低的海拔高度颜色类似于Imhof,从浅蓝绿色开始逐渐向上转变为黄色。中等的红棕色描绘了中间的海拔,与Peucker的配色相似;但是,该配色并不以红褐色结尾。它在下一个最高级别引入浅灰紫色,最后以白色结尾。最后两种颜色的加和受到了John Bartholomew,Jr.的早期影响。

图2,不同阶段分层设色方案:A、August Papen的多色色调;B、连续色调;C、 John Bartholomew,Jr. 的配色;D、Karl Peucker的配色;E、Eduard Imhof的配色;F、International Map of the World配色;G、International Map of the World连续色

混合交叉分层设色(Cross-bl e n d e d h y p s o m e t r i c t i n t s)的设计

与传统的分层设色将单个高程颜色系列均匀地应用于地图的所有区域不同,交叉混合的色调会根据区域环境的不同而有所不同。它试图同时表示高程和与自然环境相关联的颜色。

例如,在具有交叉混合分层设色的世界地图上,澳大利亚的中部为土棕色,西伯利亚的西部为森林绿色,亚马逊盆地为丛林绿色,格陵兰为冰冷的蓝灰色。与自然界一样,地图颜色在各个区域(x、y方向)之间以及从低地到高地(z方向)之间逐渐融合在一起,因此被称为交叉混合分层设色(图3)。

图3 交叉混合分层设色与山体阴影相结合的世界地图。低地的颜色根据世界地区的自然环境而不同。

交叉混合分层设色是将新的配色方案应用于全球DEM数据集生成的一种栅格数据集,2009年引入。供用户免费使用,大家可以从NACIS赞助的地图数据网站NaturalEarthData.com上找到并下载,包括多种尺寸,以及是否叠加山体阴影。借助这些数据,专业的地图制作者可以制作出适合普通大众使用的小比例尺的地图。

其设计与生产过程如下,使用的高程数据是SRTM 30弧秒全球DEM数据,在应用配色时将全球划分为四个不同的环境类型区域(根据温度、降雨等参量)——温暖湿润(warm humid)、寒冷湿润(cold humid)、干旱(arid)和极地(polar),分为4类能够避免将问题复杂化。最终地图上描绘的四个环境用独特的颜色表示:温暖的潮湿区域是丰富的黄绿色,凉爽的潮湿区域是蓝绿色,干旱的区域是卡其棕色,而极地区域则是冷灰色。它们各自占据地球表面上大致相等的土地面积。

不同环境类型之间的模糊边界参考了气侯地图集,比如,极地区域定义了一年中最热的月份(北半球是7月,南半球是1月)的平均气温低于10摄氏度,将相应的等温线导入到 Adobe Photoshop中作为图层蒙版并应用边界模糊可以很好的对极地区域进行配色。与此类似,基于Köppen-Trewartha气候分类系统也可以绘制整个地球上其他环境区域的地图(Goode的《世界地图集》,1983年)。在Köppen-Trewartha系统中,Af和Am分类表示温暖潮湿(热带)气候。 Db,Dc和Dd表示寒冷潮湿(大陆)气候; Bs和Bw表示干旱气候(图4)。这里尽量使用宽泛的边界,而非精确的边界,这样效果会更好。

图4 假彩色描绘的环境区域用于创建交叉混合分层设色。区域的模糊边缘模拟自然发生的过渡。

在颜色配置过程中,高程仍然是占主要的因素,只是根据不同的环境区域使用不同的配色方案,如图5所示。

图5 前三个海拔比例(从左开始)中的低地颜色表示大部分的地区。在1,000米以上,颜色相同且比较传统。极地标尺(右)使用了与前面无关的颜色,并且颜色较短,因为在这些区域中,最高高程值低于5,000米。

除极地地区外,不同的环境颜色仅在海拔不到1000米的区域中出现。除此之外,无论环境如何,分层配色都是采用传统的并且相同。美学考虑是做出这个折中决定的原因,因为它保留了中高处的红色,灰色和白色,读者似乎对此反应良好。在交叉混合分层设色的情况下,中高海拔的颜色是吸引人们注意的视觉诱饵。低海拔区域的颜色向广大读者传递了更为微妙的信息,因为全球74%的人口生活在海拔低于500米的区域(Cohen 和Small 1998),阅读这种地图的人容易将图上的颜色与当地的实际颜色联系起来。

最后是叠加浅色调的山体阴影。

结论

对于DEM晕渲图来说,交叉混合分层设色并不是都适用的。它们最适合中小比例尺地图,并且这些区域具有彼此明显不同的地理环境。另外对于绘制地形以精确显示高程的地图也并不是理想的选择。同时还取决于地图的用途,自然地理类的地图是适用的,能够给读者同时表达出高程和地理环境的信息。

附:交叉混合分层设色CMYK & RGB配色方案:

参考文献:

Tom Patterson,Bernhard Jenny,《The Development and Rationale of Cross-blended Hypsometric Tints》

编译整理:北京易凯图科技有限公司 陈春华

Geographic Imager【晕渲图】制作实例介绍(以中国及周边海域地势图制作为例)

在地图制图领域中,地形晕渲(山体阴影)能让地图具有三维的视觉效果。制图人员使用山体阴影可以突出主要的地形特征,如高山、河谷或峡谷,以吸引读者的目光,增强地图的可读性。过去,地形晕渲图完全依赖人工,耗时耗力,现在,随着计算机图形软件和数字制图技术的发展,使用DEM高程数据,我们借助软件可以快速实现自动化的山体阴影图制作。

之前我们介绍过一种使用三维动画建模软件技术(blender)实现地形晕渲图的制作(ECartoRender地貌晕渲解决方案),该方法不同于GIS手段,可以渲染出更自然和美观的地形景观效果。

今天,我们将介绍使用Geographic Imager制作DEM晕渲图,在地图制图中,Geographic Imager往往与MAPublisher结合使用,因为基于Adobe Photoshop,所以主要用于处理影像和DEM等栅格类形的空间数据。为了能够说明问题,我们将以中国及周边海域晕渲地形图(下图所示)的制作为例来说明。该地图包括了陆地地形和海洋地形,两者具有不同的配色方案,因此具有一定的综合性。

image.png

首先,是DEM数据的获取,这里有很多种选择,如果您有现成的海陆集成的数据(如GEBCO),并且分辨率和精度能够满足您的要求,可以直接使用。为了说明这个过程,我使用了两部分数据,我国大陆部分我使用的是SRTM 90米的数据,周边国家及海域部分我使用了Tom Patterson编辑过的GEBCO数据(Blue Earth Bathymetry)因为SRTM数据是分块下载,需要在GIS软件中进行镶嵌和裁切,如果机器性能允许,该过程可以在Geographic Imager中实现。数据的范围可以使用Global Mapper的地图目录(map catalog)功能很方便的进行浏览,如下所示。

屏幕截图 2021-04-06 112949.png

然后根据全国的矢量范围(不包括南海诸岛部分)进行输出,生成全国的陆地地形数据,在Geographic Imager投影成我国常用的双标准纬线割圆锥投影像(双标准纬线设置为25度和47度),如下所示:

屏幕截图 2021-04-06 113437.jpg

以下是下载的Blue Earth Bathymetry数据,陆地部分集成了SRTM数据,实际可以直接使用,但有时我们要用自己生成的精度更高的数据代替,所以才有了我们的这个流程。

屏幕截图 2021-04-06 113511.jpg

借助Geographic Imager的高级导入功能,可以非常方便的对DEM进行镶嵌,并按照想要的范围和分辨率进行输出,该功能是一个集重采样、裁切、投影转换、镶嵌于一体,非常方便。

image.png

另存为DEM TIFF,如下图所示:

image.png

下面的过程,有一些技巧,本人也试验了多次才走通,一般情况下我们做晕渲都是对目标区域的DEM数据整体一次性来做,然后由于本区域涉及陆地和海洋,具有不同的配色方案,如果一次性生成的话,在海陆交界的地方很难控制好,因此,我采用的方法是将陆地DEM和海域DEM分别读取,这个在Geographic Imager中可以很好的实现,在导入DEM时分别设置不同的拉伸方案(raw数据和负值raw数据)可以实现正值DEM(陆地部分)和负值DEM(海域部分)的读取,然后分别应用晕渲,再进行镶嵌。

这里的配色方案需要有经验,我参考了自然资源部公开地图中的中国地势图和世界地形图的配色,如下所示,发现该图海部地形和陆地地形是分开的,海域使用的是分层设色,而非连续渐变色,因而其海部地形精细度不高。

中国地势图.jpg

在Geographic Imager中参考上图的图例色标,分别制作了海域和陆地的配色方案:

image.png
image.png

Geographic Imager中,导入上述合并的DEM,若要同时进行,可以复制一份,在导入时分别设置拉伸方案为“Raw数据”和“负值Raw数据”,这样将分别导入正值的DEM部分(陆地部分)和负值的DEM部分(海域部分):

image.png
未标题-2.jpg

然后在Geographic Imager中执行镶嵌,该过程支持多图层文档,这样就形成了整体的晕渲效果:

晕渲合并.jpg

最后我们可以在此基础上叠加矢量数据,自从 V6.0开始,Geographic Imager增加了矢量数据(库)的导入和导出,前提是矢量数据的坐标系与图像保持一致,由于我使用的是natural earth的矢量数据,其坐标系是WGS84,Geographic Imager可以很方便的对图像进行投影像转换,我们将其转为WGS84坐标系,与矢量数据保持一致,并在其首选项中将矢量导入设置为裁切到图像范围。

wgs84.jpg

分别导入河流中心线、海岸线、湖泊三个矢量数据层,Geographic Imager将导入的矢量数据保存到了路径面板中,

image.png

我们可以分别对其描边和填充操作,使图Photoshop的画笔描边路径,使用前景色填充路径,结果如下图所示,再次进行投影转换,即得到了本文最前面的晕渲图成果。

叠加矢量.jpg

上面所有的过程,Geographic Imager会自动维护数据的坐标系,因此可以很方便的叠加到MAPublisher中作为底图,在其上面继续叠加文字、符号、图例等其他地图要素,制作出精美的地图产品。由于Geographic Imager与Adobe Photoshop无缝集成,使用Geographic Imager最大的优势是在维护图像的地理信息同时,我们可以使用Photoshop自带的强大而丰富的图像编辑工具,后面我们将探索使用Photoshop 3D渲染功能实现更为生动的晕渲效果。

【制图新技术】地形晕渲底图(山体阴影)制作新方法

之前我们发布过一种新的地貌晕渲解决方案(【ECartoRender】地貌晕渲解决方案),在其中我们介绍了一种新的地貌晕渲(也叫山体阴影)的技术方法,与GIS的做法不一样,该新方法基于3D动画建模技术,采用更先进的渲染引擎,可以生成比GIS软件更加美观和自然的晕渲成果(北京【地图上的四季】)。

今天我们大概介绍一下其实现过程,首先,是准备好数字高程模型(DEM),获取DEM有多种途径,比较常用的有公开的SRTM90和SRTM30(分辨率分别为90米和30米)、ASTER全球30米高程数据等,如果您还没找到好的途径,使用Global Mapper是一种非常便捷的获取开源数据的方式(【免费,优质GIS数据】:Global Mapper在线数据访问)。

Global Mapper在线数据下载

有了DEM数据,我们需要根据作图范围和比例尺计算所需要的分辨率。我们拿制作祁连山国家公园的晕渲为例,假设我想制作一张85cm宽的图,换算成英寸大约为33英寸,典型的打印分辨率是每英寸300像素,因此我需要33×300 = 9900像素宽的晕渲图。祁连山国家森林公园大约宽为1200公里,因此,我们需要的DEM分辨率大约为1,200,000(米)÷ 9900 ≈ 120米。

在进入blender软件渲染之前,我们需要在GIS软件中进行一些预处理,包括DEM数据的投影、镶嵌、重采样、裁切等工作,同时还有重要的一步,将DEM数据的高程值拉伸到0-65535之间(大概就行),所有这些工作我一般使用QGIS、Global MapperGeographic Imager等软件来实现,最后将DEM输出为unsigned 16位类型的TIFF。

预处理生成的Unsigned 16位TIFF​高程数据

然后我们进入到blender进行DEM数据导入,以及配置渲染引擎、着色器,对地形平面进行细分(手工或自适应),添加虚拟”光源”和”相机”并进行相关设置,然后添加相应的颜色渐变​等。

Blender晕渲方案配置​

在正式进行渲染之前,我们可以通过快速预览对结果进行确认,如果可以,即可启动渲染,渲染过程如下视频所示,根据DEM数据的大小,需要一定的时间。

Blender渲染过程​

以下是不同的配色方案​的渲染结果:

成果(一)
成果(二)
成果(三)
成果(四)

虽然上述blender输出的晕渲结果图像不带坐标,但是我们可以保留原来GIS预处理时的tfw文件,在文件名相同的情况下 ,即可以恢复其坐标。在后期的制图中我们借助MAPublisherGeographic Imager工具,可以在Geographic Imager进行投影转换,然后在MAPublisher中将晕渲结果作为底图嵌入,再在上面叠加符号、注记、以及其他地图要素。由于MAPublisher和Geographic Imager是基于Adobe Illustrator(AI)和Photoshop(PS)的制图插件,因此,我们在充分利用GIS数据源和GIS功能的同时,可以利用AI和PS强大的设计能力,使地图具有更好的表达效果,如下面两幅图中叠加晕渲底图后通过对注记添加描边、设置描边透明、以及外发光等效果可以增强文字的可读性​。​

北京【地图上的四季】

进入九月,天气转凉,秋意渐浓,北京进入一年中最美的季节。

北京是一个四季非常分明的城市,夏天和冬天比较漫长,春天和秋天虽然短暂,但加起来也有四个月,以下是在网上查询的北京四季划分:

  • 3月下旬到5月上旬是北京的春季,共2个月,其中
    • 3月下旬——4月上旬是初春,一个月;
    • 4月下旬——5月上旬是晚春,一个月。
  • 5月下旬到9月上旬是北京的夏季,共4个月,其中
    •     5月下旬——6月上旬是初夏,一个月;
    •     6月下旬——8月上旬是盛夏,两个月;
    •     8月下旬——9月上旬是晚夏,一个月。
  • 9月下旬到11月上旬是北京的秋季,共2个月,其中
    • 9月下旬——10月上旬是初秋,一个月;
    • 10月下旬——11月上旬是晚秋,一个月。
  • 11月下旬到次年3月上旬是北京的冬季,共4个月,其中
    • 11月下旬——12月上旬是初冬,一个月;
    • 12月下旬——次年2月上旬是隆冬,两个月;
    • 2月下旬——3月上旬是晚冬,一个月。

在北京生活多年,一直想制作一幅北京的四季地图,在上一篇公众号文章中,我们介绍了公司新推出的ECartoRender晕渲产品解决方案(【ECartoRender】地貌晕渲解决方案),在地貌晕渲以及三维景观地图制作方面有很好的应用。

于是,最近做了几幅北京的晕渲地图,使用同一个DEM数据源,叠加了四个季节的卫星影像,影像的时相选取分别依据上述的四季分划时间,目前跟大家分享的还是初步成果,影像的左下角还有少量缺失,将在后续进行完善。

大家可以从地图上感受大北京的四季,也能从地图上感受北京的地形地貌特征。

基础DEM数据和Landsat 8卫星影像的前期处理工作主要使用Geographic Imager和Global Mapper,DEM主要的处理工作为镶嵌,裁切,高程拉伸等(将高程数据拉伸到0-65535,然后存为无符号的16位数值型),Global Mapper中的栅格计算功能非常适合,影像数据的主要处理工作为投影变换、镶嵌、调色以及与DEM套合裁切,这些工作在Geographic Imager和Global Mapper中非常便。


数据源的下载与处理可以参考左下角“阅读原文”和”【干货分享】Landsat 8 Photoshop教程


后期的渲染工作主要在ECartoRender中进行,因为采用基于光线追踪的渲染算法,其效果远远好于GIS晕渲的算法,产品采用3D动画建模的思路,可以进行丰富的设置(光照/材质/角度/去噪/掩膜/…等等),并具有动画建模能力,在地形晕渲和景观图制作方面具有非常好的应用效果。

(一)DEM数据源

(二)基础晕渲图

(三)叠加分层设色高度图

(四)叠加春季影像(时相2020/04/29)

(四)叠加夏季影像(时相2020/08/03)

(五)叠加秋季影像(时相2019/10/20)

(六)叠加冬季影像(时相:2020/01/08)

(七)斜视图(45度俯视)