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的边界体积内。

图片

图 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,但纬度和经度以弧度而不是度数给出。假设参考椭球与图块集的参考椭球相同。

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

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

相关文章

如何理解Vue 3组件的component关键字

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

Verilog仿真跨模块调用内部信号的方法

在Verilog仿真时如果需要调用某子模块中的信号在本模块中使用可以使用层次化引用的方法,而不需要在rtl部分用端口引出来。 引用方式:当前例化模块名.子例化模块名.子子例化模块名.参数 将需要的信号引出。 注意是用例化模块名而不是用子模块名&#xff…

【C++】二维数组传参方式

最近刚开始刷剑指offer,刚做到第三题的时候,发现C二维数组的传参方式和C语言略有些不同,所以在这篇博客中,会列出C/C常见的二维数组传参方式。(本方式和代码都是基于vs环境所编写) 一.C语言二维数组传参方式…

CCF区块链论文录用资讯--ICSE 2024

ICSE是CCF A类会议 (软件工程/系统软件/程序设计语言) 其2024录用了13篇区块链论文 Smart Contract and DeFi Security Tools: Do They Meet the Needs of Practitioners? 智能合约和 DeFi 安全工具:它们满足从业者的需求吗? St…

SegAnyGAussians(SAGA)项目配置和运行

GitHub项目地址:Jumpat/SegAnyGAussians: The official implementation of SAGA (Segment Any 3D GAussians) (github.com) 一、项目准备 1、下载原项目的zip包解压 2、下载third_party目录下的两个模块,放到对应目录下 3、下载预训练模型和数据集 数据…

非计算机专业,如何从事研发岗位的建议!

首先,非计算机专业的毕业生通过读研和专门的培训是完全可以进入IT行业的,目前IT行业内也有大量非计算机专业毕业的技术开发(研发)人员,其中有不少人也非常优秀,发展空间同样比较大。 虽然IT行业内整体的人才…

IPFS分布式存储系统

一、 引言 IPFS是InterPlanetary File System的缩写。它是一个分布式的网络传输协议,它可以把文件分成很多小块放到服务器的不同地方,然后用一种特别的方式来寻找和传输这些小块。这样,我们就可以更快、更安全、更抗容错了的存储文件了。 可能…

从小到大输出四个整数(C语言)

一、N-S流程图&#xff1b; 二、运行结果&#xff1b; 三、源代码&#xff1b; # define _CRT_SECURE_NO_WARNINGS # include <stdio.h>int main() {//初始化变量值&#xff1b;int a, b, c, d;int t 0;//提示用户&#xff1b;printf("请输入四个整数a b c d&…

python怎么判断整数

isinstance()函数 可以用来判断变量的类型&#xff0c;它返回的是一个布尔值&#xff0c;False or True。 >>>isinstance("123",str) >>>Flase >>>isinstance(123,int) >>>True >>>isinstance({123},list) >>&g…

【大数据】分布式文件系统HDFS

目录 1.什么是分布式文件系统 2.HDFS的特点 3.HDFS的核心概念 4.HDFS的体系结构 5.HDFS的配置建议 6.HDFS的局限性 7.HDFS的存储机制 7.1.数据冗余机制 7.2.错误与恢复 8.HDFS数据读写过程 1.什么是分布式文件系统 分布式文件系统是整个大数据技术的基础&#xff0c…

京东AI数字人“采销东哥”首秀观看量破2000万;天工 SkyMusic 音乐大模型开放公测

&#x1f989; AI新闻 &#x1f680; 京东AI数字人“采销东哥”首秀观看量破2000万 摘要&#xff1a;京东AI数字人“采销东哥”由京东云言犀打造&#xff0c;在其直播首秀中亮相并迅速吸引超2000万观看量。尽管“采销东哥”的外形和口音与创始人刘强东相似&#xff0c;但其直…

C语言的OJ判题机设计与实现

1. 接收判题入参 判题需要作答代码、测试输入和期望输出、编译器名称、时空限制。对于支持special judge的还需要传入是否为sj和sj代码。推荐使用消息队列&#xff0c;应对高并发的比赛情况会比较好。 但是消息队列是异步的&#xff0c;我为了快点实现能提交后在当前页面获得判…

量子密钥分发系统的设计与实现(二):光路子系统初步讨论

通过上一篇文章&#xff0c;我们对量子密钥分发系统的基本架构、硬件结构以及密钥分发流程进行了初步的总体介绍&#xff0c;从本文开始&#xff0c;我们就基于系统顶层的架构设计&#xff0c;开始从模块到器件&#xff0c;从硬件到软件开始详细讨论QKD系统的设计与实现。本文主…

双向链表详解

目录 带头双向循环链表带头双向循环链表的实现带头双向循环链表的功能实现创造新节点LTNode* CreateLTNode(LTDataType x)代码 初始化链表LTNode*LTInit(LTNode* phead)代码 打印链表void LTPrint(LTNode* phead)代码 链表尾插void LTPushBack(LTNode* phead, LTDataType x)代码…

C#语法知识之运算符

3、运算符 1、算数运算符 1、赋值符号 //把右侧的值赋给左侧的变量2、算数运算符 _ * / float f 1 / 2f; %3、算数运算符的优先级 //乘除余优先级高于加减 括号可以改变优先级&#xff0c;优先计算括号内的内容4、算数运算符的复合运算 复合运算符是用于自己 自己进行运算…

源码解读——SplitFed: When Federated Learning Meets Split Learning

源码地址 1. 源码概述 源码里一共包含了5个py文件 单机模型&#xff08;Normal_ResNet_HAM10000.py&#xff09;联邦模型&#xff08;FL_ResNet_HAM10000.py&#xff09;本地模拟的SFLV1&#xff08;SFLV1_ResNet_HAM10000.py&#xff09;网络socket下的SFLV2&#xff08;SF…

51单片机入门_江协科技_33~34_OB记录的自学笔记_LED呼吸灯与PWM直流马达调速

33. 直流电机驱动(PWM) 33.1. 直流电机介绍 •直流电机是一种将电能转换为机械能的装置。一般的直流电机有两个电极&#xff0c;当电极正接时&#xff0c;电机正转&#xff0c;当电极反接时&#xff0c;电机反转 •直流电机主要由永磁体&#xff08;定子&#xff09;、线圈&…

MySQL 死锁案例解析一则

原文链接&#xff1a;https://www.modb.pro/db/448666 一、问题背景某业务模块反馈数据库最近出现过几次死锁告警的情况&#xff0c;本文总结了这次死锁排查的全过程&#xff0c;并分析了导致死锁的原因及解决方案。希望给大家提供一个死锁的排查及解决思路。基础环境&#xff…

一.NODE MCU(ESP8285,ESP8286)开发环境搭建

一.序言: 1.esp8285长什么样? 2.esp8285是什么,能做什么? 通过上面图片,看到上面的芯片,是带有多个阵脚的单片机。实际上,看着该芯片很小,但是却具有完整的wifi无线蓝牙功能,它本身可以运行一个极简的linux小系统,并且该极简的小linux系统具备无线蓝牙功能。。它同…

54岁前港姐与好友因一事反目成仇,20年后方破冰

现年54岁的前「金牌司仪」陈淽菁&#xff08;前名&#xff1a;陈芷菁&#xff09;是1994年落选港姐&#xff0c;之后加入TVB参演电视剧《天地男儿》、《壹号皇庭》入屋&#xff0c;后因口齿伶俐而转战主持界。2017年陈淽菁离巢&#xff0c;外出以个人名义成立「陈芷菁工作室」&…