导入下载 BlenderGIS 插件

去github上下载其压缩包,地址如下:

https://github.com/domlysz/BlenderGIS

在BlenderGIS中导入这个插件压缩包:

点击上方菜单栏的编辑,点击偏好设置

插件>从磁盘安装中导入刚刚下载的压缩包

可以看到上方的菜单栏出现了GIS选项,这就说明插件导入成功了

但是若你想使用,会发现弹出一个报错:No imaging library available. ImagelO module was not correctly installed.

网上给出的一个比较可行的方法是:进入blender的文件夹,在python/bin/的文件目录下cmd,输入命令安装imageio:

1
python.exe -m pip install imageio

影像数据

点击GIS插件,选中Web geodata>Basemap

我这里使用的是国产的天地图,不过这需要额外配置,具体操作可以看这篇文章:Blender关于GIS插件的安装及使用和天地图的配置 - 简书

可以看到影像地图已经显示在界面上了:

Ctrl+G进行定位,输入位置和缩放级别(不过对于我额外配置的天地图好像不适用)

定位到你所感兴趣的位置:

E键可以将视口中的瓦片截取下来:

载入地形起伏

blenderGIS可以从NASA SRTM获取获取海拔数据以生成地形起伏

不过:

去官网获取API,注册然后申请就可以了:

Home | OpenTopography

偏好设置>插件中输入你刚刚申请的API:

选中GIS插件Web geodata>Get elevation

在弹出的弹窗中点击确定:

可以看到地图上已经有地形起伏了,可是不太显眼:

我们直接在右侧的编辑器中控制其Z轴上缩放等级,调整达到一个你认为合适的数值即可:

生成建筑模型

选择Web geodata>Get OSM,获取OSM的建筑路网等信息:

选择你想要生成的模型类型,我这里选择的是建筑(building)、路网(highway)、土地(landuse)、自然(natural)和水路(waterway),记得勾选Elevation from object 这样可以让模型紧贴地形

模型已经生成了:

如果需要的话还可以设置一下道路宽度,这样更加美观,可以看这篇文章:blender设置highway道路宽度_blender画路面-CSDN博客

我们也可以到OpenStreetMap官网获取数据

定位框选你所想要的区域,再导出后缀为.osm的数据:

在GIS插件中选择导入>Open Street Map xml导入下载的osm数据

导出数据

点击文件>导出 导出模型数据,我这里选择导出glb格式

在线模型网站中预览模型