【Blender】Google Map+ GIS(全免费!国内国外 卫星地图数据都可转成三维模型!)

国外地图模型 网页版获取:
【Blender】GIS + 英国伦敦
国内地图模型 Blender中直接获取:
【Blender】GIS数据+华山 三维模型

演奇
的视频
· 3214 播放
【Blender】GIS数据+北京天安门 三维模型+路网+铁路+.....

来回前前后后鼓捣了7个多小时,终于搞定啦!
【导图】


一、GIS是啥?
GIS,英文全写 Geographic Information System,中文译为地理信息系统。
【专业讲解】
它是一门综合性学科,结合地理学、地图学、以及遥感与计算机科学,已经广泛的应用在不同的领域,是用于
输入
存储
查询
分析
显示
地理数据的计算机系统。
【通俗讲解】
GIS是一种基于计算机的工具,它可以对空间信息进行分析和处理(简而言之,是对地球上存在的现象和发生的事件进行成图和分析)。 GIS 技术把地图这种独特的视觉化效果和地理分析功能与一般的数据库操作(例如查询和统计分析等)集成在一起。

二、国外地图模型 网页版获取
【2.1】下载安装插件 Maps Models Importer
https://github.com/eliemichel/MapsModelsImporter/releases
安装好后就可以支持导入rdc格式的谷歌地图数据文件啦。

那么,rdc格式的文件从哪来呢?renderdoc又是个啥呢?
【2.2】Renderdoc+相关渲染API

renderdoc 即帧捕获调试器,即提取动态画面的静态图片/模型等,主要针对于:
【Vulkan】
Vulkan——跨平台的2D和3D绘图API,于2015年GDC上 由 Khronos 科纳斯组织 发表。
【D3D】
D3D11、D3D12,即Direct 3D,Direct X 11/12的图形部分功能(三维)。Direct X是由微软公司创建的主要针对于windows系统的多媒体API,能够加强3D图形和声音效果。Direct 直接、X 多,为众多软件(视频、音频、游戏等)提供直接服务,但并不是一个单纯的图形API,它主要包含了
显示部分——Direct Graphics【Direct 3D(D3D)+Direct Draw(DDraw)】 主要负责图像加速渲染工作。
DDraw负责二维的,如小游戏视频图片等
D3D负责三维的,如CS/半条命等三维游戏中的场景/人物等
声音部分——Direct Sound,主要负责播放/混音/录制声音等工作
输入部分——Direct Input,支持多种输入设备,如键盘、鼠标、手柄、摇杆、模拟器等
网络部分——DirectPlay,主要负责游戏的联网工作。TCP/IP、IPX、串口、Modem等
还有其他的,如Direct Show/Setup/Media Objects等等。
【OpenGL】
OpenGL、OpenGL ES。Open Graphics Library(Embedded Systems)的简称,即开发图形库,也是由Khronos 科纳斯组织发表。它是用于渲染2D、3D矢量图形的跨语言、跨平台的API,不止像Direct X一样可以用于Windows平台,还可用于UNIX、MAC OS 平台。
OpenGL ES针对于手机、掌上电脑和游戏主机等嵌入式设备而设计。(如Javascript语言绑定的WebGL即是基于Open GL ES 2.0在Web 浏览器中进行3D渲染的API)
【2.3】下载安装Renderdoc
扯得有点远,继续回来下载安装。
https://renderdoc.org/builds
下载 v1.8 稳定版本 (msi),不要下载最新的v1.9 (zip)。
普通推荐安装就好了,然后打开软件。
【2.4】调试Chrome捕捉帧
找到Chrome,Open File Location,找到应用程序根目录。
一般默认为: (以下路径复制粘贴即可)
C:\Program Files (x86)\Google\Chrome\application
2.在文件夹内选中Chrome.exe后创建快捷方式Create Shortcut。选Yes,然后切换到桌面

3.Alt+Enter 可快速调出Chrome快捷方式的详情
4.复制以下文本内容到Target目标中:
C:\Windows\System32\cmd.exe /c "SET RENDERDOC_HOOK_EGL=0 && START "" ^"C:\Program Files (x86)\Google\Chrome\application\chrome.exe^" --disable-gpu-sandbox --gpu-startup-dialog"

5.然后apply应用即可,我们会发现图标变成了这种cmd样式的。

6.双击打开(注意打开前Chrome必须是关闭状态,否则弹框出不来)
7.打开后就是一个空白Chrome和一个这个,每次打开值都会不同,毕竟帧捕捉嘛,跟游戏一样不稳定。记录好这个数值,马上会用到。(不要点击OK,待会儿再点)

【2.5】配置RenderDoc
【1】左上角File->Inject into process,注入到流程当中,它会打开一个新的窗口
【2】在其内输入刚才的PID数值(你也可以键入chrome查找,红色为需要的)

【3】选中之后点击Inject,会打开一个单独的chrome【PID】面板,确保Connection Status是建立好的状态

【4】然后点击Chrome的OK,进入到 GoogleMap 中找到一个合适的位置。
注意:不是Google Earth,两个不一样。

【5】 Google Map 操作快捷键:
鼠标左键平移
Ctrl+鼠标左键旋转3D视图
鼠标滚轮缩放
中国地图的话都是平面的,没有三维的,所以是测试不成的。

不相信的话,可以试试,反正始终是导入不进来的。

【6】找到合适位置后,然后我们立即捕获

【7】导出设置
可以看到有图片了,双击图片打开图片详情
选取Color Pass,选择带深度的。
然后File->Save Capture as(Capture Files *rdc格式文件)

【2.6】Blender最终导入rdc后缀文件
回到Blender中 Import Google Maps Capture,导入即可。
Z 切换到Material 材质/Rendered渲染模式,可以显示贴图。
Shift+~ FPS自由视角预览
三、国内地图模型 Blender中获取
【3.1】下载安装插件
domlysz/BlenderGIS
安装好后屏幕上方会出现GIS的菜单栏:
【3.2】设置地图数据缓存文件夹
进入偏好设置中设置数据缓存文件夹路径:
【3.3】No ImageIO报错解决办法
加载地图数据,Web geodata->Basemap;
我们会发现出现错误,提示没有图像库image io。
Windows,键入 %appdata%,依次找插件路径,或者把下方路径中的2.82换成你的Blender版本即可。
C:\Users\Administrator\appData\Roaming\Blender Foundation\Blender\2.82\scripts\addons\BlenderGIS-master\core\lib\imageio\resources
我们到解压好的插件目录中看到,这里是有imageio的:
另:Github上还有一个是它的源文件:(下载替换也不管用)
imageio/imageio
【3.3.1】下载GDAL.WHL文件
大小:32.7M
https://github.com/domlysz/BlenderGIS/wiki/How-to-install-GDAL
大家可以直接翻译成中文按照步骤操作即可:
我们可以打开Blender的console面板,看到Blender的Python版本。
下载相对应的版本即可。 3.7,amd64.
【3.3.2】找目录 运行cmd 安装配置GDAL 文件
1.将此文件复制粘贴到bin目录下。
2.复制路径
3.Windows+R 键入cmd
4. cd 然后Ctrl+V复制路径 回车后再键入 主磁盘路径(如D:)
5.这下我们进到了bin文件夹下了,可以使用python.exe可执行程序来安装GDAL文件
python.exe -m pip install GDAL-3.0.4-cp37-cp37m-win_amd64.whl
然后就安装成功啦。
【3.3.3】同理,下载并安装Numpy.WHL
大小:197MB(可能会比较慢)
F2 重命名,然后Ctrl+C复制粘贴替换即可。
python.exe -m pip install numpy-1.18.5+mkl-cp37-cp37m-win_amd64.whl
安装成功:可以到python->Scripts下中查看。

【3.3.4】注意事项(可跳过)
不要用Powershell,根本不管用,想了解的可以看以下内容:
逐层Open File Location手动找,最后直接Shift右键,Open Powershell Here打开命令台。

或者打开Blender中的Console,键入:
import.sys
sys.exec_prefix
即可获取blender python程序路径

然后右键复制路径(不要Ctrl+C,不起作用的)
Windows键 键入Powershell
cd(change directionary) + Ctrl+V粘贴内容即可

【3.3.5】添加环境变量
1.Windows,键入Environment。

2.打开环境变量

3.添加用户环境变量,
名字为:
GDAL_DATA
路径为:
D:\BaiduNetdiskDownload\Blender download\Blender-2.82\blender-2.82-windows64\2.82\python\lib\site-packages\osgeo\data\gdal

添加成功,然后OK确定:

【3.3.6】打开Blender测试
【测试库】
Console控制台中:
只要不报错就成功。

【测试环境变量】
值>0表示错误代码
返回0即正常。

然后就成功啦,我槽,搞了好几个小时。

如果你打不开的话,需要重启Blender,而且它还可能要下载个Freeimage.dll文件。

然后导入Basemap可能是灰色的,Google可能不行(一直是灰色,要翻墙),我拿OSM(Open Street Map)和Bing 测试成功啦。
左上角显示坐标信息和下载状态。

然后G 输入指定位置。
E结束,这时候得到的是一个平面。
最我们需要Web geodata->get SRTM 以获取高度数据。

