新闻中心
CREATE A “SAID” WORKS
技术|如何使用BlenderGIS获取简易城市白模
随着技术的发展,倾斜摄影的费用一直在降低,大范围的城市建模一般使用无人机航拍倾斜摄影的方式转换成三维网格模型。倾斜摄影的费用以及模型数据量庞大,在智慧园区项目中,除去主体建筑外依然推荐使用简易白模来作为配景更为高效经济。较为容易获取大范围的城市白模数据的方式是获取GIS数据,再转换成三维网格模型。目前首选使用Blender。
Blender是免费的开源3D创作套件。它支持整个 3D 管线 — 建模、装配、动画、模拟、渲染、合成和运动跟踪,甚至视频编辑和游戏创建。高级用户使用Blender的API进行Python脚本编写,以自定义应用程序并编写专用工具;通常这些都包含在Blender的未来版本中。Blender非常适合个人和小型工作室,他们受益于其统一的管道和响应式开发过程。许多基于Blender的项目的示例都可以在展示中找到。
使用BlenderGIS获取简易城市白模的具体步骤如下:
1、首先安装Blender。最低2.83以上。
https://www.blendercn.org/
2、下载BlenderGIS插件包,Blender 所需的最低版本:v2.83。
地址:https://github.com/domlysz/BlenderGIS/releases
3、配置天地图功能
默认的插件包只配置海外地图资源,加载速度相对比较慢。推荐增加国内天地图的配置,以提高加载速度。
A.修改servicesDefs.py
a. 解压插件包,找到里面相应的脚本。路径:\core\basemaps\servicesDefs.py
b. 使用记事本或vscode打开脚本文件,找到“ SOURCES = { ”。
c. 将天地图配置代码复制进去,注意最后一个花括号“}”后面是有一个逗号。
d. 天地图配置代码:
"TianDiTu" : {
"name" : '天地图',
"description" : "中国国家官方地图",
"service": 'WMTS_TOKEN',
"grid": 'WM',
"matrix" : 'w',
"layers" : {
"img" : {"urlKey" : 'img', "name" : '影像', "description" : '天地图影像',"format" : 'tiles', "style" : 'default', "zmin" : 0, "zmax" : 18},
"vec" : {"urlKey" : 'vec', "name" : '地图', "description" : '天地图地图',"format" : 'tiles', "style" : 'default', "zmin" : 0, "zmax" : 18},
"ter" : {"urlKey" : 'ter', "name" : '地形', "description" : '天地图地形',"format" : 'tiles', "style" : 'default', "zmin" : 0, "zmax" : 18},
# "cva" : {"urlKey" : 'cva', "name" : '地图注释', "description" : '天地图地图注释',"format" : 'tiles', "style" : 'default', "zmin" : 0, "zmax" : 18},
# "cia" : {"urlKey" : 'cia', "name" : '影像注释', "description" : '天地图影像注释',"format" : 'tiles', "style" : 'default', "zmin" : 0, "zmax" : 18},
# "cta" : {"urlKey" : 'cta', "name" : '地形注释', "description" : '天地图影像注释',"format" : 'tiles', "style" : 'default', "zmin" : 0, "zmax" : 18}
},
"urlTemplate": {
"BASE_URL" : 'https://t2.tianditu.gov.cn/{LAY}_w/wmts?',
"SERVICE" : 'WMTS',
"VERSION" : '1.0.0',
"REQUEST" : 'GetTile',
"LAYER" : '{LAY}',
"STYLE" : '{STYLE}',
"FORMAT" : '{FORMAT}',
"TILEMATRIXSET" : '{MATRIX}',
"TILEMATRIX" : '{Z}',
"TILEROW" : '{Y}',
"TILECOL" : '{X}',
"tk": '{TOKEN}'
},
"referer": "https://www.tianditu.gov.cn/"
},
B.修改prefs.py
a. 找到里面相应的脚本。路径:prefs.py
b. 使用记事本或vscode打开脚本文件,找到“ #Basemaps ”。
c. 将 box.prop(self, "tdtToken") 复制到对应位置
C.修改view3d_mapviewer.py
a. 找到里面相应的脚本。路径:operators\view3d_mapviewer.py
b. 使用记事本或vscode打开脚本文件,找到 #Get resampling algo preference and set the constant
c. 将 MapService.TDTTOKEN = prefs.tdtToken 复制到对应位置
D.修改mapservice.py
a. 找到里面相应的脚本。路径:core\basemaps\mapservice.py
b. 使用记事本或vscode打开脚本文件,找到 #if self.service == 'WMTS_TOKEN':
c. 将 url = url.replace("{TOKEN}", self.TDTTOKEN) 复制到对应位置
E.配置离线ImageIO库
首次启用插件时,它会尝试下载一个名为 freeimage 的额外库,该库是 ImageIO 模块所需的。如果下载失败,则底图功能将无法使用,并会引发“No ImageIO”错误。导致下载失败的原因有很多,例如由于使用代理或防火墙而导致的连接中断,或者如果没有互联网。
在这种情况下,可以手动安装 ImageIO 所需的库。所需文件可在此处获得:https ://github.com/imageio/imageio-binaries/tree/master/freeimage
需为您的系统下载正确的版本并将其粘贴到对应目录内。
路径:core\lib\imageio\resources
a. 找到里面相应的脚本。路径:core\lib\imageio\resources
b. 在目录下创建名为“freeimage”的目录
c. 将下载到对应的版本库FreeImage-3.15.1-win64.dll复制到freeimage目录里面。(请注意win64是当前使用的操作系统版本,一定要配合当前系统版本的库才行)
4、将配置好的插件包重新压缩成zip格式,然后启动Blender安装。
5、获取天地图token
地址:http://lbs.tianditu.gov.cn/server/MapService.html
6、配置换成路径路径和天地图token
7、启动插件
8、定位地点
按快捷键G弹出搜索框,或者通过鼠标操作定位到对应的地方。(Zoomlevel是地图层级)
9、获取建筑轮廓数据
定位完成后按E,裁剪瓦片。配置获取数据项,然后下载。下载完成后可导出模型到其他DDC软件进行处理。
相关新闻
- 麦景数据中心可视化管理平台版本迭代记...
- 如何制作无缝贴图
- 智慧档案库房可视化管理平台
- 使用SDK(MJGL.JS)实现温度...
- 初学者如何做一个机房设备模型
- 快速制作机房3D效果图教程
- 技术|如何使用BlenderGIS获...
- 某供电局机房三维可视化系统资产管理及...
- 如何帮助零基础的客户快速搭建三维场景
- 机房三维建模常用技巧——怎么设置模型...
- 使用我搭世界SDK创建3D应用之相机...
- 浅谈数据中心三维可视化产品功能解析
- Echarts柱状图在JavaScr...
- 使用SDK(MJGL.JS)对3D场...
- 如何使用编辑器搭建配电、制冷拓扑图
- 智慧校园数字孪生平台
- 推动“数字孪生”城市建设|《广州市数...
- 智慧楼宇三维可视化管理平台
- 数字孪生产业技术白皮书(2022版)...
- echarts水滴图在纯HTML开发...
- 焕然一新、新版我搭世界如期上线
- 使用我搭世界SDK创建属于你的一个3...
- 如何快速上手数据可视化设计
- 智慧园区三维可视化决策平台开发
- 数字孪生产业技术白皮书(2022版)...
- 智慧园区可视化
- 宜昌市委副书记、市长马泽江莅临传感物...