自学内容网 自学内容网

【小沐学GIS】blender导入OpenTopography地形数据(BlenderGIS、OSM、Python)

1、简介

1.1 blender

https://www.blender.org/
Blender 是一款免费的开源 3D 创作套件,支持整个 3D 管道。使用它强大的工具,你可以轻松创建惊人的 2D/3D 内容。

Blender是一款三维图形图像软件,提供从建模、动画、材质、渲染、到音频处理、视频剪辑等一系列动画短片制作解决方案。Blender拥有方便在不同工作下使用的多种用户界面,内置绿屏抠像、摄像机反向跟踪、遮罩处理、后期结点合成等高级影视解决方案。
在这里插入图片描述

1.2 OpenStreetMap地图

https://www.openstreetmap.org/
https://extract.bbbike.org/
Openstreetmap是一种开源地图,简称osm。其包含图层主要有高速公路、铁路、水系、水域、建筑、边界、建筑物等图层。地址为:https://www.openstreetmap.org
在这里插入图片描述

2、BlenderGIS

https://github.com/domlysz/BlenderGIS

在这里插入图片描述

2.1 下载BlenderGIS

git clone https://github.com/domlysz/BlenderGIS.git

下载如下:
在这里插入图片描述

2.2 安装BlenderGIS

在这里插入图片描述
运行时报错如下:
在这里插入图片描述
如果点击完报下图的错误提示就说明缺少ImageIO文件。去下边的地址下载即可,粘贴到blender安装目录–下方地址。如果没有freeimage文件夹。创建即可

....../BlenderGIS/core/lib/imageio/resources/freeimage/

在下面地址下载freeimage的dll文件:
https://github.com/imageio/imageio-binaries/tree/master/freeimage
https://freeimage.sourceforge.io/download.html

python.exe -m pip install imageio

2.3 申请opentopography的key

https://opentopography.org/
Open Topography是一个提供高空间分辨率的地形数据和操作工具的门户网站。,我们可以通过Open Topography下载LiDAR数据,这些数据主要是包括:美国、加拿大、澳大利亚、巴西、海地、墨西哥和波多黎各等。

Open Topography可以提供我们10个最好的免费的全球栅格和矢量数据源。开放式社区系统是它的优点。通过注册账号后,就可以访问社区更多的功能。此外,它的另一个特点是,它可以提供目前相对最大的、开放式的、免费的LiDAR数据,展示的形式漂亮、整洁。

在这里插入图片描述
为了防止机器人攻击,国外很多网站都使用了 Google reCaptcha 验证码。reCaptcha 对于国外用户非常的友好,但是…对于国内用户就不怎么友好了。究其原因,则是国内网络全线屏蔽 Google 服务,导致 reCaptcha 完全加载不出来。
本方案基于 Header Editor 插件。因此,您需要先在您的浏览器中安装这个插件。
第一步:下载插件
下载离线文件,Header Editor 离线安装文件。
第二步:配置插件
打开 Header Editor 插件的配置页面,选择“导入和导出”选项,并输入URL为https://azurezeng.github.io/static/HE-GoogleRedirect.json,点击下载。
接下来你应该会在“导入”看到相关规则(如果之前导入过,“操作”中的“添加”会显示为“覆盖已有”)。选择“保存”即可。

2.4 抓取卫星地图

点击GIS -> Web geodata -> basemap 就可以抓取需要的地图。
在这里插入图片描述
选择地图来源如下:
在这里插入图片描述
显示地图如下:
在这里插入图片描述
鼠标左键是拖动,鼠标中键是地图级别放大。如果有的瓦片没有刷新出来,可以单击鼠标左键。就会重新载入瓦片。
按E键可以将视口显示的范围内的地图瓦片抓取下来。
添加国内地图

在basemaps文件夹里中servicesDefs.py的文件添加国内地图。
在这里插入图片描述

2.5 生成高度图

按E键可以将视口显示的范围内的地图瓦片抓取下来。
在这里插入图片描述
点击GIS -》Web geodata -> get elevation 载入高度图信息。
在这里插入图片描述
生成地形模型如下:
在这里插入图片描述
然后导出模型为本地文件:
在这里插入图片描述

2.6 获取OSM数据

除了地图之外还可以获取基于OSM(open stream map)网站的 路网信息、建筑体块信息。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

也可以去 OSM网站单独下载楼体块、道路资源 导入到blender中。
blender中导入.osm资源。
在这里插入图片描述

注意:想要导出这些地图和资源 需要将资源塌陷为网格 不然导出的会是空物体。
选中地图 左上角 物体–应用–可视集合体->网格。
在这里插入图片描述

转成网格体之后就可以将物体导出FBX或者OBJ 或者网页最常用的gltf 。

结语

如果您觉得该方法或代码有一点点用处,可以给作者点个赞,或打赏杯咖啡;╮( ̄▽ ̄)╭
如果您感觉方法或代码不咋地//(ㄒoㄒ)//,就在评论处留言,作者继续改进;o_O???
如果您需要相关功能的代码定制化开发,可以留言私信作者;(✿◡‿◡)
感谢各位大佬童鞋们的支持!( ´ ▽´ )ノ ( ´ ▽´)っ!!!


原文地址:https://blog.csdn.net/hhy321/article/details/142686856

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!