【教程】数字高程模型DEM导入Minecraft我的世界(以南望山为例)

时间:2024-05-21 14:27:54

摘要

一直以来,在Minecraft(我的世界)中1:1还原现实中的地形一直较为困难。笔者从地理信息系统原理课程的学习中获得启发,提出使用数字高程模型DEM进行导入的方法。本文将以南望山的DEM导入地大MC地图为例进行详细讲解。

DEM简介

DEM是数字高程模型(Digital Elevation Model)的简称。DEM是栅格数据,也即我们俗称的图片。其每个像素的灰度值代表该位置地形的高程,颜色越亮,高程越大。

用到的软件

ENVI MATLAB Photoshop WorldPainter MCedit

步骤流程图

【教程】数字高程模型DEM导入Minecraft我的世界(以南望山为例)

具体步骤

使用ENVI进行裁剪

将从地理空间数据云下载的DEM和同一区域的高分遥感影像用ENVI打开。在高分辨遥感影像上将要导出的部分标记为ROI。如图,我要导出南望山,就把南望山标记为ROI。
【教程】数字高程模型DEM导入Minecraft我的世界(以南望山为例)
在Layer Manager中拖动刚才创建的ROI到DEM图层,使用Toolbox中的Subset Data from ROIs进行裁剪。参数如下图所示,勾选遮盖未选中的像素。
【教程】数字高程模型DEM导入Minecraft我的世界(以南望山为例)
在裁剪所得的图层上右键选择“Export Layer to TIFF”保存为TIFF文件。
【教程】数字高程模型DEM导入Minecraft我的世界(以南望山为例)
使用Photoshop打开可见其仅仅是一个57*19的图片,分辨率过低。所以在导入MC地图之前,还需进行插值和平滑,以提高DEM的分辨率。

提高分辨率

使用MATLAB进行双线性插值

原本想采用曲面拟合的方法进行插值,但是我MATLAB水平有限所以没能实现,故采用双线性插值之后再高斯模糊进行平滑的方法提高分辨率。有人能有更好的方法也欢迎补充。
在GoogleEarth中进行测量,经计算得原始的DEM图需要放大25倍。
双线性插值的MATLAB代码此处略去,经MATLAB处理后得到:
【教程】数字高程模型DEM导入Minecraft我的世界(以南望山为例)
再使用Photoshop高斯模糊,进行平滑。高斯模糊的半径以能模糊原有栅格边界为准。处理后得到:
【教程】数字高程模型DEM导入Minecraft我的世界(以南望山为例)

导入WorldPainter

打开WorldPainter。
文件——导入——高度图
参数如图所示:
【教程】数字高程模型DEM导入Minecraft我的世界(以南望山为例)
【教程】数字高程模型DEM导入Minecraft我的世界(以南望山为例)
【教程】数字高程模型DEM导入Minecraft我的世界(以南望山为例)
用Ctrl+E 导出到Minecraft地图,就大功告成了。
【教程】数字高程模型DEM导入Minecraft我的世界(以南望山为例)

添加建筑

用MCedit将南望山下的中国地质大学(武汉)剪切到南望山脚合适的位置。
得到:
【教程】数字高程模型DEM导入Minecraft我的世界(以南望山为例)
注:地大西区作者为Canon,QQ715790470
而本人在Canon的基础上添加了地大隧道和南望山。

附几张chunky渲染的渲染图:
【教程】数字高程模型DEM导入Minecraft我的世界(以南望山为例)

【教程】数字高程模型DEM导入Minecraft我的世界(以南望山为例)
【教程】数字高程模型DEM导入Minecraft我的世界(以南望山为例)
【教程】数字高程模型DEM导入Minecraft我的世界(以南望山为例)
【教程】数字高程模型DEM导入Minecraft我的世界(以南望山为例)
如果你觉得本文不错,请点赞,这是支持我继续写博客的动力。