3D Tiles 规范(一概述)

这篇具有很好参考价值的文章主要介绍了3D Tiles 规范(一概述)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

3D Tiles 专为流式传输和渲染大量 3D 地理空间内容而设计,例如摄影测量、3D 建筑、BIM/CAD、实例化要素和点云。它定义了分层数据结构和一组提供可渲染内容的Tile格式。3D Tiles 没有定义内容可视化的明确规则;客户可以根据自己认为合适的方式可视化 3D Tiles 数据。

   在 3D Tiles 中,Tile集是以空间数据结构(树)组织的一组Tile。Tile集由至少一个包含Tile集元数据和Tile对象树的Tile集 JSON 文件来描述,其中每个Tile对象都可以引用可渲染内容。

     glTF 2.0是 3D Tile的主要Tile格式。glTF 是一个开放规范,专为高效传输和加载 3D 内容而设计。glTF 资源包括单个Tile的几何和纹理信息,并且可以扩展为包括元数据、模型实例化和压缩。glTF 可用于多种 3D 内容,包括:

1.异构 3D 模型。例如,带纹理的地形和表面、3D 建筑外部和内部、大型模

2.3D 模型实例。例如树、风车、螺栓

3.海量点云

   Tile还可以引用下面列出的旧版 3D Tile 1.0 格式。这些格式在 3D Tiles 1.1 中已弃用,并且可能会在 3D Tiles 的未来版本中删除。

 旧版切片格式和常见用途:

旧格式

用途

批量 3D 模型 ( b3dm)

异构 3D 模型

实例 3D 模型 ( i3dm)        

3D模型实例

点云 ( pnts)

海量点数

合成的 (cmpt)

将不同格式的Tile连接成一个Tile

Tile的内容是Tile格式的单个实例。一个Tile可以有多个内容。

内容引用一组特征,例如表示建筑物或树木的 3D 模型,或点云中的点。每个功能都具有位置和外观属性以及其他特定于应用程序的属性。客户端可以选择在运行时选择特征并检索其属性以进行可视化或分析。

切片以树的形式组织,其中结合了层次细节级别 (HLOD) 的概念,以实现空间数据的最佳渲染。每个Tile都有一个包围体,一个定义完全包围其内容的空间范围的对象。树具有空间连贯性;子Tile的内容完全位于父Tile的边界体积内。

3D Tiles 规范(一概述),3d,GIS,cesium

图 1. 瓦片树

Tile集可以使用类似于光栅和矢量Tile方案(如Web地图Tile服务(WMTS)或XYZ方案)的2D空间Tile方案,其以多个细节级别(或缩放级别)提供预定义Tile。然而,由于Tile集的内容通常是不均匀的或者可能不容易仅在二维中组织,因此树可以是具有空间一致性的任何空间数据结构,包括kd树、四叉树、八叉树和网格。. Implicit tiling定义了四叉树和八叉树的简洁表示。    

可以在Tile集中以多个粒度提供特定于应用程序的元数据。元数据可以与诸如Tile集、Tile、内容或特征之类的高级实体相关联,或者与单独的顶点和纹素相关联。元数据符合3D 元数据规范描述的明确定义的类型系统,可以使用特定于应用程序或特定领域的语义进行扩展。

可以选择将3D Tiles Style或style应用于Tile集。样式定义要评估的表达式,这些表达式修改每个功能的显示方式。

文件扩展名和数据类型

3D Tiles 使用以下文件扩展名和媒体类型。

  • 图块集文件应使用.json扩展名和application/json媒体类型。

  • 平铺内容文件应使用特定于其平铺格式规范的文件扩展名和媒体类型。

  • 元数据架构文件应使用.json扩展名和application/json媒体类型。

  • 图块集样式文件应使用.json扩展名和application/json媒体类型。

  • JSON 子树文件应使用.json扩展名和application/json媒体类型。

  • 二进制子树文件应使用.subtree扩展名和application/octet-stream媒体类型。

  • 表示二进制缓冲区的文件应使用.bin扩展名和application/octet-stream媒体类型。

显式文件扩展名是可选的。有效的实现可能会忽略它并通过magic其标头中的字段来识别内容的格式。

JSON编码

3D Tiles 对 JSON 格式和编码有以下限制。

  1. JSON 应使用无 BOM 的 UTF-8 编码。

  2. 本规范中定义的所有字符串(属性名称、枚举)仅使用 ASCII 字符集,并且应以纯文本形式编写,不进行 JSON 转义。

  3. 在 JSON 中显示为属性的非 ASCII 字符可能会被转义。

  4. JSON 对象中的名称(键)应该是唯一的,即不允许有重复的键。

  5. 某些属性在架构中定义为整数。这些值可以存储为小数部分为零的小数或使用指数表示法,如RFC 8259 第 6 节中所定义。

URI

3D Tiles 使用 URI 来引用图块内容。这些 URI 可能指向相对外部引用 (RFC3986),或者是在 JSON 中嵌入资源的数据 URI。嵌入式资源使用“数据”URL 方案 (RFC2397)。当 URI 是相对的时,其基础始终相对于引用的图块集 JSON 文件。客户端实现需要支持相关的外部引用和嵌入资源。或者,客户端实现可以支持其他方案(例如http://)。所有 URI 均应有效且可解析。

单位

所有直线距离的单位都是米。

所有角度均以弧度为单位。

坐标参考系(CRS)

3D Tiles 使用右手笛卡尔坐标系;也就是说,x和y的叉积产生z。3D Tiles 将z轴定义为局部笛卡尔坐标系。图块集的全局坐标系通常位于WGS 84地心固定 (ECEF) 参考系 ( EPSG 4978 ) 中,但不一定如此,例如,发电厂可以在其本地完全定义。与没有地理空间上下文的建模工具一起使用的坐标系。

图块集的CRS可以被明确地定义为图块集元数据的一部分。图块集的元数据可以包含具有语义的属性TILESET_CRS_GEOCENTRIC,该属性是表示 EPSG 大地测量参数数据集标识符的字符串。

可以应用附加的图块变换来将图块的本地坐标系变换到父图块的坐标系。

区域边界体积使用地理坐标系(纬度、经度、高度)指定边界。具体来说,EPSG 4979,但纬度和经度以弧度而不是度数给出。假设参考椭球与图块集的参考椭球相同。文章来源地址https://www.toymoban.com/news/detail-857396.html

到了这里,关于3D Tiles 规范(一概述)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 3D Tiles语义分割流水线

    Dylan Chua 和 Anne Lee 开发了一个处理管线,用于对 3D Tiles 中包含的 GL 传输格式 (glTF) 模型进行语义分割。 该管道读取并遍历 3D Tileset,以输出包含元数据的经过转换的划分对象集。 该项目为 3D 语义分割器提供了最小可行产品,作为各种应用程序的概念验证。 他们接受模拟和培

    2024年04月16日
    浏览(30)
  • 3D Tiles官方示例资源下载链接

    本文列出Cesium官方提供的 3D Tiles 1.0和1.1规范的9个示例切块集(tileset)。 有关如何使用本地服务器托管这些示例的详细信息,请参阅 INSTRUCTIONS.md。 推荐:用 NSDT设计器 快速搭建可编程3D场景。 Metadata Granularities这个3D Tiles 1.1 示例演示了 中元数据在不同粒度级别的使用。 该示

    2024年02月15日
    浏览(30)
  • 【CesiumJS入门】(4)加载3D Tiles并获取tileset

    本次,我们将写一个函数来加载3D Tiles数据, 3D Tiles数据的文档:CesiumGS/3d-tiles: Specification for streaming massive heterogeneous 3D geospatial datasets (github.com) 同时我们将获取加载成功后的 tileset 数据集(有了tileset后续就可以方便得进行模型相关的操作了),下图为加载模型后的效果。

    2024年02月16日
    浏览(29)
  • 初次使用CesiumLab转换fbx模型为3d tiles

    登录以后选择 通用模型切片, 点击+FBX,选择一个FBX文件,   看一下它这个只要路径是通的,可以走到最后,先按都默认看一下,   提交处理,没有成功,   根据资料,3d tiles 应该是散列的存储类型,再提交处理,还是不行, 像个小齿轮这个按钮点击以后弹出参数设置,下

    2024年02月08日
    浏览(41)
  • VSCode编译器环境下,调试3d-tiles-validator

    参照3d-tiles-validator仓库的 README.md文件 Clone the repository into the current directory: Change into the directory of the cloned repository: Install the validator and all its dependencies: 完成上述步骤后,\\\"ts-node\\\"可以直接来执行3d-tiles-validator VsCode打开3d-tiles-validator文件夹 Ctrl+Shift+D 打开运行调试配置面板,添加

    2024年02月11日
    浏览(32)
  • AMRT 3D 数字孪生引擎(轻量化图形引擎、GIS/BIM/3D融合引擎):智慧城市、智慧工厂、智慧建筑、智慧校园。。。

    1、提供强大完整的工具链 AMRT3D包含开发引擎、资源管理、场景编辑、UI搭建、项目预览和发布等项目开发所需的全套功能,并整合了动画路径、精准测量、动态天气、视角切换和动画特效等工具。 2、轻量化技术应用与个性化定制 AMRT3D适用于快速开发数字孪生3D可视化项目、

    2024年04月22日
    浏览(90)
  • 【mars3d】Vue3项目集成mard3d实现gis空间地理系统

    最近公司的业务逻辑需要使用到gis空间地理系统,最开始使用的是Cesium.js.涉及东西很多,对新手不是太友好,传送门: https://cesium.com/platform/cesiumjs/ . 业务要使用到很多特效,刚接触到Cesium,很多效果实现起来很鸡肋,mars3d则很适合新手.文档与示例也很全,现在记录一下vue3项目如何集

    2024年02月13日
    浏览(35)
  • 探索未知世界:桌面端3D GIS引领地理信息新时代

    近年来, 桌面端的三维地理信息系统(3D GIS) 在地理信息领域迎来了显著的发展,为我们带来了更深入、更丰富的地理空间认知和数据分析体验。从城市规划到环境保护,从资源管理到应急响应,桌面端的3D GIS正逐渐成为解决复杂地理问题的有力工具。 深度还原地理空间:

    2024年02月11日
    浏览(32)
  • Cesium源码分享--3d热力图

    在线体验 gitee:https://gitee.com/caozl1132/cesiumExp-heatmap3d github:https://github.com/gitgitczl/cesiumExp-heatmap3d ps:如果可以的话,希望大家能给我个star,好让我有更新下去的动力; 实现原理: 核心是使用了heatmap.js这个库,这个库生成的热力图是用canvas绘制的,那么在Cesium中,我们只要将

    2024年02月03日
    浏览(26)
  • Cesium 3D中的通视分析功能

    通视分析是一种在地理空间中确定两个位置之间是否存在可见线的技术。在Cesium 3D中,我们可以利用其强大的功能集来进行通视分析。本文将介绍如何使用Cesium 3D进行通视分析,并提供相应的源代码。 在开始之前,我们需要确保已经正确加载了Cesium 3D库。接下来,我们将介绍

    2024年04月13日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包