python下shp转3dtiles

前言:最近一直在研究怎么通过带高度的shp面生成一些带贴图的3dtiles,提升数字孪生等一些场景的可视化效果。

实现过程及思路:其实生成模型并不难,建筑面拉伸高度之后就能生成了,可以用arcgis,tyengine等一些专业三维软件去构建。

问题1:生成的白膜不带有位置信息,要不就是生成的模型转成了3dtiles之后没法和地图实际空间位置贴图。例如cityengine导出的模型转成3dtiles之后,越远的模型偏差就越大。完全无法大规模使用。而且生成的模型非常大,cesium加载起来也很吃力。

问题2:这些三维软件贴图都没法批量去贴图,而且导出的模型都非常大,甚至白膜也很大。

其实就算是贴合上了,贴图也可能没法和实际的比例匹配。我对采集的贴图进行处理,计算后安装实际比例贴合到建筑上,看起来效果还可以。

问题3:就算到最后建立了模型转成了3dtiles,但是没法和cesium或者天地图,mars3d等一些在线地形进行贴合。我生成的时候考虑了dem的输入,让生成的模型可以基本上完美的和这些在线地形贴和。

我在实现的时候,对顶点做了压缩,基于贴图对glb分组,将建筑和屋顶分开构建,提升加载效率。

而且对于贴图做了无损压缩,下图这个大概8000多个建筑,带上贴图才50多m。每个glb不到1M

我还实现了程序化构建道路3dtiles的模型。根据osm的属性计算道路宽度,按实际比例贴图。




视频效果

城市数字孪生模型视频效果

代码开发不易,大家如果有兴趣可以联系我,本技术全网独我一份。

相关推荐
人工智能AI技术4 分钟前
【Agent从入门到实践】41 部署方式选型:本地脚本、Docker容器、云服务部署
人工智能·python
Fleshy数模9 分钟前
零基础玩转HTML:核心标签与页面构建
python·html
2401_832402759 分钟前
使用Docker容器化你的Python应用
jvm·数据库·python
七夜zippoe11 分钟前
WebSocket实时通信系统构建:从握手协议到生产级实战
网络·python·websocket·网络协议·心跳
人工智能AI技术31 分钟前
【Agent从入门到实践】44 监控与日志:添加监控指标、日志记录,方便问题排查
人工智能·python
2301_8174973344 分钟前
自然语言处理(NLP)入门:使用NLTK和Spacy
jvm·数据库·python
weixin_550083151 小时前
QTdesigner配置在pycharm里使用anaconda环境配置安装成功
ide·python·pycharm
强化试剂瓶1 小时前
Silane-PEG8-DBCO,硅烷-聚乙二醇8-二苯并环辛炔技术应用全解析
python·flask·numpy·pyqt·fastapi
钱多多先森1 小时前
【Dify】使用 python 调用 Dify 的 API 服务,查看“知识检索”返回内容,用于前端溯源展示
开发语言·前端·python·dify
zhougl9961 小时前
Java定时任务实现
java·开发语言·python