山海鲸可视化

3D地图可视化中的地形图如何制作

在 3D 地图可视化大屏的制作过程中,我们经常遇到需要制作地形图的情况,类似像是山海鲸模板商城中以下两个大屏模板所展示的那样:

河南省智慧旅游监测大屏

image.png

2020 年太原市矿产检测

image.png

这类需要地形图结合卫星图制作贴紧真实地形效果的 3D 地图是如何制作的呢?下面我就带大家一起来看一下其中比较常见的一种制作方法,采用 Blender+BlenderGis 插件方法:

一、首先下载最新版的 Blender 和 BlenderGis

Blender 和 BlenderGis 都是免费的,Blender 可以直接在 Blender 官网进行下载安装,BlenderGis 可以前往 BlenderGis 的 github 上下载。BlenderGis 直接点击 Github 中如图所示的按钮下载压缩包
image.png

然后再打开 Blender 中的设置选项框,选择插件 Tab,然后点击安装按钮,选择刚刚下载的压缩包,安装完之后需要点击插件的前面的勾选框启用这个插件。

二、解决 BlenderGis 使用过程中 No ImageIO 的问题

如果你使用前面的安装方式安装并启用成功之后,在使用的过程中可能会遇到”No ImageIO”的问题,这个问题是由于这个插件在第一次启用的时候,会去下载一个 freeimage 的库。而这个库是用来展示 basemap 的。如果下载失败,后续再次启用就不会再去下载了,这个时候需要手动去下载这个库来解决问题。
首先打开https://github.com/imageio/imageio-binaries/tree/master/freeimage 根据自己的系统下载对应的版本,然后将下载的文件放到 插件目录下的 BlenderGIS/core/lib/imageio/resources/freeimage/。注意如果这个目录下没有 freeimage 文件夹,要先创建这个文件夹,不能直接复制到 resources 目录里去,否则是没有用的。

三、使用 BlenderGis 的 basemap 功能下载卫星图

进入 Blender,创建一个普通的立方体,选中这个立方体之后,点击左上角的 GIS,在下拉框中选择 Webgeodata->basemap,如下图所示:
image.png

在弹出框中选择 Google 和 Satellite,点击 OK。在操作框中找到自己需要的位置和缩放大小。如果有明确的地方,可以按 G 键然后输入具体的地址,我这里以太湖为例,输入太湖,缩放输入 10 然后点击 ok,如下图所示:
image.png

进一步根据需要调整缩放,然后按 E 键退出并保存当前的位置选择。继续点击 GIS,在下拉框中选择 webgeodata->get elevation。根据自己选择区域的大小来决定是下载 30m 精度还是 90m 精度的高程图,选中后等待高程图下载。下载完成之后,高程图和卫星图会自动应用好修改器,如果大家觉得精度不够,可以选择当前网格物体,进行进一步的面细分后,再应用修改器。
大家在根据自己的需要,可以调整卫星图的颜色以及材质的效果,得到最终的效果并导入到实时渲染引擎或者山海鲸的 3d 模型组件当中去即可。