倾斜摄影osgb格式文件,进行坐标转换

倾斜摄影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

相关推荐
山海鲸可视化8 天前
GIS融合之路(八)-如何用Cesium直接加载OSGB文件(不用转换成3dtiles)
3d·gis·数字孪生·cesium·倾斜摄影·osgb
枝上棉蛮1 个月前
三款GIS工具多角度对比:免费的倾斜摄影OSGB/3Dtiles编辑转换发布平台
gis·数字孪生·倾斜摄影·cesiumlab·osgb·3d tiles·三维数据转换
知来者逆3 个月前
相机标定——小孔成像、相机模型与坐标系
图像处理·计算机视觉·相机标定·坐标系·相机模型·小孔成像
craybb4 个月前
数据分析或处理中关于坐标系的一些事
开源·投影·坐标系
G果4 个月前
机体坐标系和导航坐标系
游戏引擎·cocos2d·导航·坐标系
|Ringleader|6 个月前
【Unity学习笔记】第十六 World space、Parent space和Self space及Quaternion左乘右乘辨析
unity·坐标系·quaternion·world space·parent space·model space·左乘右乘
三维GIS那点事_王跃军7 个月前
5分钟了解清楚【osgb】格式的倾斜摄影数据metadata.xml有几种规范
xml·倾斜摄影·contextcapture·osgb·图新地球·大疆智图
bdbox@qq.com8 个月前
关于OSGConv转换osgb为obj时,无法指定输出贴图路径的问题及解决
c++·贴图·实景三维·osg·倾斜摄影·osgb
AutoDriver8 个月前
无人驾驶中的坐标转换
自动驾驶·无人驾驶·坐标系·坐标变换·2d转3d·投影矩阵