倾斜摄影OSGB格式的文件,很棘手,今天需要把osgb放到UE中渲染。碰到的问题如下:
1、osgb文件导进去后,Z轴不想上,是歪的,小人放进去后,就斜站在马路上。
2、根本原因是坐标系,UE的插件cesium for UE支持WGS84坐标(wkid:4326)。
怎么解决问题呢?
1、当然是问GPT呀,搞搞问答,看它出什么答案,结果,很拉跨。
2、直接转换:通过osgbLab软件进行osgb坐标系变换,用了,能成功,但是,是假性的成功。用其他软件打开看,会发现转换的根本不对,跟极坐标似的。
3、GDAL,一个不错的库,然而,也不行。
问题来了:怎么才行?
当然是间接投影呀!
1、转换osgb为obj格式。使用osgbLab工具,把倾斜摄影的成功转成一个obj,大几百MB。
2、obj进行格式转换,见代码。注意修改input.obj与output.obj。核心功能:找到obj代码里的坐标部分,进行坐标系变换。
# -*- coding: utf-8 -*- import pyproj # 初始化坐标系转换器 transformer = pyproj.Transformer.from_crs("EPSG:4528", "EPSG:4326", always_xy=True) with open('input.obj', 'r') as infile, open('output.obj', 'w') as outfile: for line in infile: if line.startswith('v '): # 处理顶点信息 parts = line.split() x, y, z = map(float, parts[1:4]) # 执行坐标系转换 x, y = transformer.transform(x, y) outfile.write(f"v {x} {y} {z}\n") else: outfile.write(line)
3、使用osgbLab进行格式转换,obj转osgb。至此,曲线救国完成。
相关说明:
obj格式简介 https://www.cnblogs.com/dzmsjs/p/18389082
1.本站内容仅供参考,不作为任何法律依据。用户在使用本站内容时,应自行判断其真实性、准确性和完整性,并承担相应风险。
2.本站部分内容来源于互联网,仅用于交流学习研究知识,若侵犯了您的合法权益,请及时邮件或站内私信与本站联系,我们将尽快予以处理。
3.本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
4.根据《计算机软件保护条例》第十七条规定“为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。”您需知晓本站所有内容资源均来源于网络,仅供用户交流学习与研究使用,版权归属原版权方所有,版权争议与本站无关,用户本人下载后不能用作商业或非法用途,需在24个小时之内从您的电脑中彻底删除上述内容,否则后果均由用户承担责任;如果您访问和下载此文件,表示您同意只将此文件用于参考、学习而非其他用途,否则一切后果请您自行承担,如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
5.本站是非经营性个人站点,所有软件信息均来自网络,所有资源仅供学习参考研究目的,并不贩卖软件,不存在任何商业目的及用途
暂无评论内容