Sustainability of Digital Formats: Planning for Library of Congress Collections |
|
![]() |
|
Introduction | Sustainability Factors | Content Categories | Format Descriptions | Contact |
Full name | 3D Tiles Archive File Format, Version 1.0 |
---|---|
Description |
3D Tiles, standardized in the Open Geospatial Consortium (OGC) document 18-053r2 is "designed for streaming and rendering massive 3D geospatial content such as Photogrammetry, 3D Buildings, BIM/CAD [Building Information Modeling/Computer-Aided Design], Instanced Features, and Point Clouds. It defines a hierarchical data structure and a set of tile formats which deliver renderable content." Cesium GS, Inc. first introduced 3D Tiles in 2015 and shepherded its acceptance as an OGC Community Standard in 2019 with version 1.0. The specification and supporting information is also held at the CesiumGS 3D Tiles GitHub public repository which is updated more frequently than the OGC site. Note that a new draft version of the specification is under development in 2022. 3D Tiles, version 1.1, with the OGC document number 22-025r2, is a "Work Item Draft." In addition, development is also underway for 3D Tiles Next. See History for more information. Benefits of 3D Tiles Some of the benefits of 3D Tiles, according to Cesium, include:
Structure of 3D Tiles The 3D Tiles specification defines a hierarchical data structure and a set of tile formats which deliver renderable content. In this context, a tileset is a set of tiles organized in a spatial data structure, the tree. A tile is defined as "a subset of a tileset containing a reference to renderable content and the metadata, such as the content’s bounding volume, which is used by a client to determine if the content is rendered." Each tileset is described by at least one tileset JSON file containing tileset metadata and a tree of tile objects. Tile objects can be one of four types of renderable data content as described in the OGC specification:
Both the Batched 3D Model and Instanced 3D Model formats are built on glTF (GL Transmission Format) 2.0 in which the tile's model geometry and texture information is embedded as a glTF asset. Point Cloud does not embed glTF. Tiles are organized in a tree structure, following the concept of Hierarchical Level of Detail (HLOD) which means support for "decreasing the complexity of a 3D representation according to metrics such as object importance or distance from the tile to the observation point or camera position" for optimal rendering of spatial data. Enabling HLOD means that "only visible tiles are streamed - and only those tiles which are most important for a given 3D view." Each tile has a bounding volume, an object defining a spatial extent completely enclosing its content. The tree has spatial coherence; the content for child tiles are completely inside the parent’s bounding volume. More granularly, each tile has a 28-byte header which contains the 4-byte ANSI string magic number of the tile object data type (b3dm, i3dm, pnts and cmpt respectively), version number of the tile data format, length of the tile and more. This header is immediately followed by the body section, composed of a Feature Table and Batch Table. [A Feature Table describes position and appearance properties required to render each feature in a tile whereas the Batch Table contains additional, application-specific properties for each feature which are not necessarily used for rendering.] For Batched 3D Model and Instanced 3D Model data, the embedded glTF asset comes next in the structure. |
Relationship to other formats | |
Contains | JSON, JSON (JavaScript Object Notation) |
May contain | glTF_2_0, glTF (GL Transmission Format) 2.0. glTF 2.0 is embedded for Batched 3D Model and Instanced 3D Model referenced data. |
Has later version | 3D Tiles version 1.1. Not described separately at this time because it is in OGC Work Item Draft status as of this writing. However, some version updates are noted throughout the text. See History for more information. |
Has later version | 3D Tiles Next. Not described separately at this time. Under development in the Cesium 3D Tiles Next GitHub repository which states that these features may be incorporated into 3D Tiles 2.0 in the future. The relationship between 3D Tiles Next and 3D Tiles version 1.1 is unclear. Comments welcome. |
LC experience or existing holdings | None. |
---|---|
LC preference | See the Recommended Formats Statement for the Library of Congress format preferences for GIS, Geospatial and Non-GIS Cartographic. |
Disclosure | Fully documented, open format. The 3D Tiles specification for tilesets, associated tile formats, and the associated styling specification are open formats that are not dependent on any vendor-specific solution, technology, or products. |
---|---|
Documentation | 3D Tiles version 1.0 is standardized via the Open Geospatial Consortium (OGC) document 18-053r2. This is supported by the CesiumGS 3D Tiles GitHub public repository which is updated more frequently than the OGC site. |
Adoption |
3D Tiles is widely adopted in 3D geospatial content applications including leading software, service, and data providers across industry and government, and by developers building end-user applications. Cesium, a major open 3D platform provider and sponsor of the 3D Tiles specification work, is built on 3D Tiles integration. Their products support the Australian New South Wales Spatial Digital Twin project which incorporates 3D Tiles into 'web-mapping and visualizing data in 3D + time (the ability to look forward and back in time) to build a real-world ‘digital twin’ prototype" for use during emergencies such as brush fires. This facilitates mapping the locations of telecommunication towers and assets which can enable emergency service organizations to better understand and protect these vital locations before and during an emergency event. Other adopters include Reveal Technology's Farsight software which, according to a August 1, 2022 press release uses 3D Tiles to enable Farsight users "to explore areas of interest in greater detail and complexity without slowing down operations. 3D Tiles support rapid map creation and interoperability with various viewers, enhancing situational awareness and collaboration." Adoption is across multiple domains including technology companies such as Nearmap, offering high-resolution aerial imager; Safe Software, creators of FME, a data integration platform; and MapTiler, a mapping platform for developers; gaming industries such as Epic Gaming, a leading interactive entertainment company and O3DE, a cross-platform 3D engine. |
Licensing and patents | None |
Transparency | Well defined. OGC document 18-053r2 describes Objects and Properties required to implement 3D Tiles. Conformance is relative to these elements and as partly expressed via the associated 3D Tiles JSON schema documents. See also glTF (GL Transmission Format) 2.0 and JSON. |
Self-documentation | Limited descriptive metadata. See also glTF (GL Transmission Format) 2.0 and JSON. |
External dependencies | None beyond availability of supporting software. |
Technical protection considerations | None known although the IANA registration for vnd.maxar.archive.3tz+zip states that "because of the various content types that can be embedded in 3tz container files, application/vnd.maxar.archive.3tz+zip may describe content that poses security implications beyond those noted here. However, only in cases where the processor recognizes and processes the additional content, or where further processing of that content is dispatched to other processors, would security issues potentially arise. In such cases, matters of security would fall outside the domain of this registration document. The content types may or may not provide integrity or confidentiality protection, but the vnd.maxar.archive.3tz+zip format does not." |
GIS images and datasets | |
---|---|
Normal functionality | According to the OGC specification, "3D Tiles uses a right-handed Cartesian coordinate system in which the cross product of x and y yields z. 3D Tiles defines the z axis as up for local Cartesian coordinate systems. A tileset’s global coordinate system will often be in a WGS 84 earth-centered, earth-fixed (ECEF) reference frame (EPSG 4979), but it doesn’t have to be, e.g., a power plant may be defined fully in its local coordinate system for use with a modeling tool without a geospatial context. An additional tile transform may be applied to transform a tile’s local coordinate system to the parent tile’s coordinate system. The region bounding volume specifies bounds using a geographic coordinate system (latitude, longitude, height), specifically EPSG 4979." |
Support for GIS metadata | 3D Tiles has very limited support for metadata as recommended by ISO 19115-1:2014 Geographic information — Metadata — Part 1: Fundamentals or FDGC ISO Geospatial Metadata Standard. 3D Tiles is mentioned in the FGDC.gov Standards Update, Aug 2016, but it announces 3D Tiles as the first new “community standard” developed by communities external to the OCG that OGC members wish to bring into the OGC process, with no information about supported GIS metadata. |
Support for grids | 3D Tiles enables uniform, non-uniform, and overlapping grids by supporting an arbitrary number of child tiles. 3D Tiles takes advantage of empty tiles: those tiles that have a bounding volume, but no content. Since a tile’s content property does not need to be defined, empty non-leaf tiles can be used to accelerate non-uniform grids with hierarchical culling. This essentially creates a quadtree or octree without hierarchical levels of detail (HLOD). |
Beyond normal functionality | None. |
Tag | Value | Note |
---|---|---|
Filename extension | json |
Tileset files and tileset style files use the json file extension. Tile content files use the file type and MIME format specific to their tile format specification. Explicit file extensions are optional. Valid implementations may ignore it and identify a content’s format by the magic field in its header. See 18-053r2. |
Filename extension | b3dm |
Optional file extension value for Batched 3D Model tiles. Explicit file extensions are optional. Valid implementations may ignore it and identify a content’s format by the magic field in its header. |
Filename extension | i3dm |
Optional file extension value for Instanced 3D models tiles. Explicit file extensions are optional. Valid implementations may ignore it and identify a content’s format by the magic field in its header. |
Filename extension | pnts |
Optional file extension value for Point Cloud tiles. Explicit file extensions are optional. Valid implementations may ignore it and identify a content’s format by the magic field in its header. |
Filename extension | cmpt |
Optional file extension value for Composite tiles. Explicit file extensions are optional. Valid implementations may ignore it and identify a content’s format by the magic field in its header. |
Internet Media Type | application/json |
Tileset files and tileset style files use application/json. See JSON. |
Internet Media Type | application/octet-stream |
Media type for all tile content types |
Internet Media Type | application/vnd.maxar.archive.3tz+zip |
See IANA registration |
Magic numbers | b3dm |
4-byte ANSI string magic number in the tile header for Batched 3D Model tiles. |
Magic numbers | i3dm |
4-byte ANSI string magic number in the tile header for Instanced 3D model tiles. |
Magic numbers | pnts |
4-byte ANSI string magic number in the tile header for Point Cloud tiles. |
Magic numbers | cmpt |
4-byte ANSI string magic number in the tile header for Composite tiles. |
Magic numbers | Hex: 50 4B 03 04 ASCII: P K etx eot |
See IANA registration which lists the magic number for ZIP. Not included in 18-053r2. Comments welcome. |
Mac OS file type | ZIP |
See IANA registration but not included in 18-053r2. Comments welcome. |
Pronom PUID | See note. | PRONOM has no corresponding entry as of January 2023. |
Wikidata Title ID | See note. | Wikidata has no corresponding entry as of January 2023. |
General | |
---|---|
History |
Cesium introduced the 3D Tiles initiative in 2015 at SIGGRAPH, a special interest group of the Association for Computing Machinery (ACM). 3D Tiles gained traction and earned several adoptions, leading to Cesium submitting 3D tiles for an OGC vote to start the Community Standard in 2016. The OGC document 18-053r2 Version 1.0 3D Tiles Specification 1.0 is the current standard, which was submitted in 2018 and published in 2019. While 3D Tiles, version 1.1, with the OGC document number 22-025r2, is a "Work Item Draft." and still under development as of this writing in late 2022, there are some potentially impactful changes in the draft. Most notable is the sunsetting of the four tiles types from version 1.0 (Batched 3D Model [b3dm]; Instanced 3D Model [i3dm]; Point Cloud [pnts]; Composite [cmpt]) - all of which are superseded by the glTF Tile Format (see also glTF (GL Transmission Format) 2.0). Other significant changes to version 1.1 include updating of the Annexes with Annex A describing the Objects and Properties required to implement 3D Tiles, Annex B defining the 3D Tiles JSON Schema and more. A list of changes is documented in the 3D Tiles v1.1 Community Standard Justification document (PDF download). See also Public comment requested: proposed v1.1 update to 3D Tiles Community Standard from OGC. In addition, 3D Tiles Next is under development in the Cesium 3D Tiles Next GitHub repository, which states that these features may be incorporated into 3D Tiles 2.0 in the future. The relationship between 3D Tiles Next and 3D Tiles version 1.1 is unclear. Comments welcome. |
|