1 概述
《谷歌地图高精度模型提取》系列博客,距离上一篇博客,将近3周的时间了,可能平时太忙了,也可能是我自己太懒惰了,给自己找借口,所以一直没有更新。
2 相关说明
2.1 为什么可以获取谷歌地图模型
为什么我们能够获取谷歌地图上的模型?严格来说,世界上所有的三维数据,通过浏览器观看时,都可以被获取到。因为浏览器查看三维模型,会先将三维数据下载下来,然后将数据送入显卡,显卡经过一系列的处理后,会将三维数据绘制到屏幕上,也就是说,只要数据没有绘制到屏幕上时,这时获取的数据就是真是的三维数据。绘制到屏幕后的数据,就是二维的了。
2.2 LOD
LOD是Levels of Detail,表示等级细节层次。其实,就是距离越近,看的越清晰,细节越突出,距离越远,细节越不突出。谷歌为了减小浏览器查看模型,对主机的压力,当我们通过滑轮对地图进行缩放时,就是在拉伸相机视角,相机越近,看的越清晰,相机越远,就看不清细节。所以,如我们想下载高清大模型,就一定要把相机视角拉进,也就是放大地图。
但是,当我们把地图放大时,我们想要的模型就远远超出了屏幕的大小。而超出屏幕大小的三维数据,是无法被下载下来。我们可以连接10台显示器,这样,就可以下载10台显示器大小的模型。
通过上面示意图,就能看出来,如果想要获取高清模型,把地图放大,拉近视角。
3 模型下载
3.1 扯扯蛋
上面说到,想要获取高清模型,把地方放大就行。但是,地图放大后,可视区域就变小。所以,我们只能获取一小块区域的高清模型,当然了,如果你有10台1080p分辨率的显示器,那你就能获取19200*1080大小的模型了。但是,不是每个人都有10台显示器,就算有10台显示器,一台主机也无法连接10台显示器。然后,有人说,买一条分线器,1分6的分线器,买两根,就能接12显示器。
3.2 相关工具
在这里先给大家说声对不起,因为我的疏忽,工具没有把所有的工具上传。下载了《谷歌地图高精度模型提取1》的工具的小伙伴们,可以直接找作者索要完整工具。
解压donw-model.7z
后,可以看到cef
、setcef
和工具
三个文件夹。其中工具
文件夹就是《谷歌地图高精度模型提取1》所使用的工具。现在重点讲述cef
和setcef
的使用。
cef
是作者自己编译的谷歌浏览器,用来专门下载谷歌地图模型的
setcef
是作者写的一个小程序,用来控制cef
双击cef
文件夹,可以看到如下图
然后找到cefclient.exe
,并双击,可以看到如下界面。以下cefclient.exe
程序界面,简称cef界面
。
看上图,是不是就是谷歌浏览器的简化版?此时,我们可以关闭cef界面
。
双击setcef
,看到下图所示文件
找到SetCefWidgetSize.exe
,双击改文件,可以看到下图。以下程序SetCefWidgetSize.exe
窗口简称控制界面
现在,也可以关闭控制界面了。
3.3 启动工具
双击命令行参数设置.txt
文本,打开文本,并双击SetCefWidgetSize.exe
,打开控制界面
。将文本中的启动路径
和启动参数
复制到控制界面
中的指定位置,如下图所示。
在
启动程序参数
中,我还需要改动一下,要把cefclient.exe
路径填写对,如下图所示。
不知道大家看不看得懂,上图所表达的意思,看不懂的留言吧。
现在可以点击SetCefWidgetSize.exe
文件,启动控制界面
,点击界面的启动程序
按钮。
点击启动程序
按钮后,会有如下界面此时,我们不要急着点击上图确定按钮,先打开
RendDoc
然后点击File
->Inject into Process
在上图红色框处,输入点击
启动程序
按钮时弹窗的数字,然后点击Refresh
此时,
启动程序
按钮时的弹窗,就可以点击确定按钮了。然后,回到RendDoc
界面,双击cenfclient.exe
,如下图所示。
3.4 下载模型
回到cef界面
,在顶部输入www.google.com
,进入谷歌主页在搜索框中输入
Google map
,然后按下回车键
点击第一条搜索内容,即可进入谷歌地图
我们现在就准备把整个宝岛tai wan下载下来
在地图搜索栏中,输入汉字taiwan
把地图切换成三维模型(怎么切换,可以看上一篇博客)
此时,我们记住cef界面
程序的窗口的名字,比如,上面图片上,显示的是Taiwan - Google Maps
将该名字,填写到控制谷歌浏览器
界面中的窗口名称
处
现在,在
控制界面
中的窗口大小
处,填写四个数字,前两个数字是cef窗口
左上角的位置,后两个数字就是用来设置cef界面
的大小。比如,我们设置-100,-100,5000,3000
,表示cef窗口
在(-100,-100)处,大小为5000x3000。然后点击设置
按钮,即可完成cef界面
的设置。如下图所示。
如果点击设置按钮没有任何反应,就说明窗口名称
设置错误了,那就需要仔细检查一下窗口名称。给大家看一下我设置后的效果
然后点击移动
控制界面
的两个滑动条,可以移动cef界面
,这样我们就能看清楚,cef界面
上地图的模型,是否全部加载完成。
如果地图模型全部加载完成后,接下来的操作和上一篇博客的操作一模一样了。这里就不在多说了。
注意:最好使用英伟达的显卡,因为我在amd显卡上测试,经常出现黑屏的情况,英伟达显卡不会出现黑屏。目前还不知道是什么原因。