用于CFD的国内3D城市模型获取方法

这篇具有很好参考价值的文章主要介绍了用于CFD的国内3D城市模型获取方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

摘要

直接获取指定城市3D模型的方法至少有以下几种,方法不同模型尺寸,外观精度不同:

1.Blender3.3+BlenderGIS【blender插件】 + [ TOPOgraphy获取高程(VPN)]

#评价是楼宇尺寸,外观精度低;

2.Cadmapper

#国内大规模建筑群信息少,免费的只有一平方公里,国内建筑群完整性低于百度地图;

3.Renderdoc19.0耦合chrome(修改属性)+blender3.1+Mapsmodelimporter【blender插件】;

#由于Mapsmodelimporter是专为Googleearth设计的,所以此方法只能用于爬取Googleearth地图模型;Google_earth 缺少部分欧洲国家,大部分中东国家,以及我国大陆的建筑;

#或许需要高速VPN才能实现个人抓取到教程中那么精细的模型,需要配合3D模型编辑软件修缮才能用于CFD(但是我没有编辑成功过);

4.Renderdoc任意版本耦合微软Edge浏览器(修改属性)+百度地图(任意看得出SD建筑的地图)+CSVConverter;

#能够获取百度地图中的3D城市建筑群,模型比较适合于CFD计算,但是需要手动把瓦片拼接起来;

正文

由于前三种B站,知乎,CSDN上可以找到教程,这里只介绍第四种

第四种需要用到Renderdoc(19.0测试可行),CSVConverter 两个软件

第四种实际上是对第三种的本土化,目的是获得百度地图上的国内模型,所以renderdoc和浏览器的耦合工作和第三种操作相同,方法可参照以下链接

Google地图3D城市模型下载最新实践_Apple_Coco的博客-CSDN博客_谷歌地图下载模型

Release Maps Models Importer v0.5.0 · eliemichel/MapsModelsImporter · GitHub

以下是第四种方法从renderdoc(19.0)与Chrome耦合到爬取成功第一个百度地图模型的流程:

1.下载最新的Chrome后,打开属性,用这行字符串覆盖原来“目标”中的内容:

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"

用于CFD的国内3D城市模型获取方法

2.然后利用以下两篇文章学习renderdoc截帧方法,并安装CSV转换软件

吴彦祖的祖https://zhuanlan.zhihu.com/p/428655330

童广https://zhuanlan.zhihu.com/p/80704313

3.将上述方法应用于爬取百度地图模型

(1)打开Chrome,看到小窗号码,先点击确定

用于CFD的国内3D城市模型获取方法

 (2)打开renderdoc19.0 ,点击File,点击inject into process,进入inject into process界面,并在Filter process 框中输入chrome的小窗中的数字7316

用于CFD的国内3D城市模型获取方法

 如果没有出现chrome.exe那行就点击refresh

 (3)然后点中chrome.exe那行使他变蓝色,然后点击inject【注意!inject前一定不要有已经打开的chrome浏览器,否则会Inject失败,要确保(1)是打开的第一个chrome浏览器页面】

用于CFD的国内3D城市模型获取方法

(4)点击inject后出现如下界面,然后再点击小窗的确定

用于CFD的国内3D城市模型获取方法

用于CFD的国内3D城市模型获取方法

点击确定后chrome界面中就出现画面了,如果左上角出现了蓝线标记的内容说明可以进行后续截帧了

用于CFD的国内3D城市模型获取方法

(5)搜索进入百度地图,我们以香港金紫荆广场建筑群(百度地图上少见的精细建筑群)为例

 用于CFD的国内3D城市模型获取方法

 看到金紫荆广场建筑群后,鼠标滚轮调整页面大小,截取到的内容由看到的决定(会比我们看到的范围略大)

(6)用renderdoc截取所见画面

根据上述步骤后renderdoc应该进入了这个界面

用于CFD的国内3D城市模型获取方法

我们把延迟截取时间调成5s,然后点击Capture After Delay,然后迅速转到金紫荆广场界面,用鼠标拖拽抖动画面,5s后renderdoc中就有我们的截取结果了。

抖动画面演示

(7)然后双击截取结果,加载出左栏目信息

用于CFD的国内3D城市模型获取方法

(8)左栏中找到3D建筑群碎片,并导出CSV文件

以我抓取到的为例,建筑的碎片信息在Colour Pass #1 中,我们需要点击其中子项,在Texture Viewer或mesh Viewer中观察碎片是否是建筑模型

用于CFD的国内3D城市模型获取方法

 这里我找到DrawIndexed(2979)是香港会展中心,我们以这个碎片为例演示如何从renderdoc中导出建筑的CSV文件然后用CSVconverter转换为格式的模型。用于CFD的国内3D城市模型获取方法用于CFD的国内3D城市模型获取方法

 在meshviewer中的如下框中点击右键后点击Export to csv

用于CFD的国内3D城市模型获取方法

 (9)然后我们利用在前面提到的文章中下载的CSVConverter将香港会展中心的CSV文件转换成OBJ格式的文件

用于CFD的国内3D城市模型获取方法

用于CFD的国内3D城市模型获取方法

其他参数选择如下(更详细的描述可见吴彦祖的祖)

用于CFD的国内3D城市模型获取方法

然后我们可以在CSV文件所在目录中看到转换成功的obj文件,我们把他导入到paraview里面看看

用于CFD的国内3D城市模型获取方法

看上去还是很不错的

用于CFD的国内3D城市模型获取方法 如果希望获取STL格式的,可以导入rhino中进行转换

(10) 获取整个紫荆广场画面中的模型

目前我采用的方法就是把所有obj格式的碎片在rhino中根据他们的位置手动拼接起来,这个拼接过程就像拼图一样,(碎片的边缘可以发现拼接线索,所以在rhino中手动拼接这些碎片并不难)

我拼接的结果如下

用于CFD的国内3D城市模型获取方法文章来源地址https://www.toymoban.com/news/detail-444431.html

到了这里,关于用于CFD的国内3D城市模型获取方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包