(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202211173152.2
(22)申请日 2022.09.26
(71)申请人 中南大学
地址 410083 湖南省长 沙市岳麓区麓山 南
路932号
(72)发明人 范冲 李洵铧 陈旭帅 熊友曹
詹岳陈 杨晨晨
(74)专利代理 机构 长沙启昊知识产权代理事务
所(普通合伙) 4326 6
专利代理师 谢珍贵
(51)Int.Cl.
G06T 17/00(2006.01)
G06T 19/20(2011.01)
(54)发明名称
一种多结构实景三维模型的坐标转换方法
(57)摘要
本发明涉及计算机网络技术领域, 具体公开
了一种多结构实景三维模型的坐标转换方法, 主
要先进行转换信息设置, 再进行元文件处理、 文
件目录解析、 OSGB文件的访问与坐标转换和文件
输出, 在OSGB文件的访问与坐标转换时充分考虑
多种节点排列结构的OSGB文件的坐标转换需求,
不但满足ContextCapture软件原始生产的OSGB
文件, 也满足经过二次修补替换、 未参与分割等
特殊结构的OSGB文件, 具有较高的适应性与兼容
性; 在坐标转换过程中, 采用先导出再写入的文
件流模式处理叶子节点的纹理图片, 降低了转换
后OSGB文件的数据量, 达到资源节省目的并保证
纹理无丢失、 闪烁、 变形现象。
权利要求书3页 说明书7页 附图1页
CN 115512047 A
2022.12.23
CN 115512047 A
1.一种多结构实景三维模型的坐标转换 方法, 其特 征在于: 包括如下步骤:
S1、 转换信息设置: 选择待转换的三维模型文件中metadata.xml元文件所在目录作为
输入路径, 选择任意文件夹作为输出路径, 设置坐标转换 的参数信息并连接外部的坐标转
换库, 外部坐标转换库依据转换参数信息实现单个(x,y,z)格式坐标点的读入、 转换、 同格
式输出, 转换的算法与流 程与一般的单点 坐标转换相同;
S2、 元文件处 理: 对metadata.xml元文件进行解析、 转换与重写的处 理;
S3、 文件目录解析: 根据步骤S1中设置的输入路径对模型文件的各瓦片文件夹按顺序
进行遍历, 将每一文件夹下的.osgb文件加入OSGB 访问模块;
S4、 OSGB文件的访问与坐标转换: OSGB文件的节点包括Geode类型和Group类型, 所述
OSGB文件的处 理包括仅含单一Geode节点的文件的处 理和含Group节点的文件的处 理;
其中, 仅含单一Geode节点的文件的处理包括节点访问、 纹理信息提取、 顶点坐标提取、
顶点坐标转换和转换后坐标设置;
含Group节点的文件的处理包括判断父节点是否有二级节点、 判断父节点的类型和判
断二级节点是否有三级节点;
S5、 文件输出: 利用osgDB: :writeNodeFile()方法写出转换后的OSGB文件至 输出路径。
2.根据权利要求1所述的一种 多结构实景三维模型的坐标转换方法, 其特征在于: 步骤
S1中所述 坐标转换的参数信息包括 坐标转换库、 转换坐标的带号和坐标补偿信息;
所述坐标转换库包括 参数模板名与转换 方法;
所述转换坐标的带号包括原数据的Y坐标带号与转换后数据的Y坐标带号, 默认均为0,
使原数据的Y坐标在转换 前减去带号 值, 使转换后数据的Y坐标加上 带号值;
所述坐标补偿信息包括转换后数据的X坐标补偿数与Y坐标补偿数, 默认均为0, 使转换
后的XY坐标加上一个固定的值。
3.根据权利要求1所述的一种 多结构实景三维模型的坐标转换方法, 其特征在于: 步骤
S2中所述元文件处 理的具体步骤如下:
A1、 根据S1中设置的输入路径, 解析路径metadata.xml文件中 的<SRSOrigin>文件头提
取(x,y,z)格式的模型中心点坐标, 对于没有定义中心点坐标的模型, 设置模型中心点为
(0,0,0);
A2、 根据S1中设置的坐标转换的参数信息, 将模型中心点坐标导入坐标转换库, 得到转
换后的中心点 坐标;
A3、 由于OSGB文件内顶点存储的是相对于模型中心点的坐标, 记录转换前后的模型中
心点坐标以便 于后续OSGB顶点 坐标转换为实际坐标进行坐标转换;
A4、 根据S1中设置的输出路径, 在 此输出路径下新建一个metadata.xml元文件, 内容与
格式与原数据的元文件一致, 其中<SRSOrigin>文件头所在行的模型中心点坐标输入转换
后的模型中心点 坐标。
4.根据权利要求1所述的一种 多结构实景三维模型的坐标转换方法, 其特征在于: 步骤
S3中所述文件目录包括元文件层 级、 瓦片文件夹层 级和.osgb文件层 级, 其中元文件 所在层
级用Data层表示, 瓦片文件夹层级用Tile层表示, .osgb文件层级用OSGB层表示, 按顺序进
行遍历便 于将每一Data层下 各Tile层级所对应的.osgb文件加入OSGB 访问模块。
5.根据权利要求1所述的一种 多结构实景三维模型的坐标转换方法, 其特征在于: 步骤权 利 要 求 书 1/3 页
2
CN 115512047 A
2S4中所述节点文件类型包括仅含单一Geode节点的文件和含Group节点的文件, 含Group节
点的文件包括Group ‑Geode、 Group ‑PagedLOD ‑Geode、 PagedLOD ‑Geode三种常见类型和
PagedLOD、 Group ‑Geode与Group ‑PagedLOD‑Geode混合两种特殊类 型, 其中特殊类型主要见
于未进行分割或对原 始OSGB文件进行修补的数据中。
6.根据权利要求5所述的一种 多结构实景三维模型的坐标转换方法, 其特征在于: 所述
仅含单一Geode节点的文件的处 理流程如下:
B1、 访问Geode节点, 利用osg::Geode::getDrawable()方法获取节点Drawable对象,
Drawable对象的主体为Geometry, Geometry包含存放纹理路径、 材质信 息的StateSet和存
放图元数组、 顶点 坐标、 纹理坐标的PrimitiveSets两 部分属性;
B2、 为实现文件的压缩, 利用Geometry的StateSet属性中的osgStateSet::
getTextureAttribute()方法获取节点纹理对象, 将纹理对象的图片路径设为相对路径,
通过osgDB: :writeIma geFile()方法将纹 理输出至程序运行文件所在目录;
B3、 通过Drawable::accept对应的apply()方法访问节点的PrimitiveSets属性, 由于
OSGB的顶点坐标为(x,y,z)格 式, 定义一个osg::Vec3Array类型数组, 当osg::Drawable::
AttributeType为 osg::Drawable: :VERTICES时将顶点 坐标存储至该数组;
B4、 以3为步长遍历B3获得的顶点坐标数组, 对每一个单点坐标加上模型转换前中心点
坐标后导入坐标转换库, 得到转换后的单点坐标; 定义一个osg::Vec3Array数 组, 对转换后
的单点坐标减去转换后的中心点 坐标值后依次存 储;
B5、 利用osg::Geometry::setVertexArray()方法将B4获得的转换后顶点数组设为当
前节点的顶点 坐标数组。
7.根据权利要求6所述的一种 多结构实景三维模型的坐标转换方法, 其特征在于: 所述
含Group节点的文件的处 理流程如下:
C1、 对访问的Group节点利用osg::Group::getNumChildren()方法获取父节点的二级
节点数;
当二级节点数为0时, 为Group中仅含PagedLOD的特殊类型, 该类型未存储LOD中心坐标
信息, 直接执 行S5, 当二级节点数 大于0时, 直接执 行C2;
C2、 使用osg::Group::className()方法获取当前父节点的名称; 当父节点名称为
Group时, 直接执行C3; 当父节点名称为PagedLOD时, 利用osg::LOD::getCenter()方法获
取LOD的中心坐标, 对中心坐标导入坐标转换库得到转换后的中心坐标, 使用osg::LOD::
setCenter()方法更新中心坐标并利用o sg::PagedL OD::setDatabasePat h()方法将L OD的
下钻搜索路径设为相对路径;
C3、 采用C1相同方法判断各二级节点是否有三级节点;
当三级节点数为0时, 为Group ‑Geode或PagedLOD ‑Geode类型, 对上述两类型的二级
Geode节点使用与单一Geode节点文件相同的方法实现顶点 坐标转换;
当三级节点数大于0时, 为Group ‑PagedLOD ‑Geode或Group ‑Geode与Group ‑PagedLOD ‑
Geode混合类型; 获取二级节点头的名称, 判断二级节点头是否为PagedLOD; 对非PagedLOD
(即为Geode)的二级节点头, 按Group ‑Geode类型处理, 对名称为PagedLOD的二级节点头, 对
LOD进行中心坐标变换并将下钻路径设为相对路径, 对三级Geode节点使用与单一Geode节
点文件相同的方法实现顶点 坐标转换。权 利 要 求 书 2/3 页
3
CN 115512047
专利 一种多结构实景三维模型的坐标转换方法
文档预览
中文文档
12 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共12页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-18 11:32:34上传分享