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

倾斜摄影osgb格式文件,进行坐标转换的更多相关文章

  1. supermap中预览osgb格式的倾斜摄影文件

    参考: https://zhidao.baidu.com/question/136723493545478005.html 使用的是SuperMap IDesktop 9D,操作方法如下: 打开超图, ...

  2. OpenSceneGraph | OSG如何存储带纹理osgb格式可以节省空间

      在使用OSG(OpenSceneGraph)存储带纹理osgb格式的过程中,大家会遇到这样一种情况:存储后的osgb文件所占用的大小远大于原始文件的大小,几倍至几十倍.这是为何呢?原因是OSG默认 ...

  3. 【NLP】Tika 文本预处理:抽取各种格式文件内容

    Tika常见格式文件抽取内容并做预处理 作者 白宁超 2016年3月30日18:57:08 摘要:本文主要针对自然语言处理(NLP)过程中,重要基础部分抽取文本内容的预处理.首先我们要意识到预处理的重 ...

  4. Mac新建文件夹、txt文件、无格式文件

    新建文件夹: mkdir test 新建txt touch test.txt 新建无后缀格式文件 touch test 如果要删除文件夹 rm -r -f test

  5. 针对格式文件,Python读取一定大小的文件内容

    由数据库导出的数据是格式化数据,如下所示,每两个<REC>之间的数据是一个记录的所有字段数据,如<TITLE>.<ABSTRACT>.<SUBJECT_COD ...

  6. 报表开发导出各种格式文件的API

    文件输出的多样性,准确性和稳定性对于我们常用的报表软件来说很重要.报表的输入是指从报表的模板文件(XML格式的)创建WorkBook对象,输出则指将报表保存为各种格式文件,比如Pdf.Excel.Wo ...

  7. 2013xlsm格式文件处理

    2013xlsm格式文件处理 2013格式的xlsm文件在低版本打开为空白的处理 1.关闭2013的宏2.打开文件,另存(去打开密码)3.2007打开另存(格式已变为2007)4.仅破解VBA密码5. ...

  8. Servlet 实现上传文件以及同时,写入xml格式文件和上传

    package com.isoftstone.eply.servlet; import java.io.BufferedReader; import java.io.BufferedWriter; i ...

  9. [OSG][转]osg格式文件

    转自:http://blog.csdn.net/timothyfly/article/details/7826139 osg格式文件中如何处理多个节点共享一个子节点 下面一段程序中,共有三个Group ...

  10. Powerdesigner 导出Excel格式数据字典 导出Excel格式文件

    版权声明:本文为博主原创文章,转载请注明出处; 网上我也看到了很多的Powerdesigner 导出方法,因为Powerdesigner 提供了部分VBA功能,所以让我用代码导出Excel格式文件得以 ...

随机推荐

  1. MSSQL慢查询查询与统计

    查询MSSQL慢查询: SELECT TOP 20 TEXT AS 'SQL Statement',last_execution_time AS 'Last Execution Time' ,(tot ...

  2. node.js (原生模板引擎模板)

    app01 // 引入http模块 const http = require('http'); //连接数据库 require('./model/connects'); // 创建网站服务器 cons ...

  3. 重磅来袭!MoneyPrinterPlus一键发布短视频到视频号,抖音,快手,小红书上线了

    MoneyPrinterPlus开源有一段时间了,已经实现了批量短视频混剪,一键生成短视频等功能. 有些小伙伴说了,我批量生成的短视频能不能一键上传到视频号,抖音,快手,小红书这些视频平台呢?答案是必 ...

  4. 10分钟快速掌握分布式版本控制系统GIT命令集【形成知识体系篇】

    任务要求 要求全部使用git命令实现 1.创建本地仓库,项目名称为hniu_site 2.在仓库下创建多级(目录)文件夹cn/hniu/班级名称(例如软件2108,cn/hniu/rj2108) 3. ...

  5. 苹果手机使用charles抓包无法下载charles证书

    苹果手机使用charles抓包无法下载charles证书的问题记录: 使用:chls.pro/ssl       --------无效 使用:http://chls.pro/ssl      ---- ...

  6. wails实现腾讯元器bot

    简单记录工具的一个模块 后端 Api调用 登录 腾讯元器 后创建智能体,按自己的需求来创建,发布后要等等审核. ​​ 等发布完成后点击调用api即可,这里可以看到user_id​, assistant ...

  7. AppiumDesktop控制手机和安卓模拟器

    前言: 本期内容 如何用AppiumDesktop连接安卓手机和安卓模拟器 AppiumDesktop基本参数的获取方法,及如何驱动安卓设备 AppiumDesktop在模拟登陆和爬虫中用到的基本功能 ...

  8. python与c/java的异

    1.注释 #为单行注释 """ 这里是多行注释 """ ''' 这个也可以是多行注释 ''' 2.赋值 在python中赋值不需要特定变量的 ...

  9. Jmeter函数助手8-counter

    counter函数用于线程计数,类似计数器. TRUE每个用户有自己的计数器:FALSE使用全局计数器:即线程之间是否需要共享累加计数器,TRUE否,FALSE是 存储结果的变量名(可选) 1.线程之 ...

  10. 【Java】MuliThread 多线程

    程序Program 是完成特定人,用某种语言编写的一组指令集合,即一段静态代码,静态对象 进程Process 是程序的一次执行过程,可以是一个正在执行的程序 - 程序是静态的,进程是动态的 - 进程是 ...