当前位置: 首页 > news >正文

GISBox中OSGB数据转3DTiles格式指南

一、概述

GISBox(GIS 工具箱)场景中提供了编辑OSGB(倾斜摄影)的功能,支持同时将 OSGB 格式转换为 3DTiles 格式文件。

二、什么是OSGB文件?

OSGB文件(Open Scene Graph Binary)是一种用于存储三维地理空间数据的二进制文件格式‌,广泛应用于城市规划、地理信息系统(GIS)、虚拟现实、倾斜摄影测量等领域。它基于开源的OpenSceneGraph(OSG)图形引擎开发,支持高效的数据压缩、分块存储和LOD(Level of Detail)层级技术,能够快速加载和渲染大规模三维场景。

三、OSGB转3DTiles好处?

1、跨平台支持:Web端和移动端直接用‌

‌OSGB‌:依赖桌面软件(如SuperMap),Web端无法直接打开。

‌3D Tiles‌:浏览器/手机/平板都能用,兼容Cesium等WebGIS平台。

2、性能更快:动态加载,不卡顿‌

‌OSGB‌:加载大模型容易崩溃,需手动优化。

‌3DTiles‌:自动根据视点距离切换模型精度(LOD),流畅渲染城市级场景。

3、数据标准化:统一格式,好共享‌

‌OSGB‌:非标准格式,不同软件转换结果可能不一致。

‌3DTiles‌:OGC标准格式,支持FME、Cesium ion等工具无损转换。

4、成本更低:维护简单,省时省钱‌

‌OSGB‌:依赖专业软件,授权和培训成本高。

‌3DTiles‌:浏览器就能用,数据更新通过URL实时同步。

四、OSGB转3DTiles的具体步骤

1、首先,打开GISBox软件,点击“切片”按钮,在切片工具中选择“倾斜模型切片”。

2、在新建切片任务设置中,点击“添加文件”,选择一个包含 OSGB(倾斜摄影)文件的文件夹添加进去。你可以选择文件导出的路径,若无特殊情况通常放在空的文件夹内。

3、添加 OSGB(倾斜摄影)文件夹后,可在“基础参数”中设置切片导出文件夹,“空间参考”和“零点坐标”会根据文件夹中的“metadata.xml”文件自动生成。

4、用户可以对文件进行性能优化。

重建顶层”默认关闭,当倾斜三维模型数据量较大时,可以选择开启,显著提升加载性能,增强浏览体验。开启“重建顶层”后会同时出现“最大并发数”,该设置项不建议修改,但如果转换失败可以将该项减少一半重新转换。

纹理压缩”纹理格式选择“默认”时,切片任务会导出 jpg 格式的纹理;选择“webp”时,导出的 webp 格式纹理存储量约为默认 jpg 格式的 70%,可以加快网络传输,但是它只能在 chrome 下使用,而且不会减少显存占用。选择“KTX2-uastc”可节约 60%显存,选择“KTX2-etc1s”可节约 80%显存。

顶点压缩”开启后,可以减少定点数据的存储量。同时,我们可以选择“压缩等级”,压缩等级越高,压缩率越大。一般我们推荐使用“中级

背面剪裁”默认关闭,开启背面裁剪后,不可见面会被自动剔除,减少渲染负担,同时避免视觉错误。

5、渲染效果的设置

开启“计算法线”后,可以根据切片的三维模型数据,自动生成法线向量。

强制双面”通常无需开启,但是对一些异常数据,例如正反面裁剪引起的漏洞等情况,可以尝试开启该选项,达到双面渲染的目的。

开启“无光照”后,倾斜模型的渲染部分不参与 Cesium 引擎的默认光照计算,增强画面真实感。

6、在“存储类型”中,默认开启“存储 3DTiles1.1”。开启时,OSGB(倾斜摄影)文件夹中的模型文件导出后为glb格式。关闭时则为b3dm格式。

7、开启“同时发布成服务”后,创建的切片任务会同时在“分发”中添加一个对应类型的“服务”。

未开启“同时发布成服务”设置时,切片成功后不会在“分发”中添加对应类型的“服务”,需要手动添加。

8、切片任务完成后,回到切片栏,点击“文件夹”按钮,就可以查看转换后的3DTiles文件。

http://www.lryc.cn/news/612492.html

相关文章:

  • 开源流媒体服务器ZLMediaKit 的Java Api实现的Java版ZLMediaKit流媒体服务器-二开视频对话
  • java 之 继承
  • 【Java】HashMap的key可以为null吗?如何存储的?
  • JavaScript 基础语法
  • TDengine IDMP 背后的技术三问:目录、标准与情景
  • TCP的三次握手和四次挥手实现过程。以及为什么需要三次握手?四次挥手?
  • 8、项目管理
  • 力扣 hot100 Day67
  • 二、Envoy静态配置
  • CentOS8.5安装19c单机告警及处理
  • CS课程项目设计8:基于Canvas支持AI人机对战的五子棋游戏
  • LeetCode 面试经典 150_数组/字符串_O(1)时间插入、删除和获取随机元素(12_380_C++_中等)(哈希表)
  • Linux firewall 防火墙管理
  • Linux systemd 系统管理:systemctl 控制服务与守护进程
  • 深入理解 qRegisterMetaType<T>()
  • 【数据可视化-82】中国城市幸福指数可视化分析:Python + PyEcharts 打造炫酷城市幸福指数可视化大屏
  • JAVA算法练习题day9
  • 蓝桥杯----锁存器、LED、蜂鸣器、继电器、Motor
  • Pytest项目_day06(requests中Session的用法)
  • Python 进行点云ICP(lterative Closest Point)配准(精配准)
  • Java高频方法总结
  • 实习文档背诵
  • chdir系统调用及示例
  • docker启动出现Error response from daemon: Container的问题【已解决】
  • 92、【OS】【Nuttx】【构建】cmake 支持构建的目标
  • InfluxDB 集群部署与高可用方案(二)
  • 【概念学习】深度学习有何不同
  • 敏捷协作平台推荐:Jira、PingCode、Tapd等15款
  • iptables相关知识笔记
  • AI+物理融合新范式:物理信息神经网络(PINN)的深度研究报告