WELCOME TO BIG DATA VISUALIZATION

新闻中心 

最新的一体化系统新闻资讯 时刻在线 持续服务
CRAFTSMANSHIP TO
CREATE A “SAID” WORKS

技术|如何使用BlenderGIS获取简易城市白模

发布于 2022年07月11日

随着技术的发展,倾斜摄影的费用一直在降低,大范围的城市建模一般使用无人机航拍倾斜摄影的方式转换成三维网格模型。倾斜摄影的费用以及模型数据量庞大,在智慧园区项目中,除去主体建筑外依然推荐使用简易白模来作为配景更为高效经济。较为容易获取大范围的城市白模数据的方式是获取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

 

1 

 

3、配置天地图功能

 

默认的插件包只配置海外地图资源,加载速度相对比较慢。推荐增加国内天地图的配置,以提高加载速度。

 

A.修改servicesDefs.py

 

a. 解压插件包,找到里面相应的脚本。路径:\core\basemaps\servicesDefs.py

 

b. 使用记事本或vscode打开脚本文件,找到“ SOURCES = { ”。

 

c. 将天地图配置代码复制进去,注意最后一个花括号“}”后面是有一个逗号。

 

2 

 

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

 

3 

 

b. 使用记事本或vscode打开脚本文件,找到“ #Basemaps ”。

 

c. 将 box.prop(self, "tdtToken")  复制到对应位置

 

4 

 

C.修改view3d_mapviewer.py

 

a. 找到里面相应的脚本。路径:operators\view3d_mapviewer.py

 

b. 使用记事本或vscode打开脚本文件,找到 #Get resampling algo preference and set the constant

 

c. 将 MapService.TDTTOKEN = prefs.tdtToken  复制到对应位置

 

5 

 

D.修改mapservice.py

 

a. 找到里面相应的脚本。路径:core\basemaps\mapservice.py

 

b. 使用记事本或vscode打开脚本文件,找到 #if self.service == 'WMTS_TOKEN':

 

c. 将 url = url.replace("{TOKEN}", self.TDTTOKEN)  复制到对应位置

 

6 

 

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是当前使用的操作系统版本,一定要配合当前系统版本的库才行)

 

7 

 

4、将配置好的插件包重新压缩成zip格式,然后启动Blender安装。

 

8

 

9 

 

9.1 

 

5、获取天地图token

 

地址:http://lbs.tianditu.gov.cn/server/MapService.html

 

10 

 

6、配置换成路径路径和天地图token

 

11 

 

7、启动插件

 

12 

 

13 

 

8、定位地点

 

按快捷键G弹出搜索框,或者通过鼠标操作定位到对应的地方。(Zoomlevel是地图层级)

 

14 

 

9、获取建筑轮廓数据

 

定位完成后按E,裁剪瓦片。配置获取数据项,然后下载。下载完成后可导出模型到其他DDC软件进行处理。

 

15 

 

三维 建模 智慧园区
预约产品DEMO演示
填写即可获得免费服务和资料下载/工作人员基于您的需求远程 演示数字孪生解决方案

姓名



公司名称



工作邮箱



手机号



所在城市



我想要


 数据中心

 数据可视化大屏

 我搭世界

 成为合作伙伴



其他需求