一、三维地形图

这是一张我国的三维立体地形图,和常规的地形图相比,这张图立体性更强。但通常三维立体图的步骤较为繁琐,还需要学习Blender或者别的建模软件,学习成本很高。

img

而我在无意间,了解到一种很简单制作三维立体地形图的方法。接下来,我将从头到尾制作一遍,现在教程开始。

二、前期准备

1 软件准备

在制作之前,需要先准备好软件,ArcGIS ProAerialod。ArcGIS,作为地理信息专业的学生应该都熟悉,ArcGIS Pro 则是ESIR推出的新一代地理制图工具,其实两个软件哪个都可以,我之所以选择Pro版单纯是因为它能输出正方形的图片(ArcGIS只能输出竖版or横版图片)。

img

(注:ArcGIS软件安装方法较为繁琐,教程可以网上搜索,如果有需要我也可以出一期教程)

Aerialod就是本次教程的主角,软件很小,是一款轻量级、免费的三维地形可视化工具,专门用于将 DEM(数字高程模型)、高度图等数据快速渲染成逼真的 3D 地貌场景。

img

(注:直接网上搜索Aerialod,进入上面这个界面,点击win版本即可下载:MagicaVoxel

2 数据准备

本教程只是单纯制作地形图(不包括行政范围、城市坐标、水域数据等),因此只需要准备制作区域的DEM数据。为了照顾有些朋友没有全国的DEM数据集,因此我选择地理空间数据云这个官方平台进行下载。没有账号的可以注册一个,用QQ即可注册。

img

(官方网站:地理空间数据云

登录后,选择高级检索,进入地图显示页面。点击数据集旁边的+号,找到DEM数字高程数据,可以按需选择。(解释:30m分辨率比90m高清,但制作市一级的三维地图并不需要太高清,除非你需要制作你家附近的山峰三维地形图)

img

位置选择,你可以通过下拉进行选择,也可以直接在地图上进行点击或者画图进行选择。

img

我这里下拉选择泰安地区,点击检索即可看到地图上显示的数据矩形范围(范围包含泰安市)。点击下载即可,我下载的DEM文件压缩包(utm_srtm_60_05.img)大小为14M。

img

至此,前期准备结束。

三、ArcGIS预处理

首先,将解压后的utm_srtm_60_05.img文件拖进ArcGIS Pro中,如下图所示。

img

(备注:ArcGIS Pro在这个流程中的作用,就是为了得到两张图:黑白栅格底图+贴图。)

1 导出底图

先演示怎么得到底图。点击左侧区域的黑白条,然后点击右侧的符号系统,此时会出现一个控制面板,下拉选择拉伸,配色方案默认即可(左黑右白),拉伸类型选择最大最小。

img

由于我需要的是正方形的矩形,因此选择插入——新建布局——自定义页面大小。

img

确保宽度与高度一致即可,我这里长宽均为21cm,点击确定。

img

此时得到的只是空白的面板,需要将地图元素添加进来。选择插入——地图框——地图(选哪个无所谓)。选中后,在空白面板处框选整个正方形区域,即可将地图元素添加进来。

img

此时,自己需要制图的区域并没有合适的呈现,因此需要右键,点击激活,此时就能拖动地图了。

img

我需要调整到泰山区域,因此通过鼠标拖动、滚轮放大缩小,调整到正确范围,然后点击布局——关闭激活。即可切换回不可移动的界面。

img

点击右侧的导出,文件类型选择png(注意:选择png,别的格式不行),文件名称和路径可以自定义,分辨率我选择300dpi,不需要太高也不需要太低。然后点击导出即可。

img

2 导出贴图

接下来就是贴图的制作。同样点击颜色条,然后点击右侧的符号系统。配色方案、拉伸类型就看你自己审美了,找到自己喜欢的贴图就行。

img

然后点击导出,名称改一下,点击导出即可。

img

至此,准备工作结束。得到两张png图片:泰山底图+泰山贴图。

img

四、Aerialod处理

打开Aerialod,右侧有1、2、4三个数字,选择第四个,然后点击下方的黑色区域(弹出选择文件),选中泰山底图.png,即可加载底图数据。

img

点击color的黑色区域,选中泰山贴图,即可加载贴图数据。

img

拖动右下角的正方体,即可改变三维地形图的视角。通过改变下图中的数值,可以改变地形的呈现状态(能让地形变得很夸张)。

img

然后左侧控制面板,有很多可以调整的参数,大家可以自行测试效果。我只需要将背景改为白色,因此不做过多操作(面板功能很丰富,包括阴影位置等)。

img

调整完毕后,导出设置。注意:为了方便,建议地图右上角的数值(即图片中白色框)是什么,导出区域的数值就填什么(与白色框一致),然后点击render导出即可。

img

当然也可以制作二维立体地形图,如下所示。效果同样很惊艳。

img

五、修图

剩下的就是用PS或者自己用的顺手的修图软件,把各种元素添加上去就行。

img

至此教程结束,如果有什么疑问,可以评论区讨论