三维空间数据格式全景图:OSGB | 3Dtiles | I3S | S3M

前言

当城市数字孪生遇上国产化替代,开发者该如何选型?
——深入解析四大主流格式的技术基因与落地场景

🔮 趋势预言

  • 2025年国土空间规划全面实景三维化 ▶ S3M市占率将突破60%
  • Cesium开源生态持续领跑Web端 ▶ 3Dtiles仍是跨国项目首选

#三维可视化 #GIS开发 #数字孪生 #国产化替代

一、三维世界里的“身份证大战”:OSGB vs 3Dtiles vs I3S vs S3M

你是否曾经在开发中纠结:“该用哪个格式来加载城市全景数据?”就像给一座数字孪生的城市选择合适的文件格式,背后其实是不同团队和平台的技术基因与生态偏好碰撞的结果。

我们先来看看这四个三维空间数据格式的“出身故事”:

格式诞生背景主导力量技术DNA
OSGB开源地理图形(OSG)社区推动,21世纪初开始广泛应用于测绘、三维可视化领域,是离线渲染的“老将”。全球开发者轻量级二进制格式 + 离线优先
3Dtiles2016年为对抗谷歌地球而诞生,由美国Cesium公司主导开发。特别适合WebGL流式加载大场景三维数据。Cesium生态WebGL驱动 + 动态细节层次(LOD)
I3SEsri在Web GIS帝国扩张中推出的格式,主打多平台服务与空间索引技术,适用于ArcGIS强大的云托管系统。Esri公司空间金字塔索引 + 多源数据融合
S3M2018年中国实景三维战略的核心产物,由超图主导开发,作为国产自主可控格式迅速在国土、规划等领域铺开。超图SuperMap国产空间编码 + 中西兼容式LOD

💡 开发者冷知识

  • 你知道吗?3Dtiles的.b3dm文件其实是一种“批量版”的GLTF(一种Web三维模型格式),主要用于在浏览器中高效传输和渲染三维网格+纹理。
  • S3M的索引文件 .scp 则隐藏着空间金字塔分层的秘密,它能根据距离智能调度不同精度的模型。

  • S3M针对国产软硬件优化(如支持国产GPU加速),在相同硬件下加载速度优于OSGB。
  • 3D Tiles依赖WebGL,适合互联网分发;I3S深度绑定ArcGIS,生态封闭性较强。

⚙️ 二、性能大比拼:从“压缩”到“加载”,谁更能打?

接下来是硬核对比环节——我们从四个关键维度来拆解它们各自的优劣:

  1. 数据压缩能力

    • 3Dtiles主要采用KTX2格式(适合现代GPU,但老旧设备可能无法使用),支持Vulkan、Metal等先进图形API。
    • OSGB则依赖DDS纹理格式(传统图形管线的遗留技术),在旧系统中依然坚挺,但在新硬件环境下略显吃力。
    • I3S和S3M采用双压缩策略:既兼容KTX2也保留DDS支持。如果你需要照顾到项目中的老旧政务云环境,这会是个优势。 
    •  

  2. LOD(多细节层次)调度逻辑
    说到三维加载性能,最考验技术的是“视差开关”——它控制着远近模型的切换方式。

    但有时候开发者吐槽:调整这些参数,简直像玄学。

    格式

    调度策略

    适用场景

    开发者吐槽

    3DTil es

    几何误差(GeometricError):这是一种根据几何模型的误差来决定模型显示与否或显示精度的策略。主要用于控制LOD(Level of Detail)切换,优化渲染性能。

    无人机拍摄/大范围地形:适用于无人机获取的地理数据和大规模地形可视化,如数字高程模型(DEM)处理。

    “参数调优堪比玄学“:开发者在调整几何误差参数时,常感到难度大、效果难以预测,就像玄学一样不可控。

    S3M

    三权分立模式:这是一种综合调度策略,结合多个因素控制数据加载和显示。具体包括:

    -相机距离:根据摄像机与对象的距离决定加载细节。

    -屏慕像素占比:基于对象在屏幕上的 像素比例控制渲染优先级。

    -几何误差:类似3DTiles,用于精度控制。此模式旨在平衡性能与视觉效果,适用于复杂场景。在复杂建筑群或地形起伏区域进行智能切换,实现视觉质量与加载效率的最佳平衡。

    智慧城市复杂建筑群:适用于智慧城市应用中的高密度建筑模型、BIM(建筑信息模型)集成,以及室内外一体化可视化。

    “国产化方案的瑞士军刀“:开发者认为S3M功能多样、实用性强,在国产GIS解决方案中像瑞士军刀一样多功能且可靠。

  3. 工具链成熟度 开发一座数字孪生城市,离不开配套的工具支持。在这方面:

  • - 3Dtiles: CesiumJS + 社区插件 ≈ 200+开源工具,生态丰富,社区贡献活跃 + 工具众多

  • + S3M: 超图全家桶(iDesktop/iServer) + 国土/水利定制SDK,依托超图自家产品线如iDesktop/iServer等形成闭环体系,但对非超图用户来说需自行适配

  • ! I3S: ArcGIS Pro天价授权但政企买单,如果你用的是Esri平台或ArcGIS生态,那它是“原装”工具的最佳搭档;如果不想为它买单,就可能得另想办法

  • # OSGB: 开源免费但需自建工具链,依赖开源软件栈(OsgEarth等),门槛低但缺乏统一的商业支持,需要自己动手组装工具链

🏙️ 三、国潮力量:S3M如何打破国际壁垒?

如果说三维地图是城市数字孪生的基础“骨架”,那么坐标系统就是它的灵魂。在中国,“测绘安全”和“数据主权”成了第一位的需求。

  • S3M的最核心优势之一,就是它从一开始就支持国产坐标系:
    • 内置CGCS2000(中国大地坐标系)
    • 自动兼容GCJ-02加密偏移机制
  • 这意味着什么?在政府项目、智慧城市中,S3M可以无缝衔接国内地图服务规范,保障数据安全的同时不掉性能。

此外,它还针对中国特色应用场景优化了LOD调度逻辑:

# S3M智能切换伪代码示例:

if 场景为“高精度建筑区域”: 采用投影视差策略(减少闪烁)

elif 场景为“复杂地形”: 使用几何误差控制(保持山体轮廓清晰)

这些机制让它在众多GIS开发者心中,成为兼顾性能与合规性的国产首选方案。

政务云集成方案
与华为云/浪潮私有云深度适配
满足等保2.0数据安全要求
🚀 标杆案例:

雄安新区数字孪生平台:50TB S3M数据承载
长江流域水利实景三维:S3M+北斗定位融合

🚀 四、实战选型指南:你的项目该用谁?

别再迷茫了!我们为你总结了一套决策树:

  • Web端轻量化需求:优先3D Tiles或S3M。
  • 国产化替代:S3M是首选(兼容国产芯片、操作系统)。
  • 专业GIS分析:I3S更适合ArcGIS用户。

五、未来已来:三维地图的“元宇宙”之争

随着WebGPU逐渐取代OpenGL/WebGL,新一代图形标准正在重构浏览器端处理能力。

  • 3Dtiles有可能率先支持.gltf扩展格式(由Cesium推动),为用户提供更灵活、更轻量的选择。
  • S3M也在积极探索通过WebAssembly加速本地渲染和解析速度,在未来智慧城市三维平台中占据一席之地。
  • 而OSGB作为开源老兵,虽然不敌新生代工具的“潮流”,但在一些特定场景(如桌面离线应用)依然有不可替代的价值。

🔮 趋势预测

到2025年,随着国土空间规划全面进入实景三维阶段,S3M有望成为国内市场主流格式之一,市占率预计突破60%。而对跨国企业或国际项目而言,Cesium主导的3Dtiles生态仍将是Web端三维加载技术的最佳选择。

参见:

Cesium: The Platform for 3D Geospatial

https://github.com/CesiumGS/3d-tiles

https://github.com/CesiumGS/3d-tiles/tree/draft-1.1/specification

3D Tiles 1.1 规范 - BimAnt

https://github.com/Esri/i3s-spec

https://github.com/SuperMap/s3m-spec/

实景三维张家界来了⑤丨云游不乱游 游必有方_经济.民生_湖南频道_红网

AgCIM 奥格城市信息模型基础平台 - 奥格科技股份有限公司

https://github.com/OSGBLab/OSGBLab

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/911873.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/911873.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【服务器】服务器选型设计

一、服务器产品说明 1.1 基础服务器说明 1.1.1、服务器产品分类与核心指标​​ ​​1. 通用分类体系​​ ​​类型​​ ​​适用场景​​ ​​代表产品指标​​ 塔式服务器 中小企业应用 ≤2路CPU,32G内存,支持热插拔HDD 机架服务器 数据中心主…

【C++】noexcept的作用

【C】noexcept的作用 noexcept是C11引入的关键字,用于指定函数是否会抛出异常。它既是一个修饰符也是一个操作符,在现代C编程中扮演着重要角色。 一、noexcept的基本概念 noexcept主要有两种形式: 无条件形式​:void func() n…

Docker 到底是个什么?

Docker 技术全面解析:从安装到应用 一、引言 在当今的软件开发和运维领域,Docker 已经成为了一个不可或缺的工具。它以其轻量级、可移植性和高效性等特点,改变了开发者和运维人员的工作方式,使得应用的打包、分发、运行变得更加…

Python 可迭代的对象、迭代器 和生成器(Sentence类第3版:生成器函数)

Sentence类第3版:生成器函数 实现相同功能,但却符合 Python 习惯的方式是,用生成器函数代替 SentenceIterator 类。先看示例 14-5,然后详细说明生成器函数。 示例 14-5 sentence_gen.py:使用生成器函数实现 Sentence…

5G自协商

好的&#xff0c;下面是一个基于裸机 C 环境的自协商实现示例代码&#xff0c;支持 **最高 5G 并向下兼容**。这个代码框架假设你使用的是 IEEE 802.3 规范下的 **MDIO** 接口和常见的 **Marvell PHY**&#xff08;或类似支持 5G/2.5G 的PHY&#xff09;。 c #include <std…

sublime 4200 激活

目录 下载激活方式一&#xff1a;sublime 打开方式二&#xff1a;https://hexed.it 打开 下载 sublime官方下载 sublime_text_build_4200_x64.zip 激活 方式一&#xff1a;sublime 打开 1、复制 sublime_text.exe 为 sublime_text_activation.exe 2、直接使用 sublime_ 打开…

Ceph 和 MinIO

Ceph 和 MinIO 是两种主流的分布式存储系统&#xff0c;但它们的设计目标、架构和使用场景存在显著差异。以下是清晰的对比解析&#xff1a; &#x1f9e9; 核心定位对比 维度CephMinIO定位统一存储平台&#xff08;块/对象/文件&#xff09;纯对象存储&#xff08;S3兼容&…

cili3d笔记20 正交投影3d重建笔记1

正交视图转3d mostFrequentCluster.lines.forEach(line > {const [x1, y1, x2, y2] line;let xhat{x1,x2};let yhat{y1,y2};}); 没考虑到侧视图 const clusters clusterLines(inputlines, 5);const lines3d:[number,number,number,number,number,number][][]const { mostM…

【Docker基础】Docker容器生命周期管理:从创建到删除的完整指南

目录 1 容器生命周期概述 2 容器创建&#xff08;docker create&#xff09; 2.1 docker create命令详解 2.2 创建流程解析 2.3 创建与运行的区别 3 容器启动&#xff08;docker start&#xff09; 3.1 docker start命令详解 3.2 启动流程解析 3.3 启动与运行的区别 …

Docker、Docker composer与Docker desktop

文章目录 Docker、Docker composer与Docker desktop一、docker、docker composer、docker desktop1.1 Docker1.2 Docker Compose1.3 Docker Desktop1.4 三者之间的区别 二、docker desktop的安装和换源2.1 前期准备WSL2 2.1 Docker Desktop 安装下载 Docker Desktop安装 Docker…

H5录音、图文视频IndexDB储存最佳实践:用AI生成语音备忘录

引言 早在大学的时候&#xff0c;我就期望做一款属于自己的 APP&#xff0c;可惜那时不懂技术。现在有了技术&#xff0c;但却没有时间。好在 AI 的快速发展终于让我完成了这个愿望。于是&#xff0c;我用半天的时间&#xff0c;用 AI 生成了一个纯前端的 H5 程序&#xff1a;…

简述C++ nlohmann/json 库

目录 JSON概述 nlohmann/json 库的使用 创建json数组/对象 字符串解析&#xff08;parse反序列化&#xff09; 数据访问 序列化 文件读写 JSON概述 JSON(JavaScrip Object Notation)是一种轻量级、跨语言的数据交换格式。它基于 ECMAScript 子集&#xff0c;以独立于编程…

定制开发开源AI智能名片与S2B2C商城小程序的内容分发体系构建:基于“1+N“素材复用模型的创新实践

摘要&#xff1a;在数字内容爆炸式增长的当下&#xff0c;本文针对内容分发效率低下的行业痛点&#xff0c;提出基于"定制开发开源AI智能名片S2B2C商城小程序"的一体化解决方案。通过构建"1篇长文10条长视频20条短视频10个平台"的素材复用公式&#xff0c;…

c++26新功能—hive容器

一、容器的演进 科学进步的过程一般来说都是从先解决常用的、迫切的问题开始&#xff0c;然后再逐步解决一些少见不迫切的问题&#xff0c;直到最终解决到认知程度内的诸多问题。举一个网上的例子&#xff0c;以前说咱们无法生产水笔的尖头上的钢球&#xff0c;其实这对于国内…

Kafka 源码剖析:消息存储与协议实现(二)

四、协议实现机制探秘 4.1 生产者协议 4.1.1 消息发送流程 Producer 在向 Kafka 集群发送消息时&#xff0c;首先会根据分区策略选择目标分区 。常见的分区策略有轮询、按消息键的哈希值分区以及自定义分区策略 。如果生产者在发送消息时指定了分区号&#xff0c;那么消息就…

Vue.js 与 TypeScript:最佳实践

1. 引言 Vue.js 是一个渐进式、灵活的 JavaScript 框架&#xff0c;广泛用于构建用户界面和单页应用&#xff08;SPA&#xff09;。而 TypeScript 是 JavaScript 的一个超集&#xff0c;添加了静态类型和其他高级特性。将两者结合使用&#xff0c;可以帮助开发者构建更具可维护…

webpack5 css-loader:从基础到原理

webpack 处理样式 webpack本身是不能识别样式资源的&#xff0c;需要借助Loader来帮助webpack解析样式资源&#xff0c;样式资源包括但不限于css/less/sass/scss/styl 未使用样式处理加载器前 运行webpack打包命令 bash npx webpack报错信息如图&#xff0c;提示无法识别css…

【GESP】C++三级练习 luogu-B2096 直方图

GESP C三级练习&#xff0c;一维数组练习&#xff0c;难度★★☆☆☆。 题目题解详见&#xff1a;【GESP】C三级练习 luogu-B2096 直方图 | https://www.coderli.com/gesp-3-luogu-b2096/ 【GESP】C三级练习 luogu-B2096 直方图 | OneCoderGESP C三级练习&#xff0c;一维数组…

【网站内容安全检测】之2:从网站所有URL页面中提取所有外部及内部域名信息

还没写成Go的&#xff0c;用Python吧&#xff0c;稍微慢一点 依赖内容&#xff08;安装命令pip install -r requirements.txt) requirements.txt aiohttp beautifulsoup44.12.2 tqdm4.66.1 redis5.2.1 motor3.3.1 pymongo4.6.0 chardet提取域名的程序 domain_extractor.py …

【LLaMA-Factory 实战系列】四、API 篇 - 部署推理服务与批量调用实战

【LLaMA-Factory 实战系列】四、API 篇 - 部署推理服务与批量调用实战 1. 引言2. 推理后端的选择与对比3. 部署 API 推理服务3.1 创建 API 配置文件3.2 启动 API 服务3.3 探索交互式 API 文档 4. 编写 Python 脚本进行批量调用4.1 准备工作4.2 批量调用脚本4.3 运行脚本并查看结…