Skip to content

Latest commit

 

History

History
3983 lines (2501 loc) · 125 KB

PropertiesReference_3dtiles.adoc

File metadata and controls

3983 lines (2501 loc) · 125 KB

Asset

Metadata about the entire tileset.

Table 1. Asset Properties
Type Description Required

version

string

The 3D Tiles version. The version defines the JSON schema for the tileset JSON and the base set of tile formats.

✓ Yes

tilesetVersion

string

Application-specific version of this tileset, e.g., for when an existing tileset is updated.

No

extensions

extension

Dictionary object with extension-specific objects.

No

extras

extras

Application-specific data.

No

asset.version

The 3D Tiles version. The version defines the JSON schema for the tileset JSON and the base set of tile formats.

  • Type: string

  • Required: ✓ Yes

asset.tilesetVersion

Application-specific version of this tileset, e.g., for when an existing tileset is updated.

  • Type: string

  • Required: No

asset.extensions

Dictionary object with extension-specific objects.

  • Type: extension

  • Required: No

  • Additional properties are allowed.

  • Type of each property: object

asset.extras

Application-specific data.

Availability

An object describing the availability of a set of elements.

Table 2. Availability Properties
Type Description Required

bitstream

integer

Index of a buffer view that indicates whether each element is available. The bitstream conforms to the boolean array encoding described in the 3D Metadata specification. If an element is available, its bit is 1, and if it is unavailable, its bit is 0.

No

availableCount

integer

A number indicating how many 1 bits exist in the availability bitstream.

No

constant

integer

Integer indicating whether all of the elements are available (1) or all are unavailable (0).

No

extensions

extension

Dictionary object with extension-specific objects.

No

extras

extras

Application-specific data.

No

availability.bitstream

Index of a buffer view that indicates whether each element is available. The bitstream conforms to the boolean array encoding described in the 3D Metadata specification. If an element is available, its bit is 1, and if it is unavailable, its bit is 0.

  • Type: integer

  • Required: No

  • Minimum: >= 0

availability.availableCount

A number indicating how many 1 bits exist in the availability bitstream.

  • Type: integer

  • Required: No

  • Minimum: >= 0

availability.constant

Integer indicating whether all of the elements are available (1) or all are unavailable (0).

  • Type: integer

  • Required: No

  • Allowed values:

    • 0 UNAVAILABLE

    • 1 AVAILABLE

availability.extensions

Dictionary object with extension-specific objects.

  • Type: extension

  • Required: No

  • Additional properties are allowed.

  • Type of each property: object

availability.extras

Application-specific data.

Batched 3D Model Feature Table

A set of Batched 3D Model semantics that contain additional information about features in a tile.

Table 3. Batched 3D Model Feature Table Properties
Type Description Required

BATCH_LENGTH

featureTable-definitions-globalPropertyInteger

A GlobalPropertyInteger object defining an integer property for all features. Details about this property are described in the 3D Tiles specification.

✓ Yes

RTC_CENTER

featureTable-definitions-globalPropertyCartesian3

A GlobalPropertyCartesian3 object defining a 3-component numeric property for all features. Details about this property are described in the 3D Tiles specification.

No

extensions

extension

Dictionary object with extension-specific objects.

No

extras

extras

Application-specific data.

No

b3dm.featureTable.BATCH_LENGTH

A GlobalPropertyInteger object defining an integer property for all features. Details about this property are described in the 3D Tiles specification.

b3dm.featureTable.RTC_CENTER

A GlobalPropertyCartesian3 object defining a 3-component numeric property for all features. Details about this property are described in the 3D Tiles specification.

b3dm.featureTable.extensions

Dictionary object with extension-specific objects.

  • Type: extension

  • Required: No

  • Additional properties are allowed.

  • Type of each property: object

b3dm.featureTable.extras

Application-specific data.

Batch Table

A set of properties defining application-specific metadata for features in a tile.

Table 4. Batch Table Properties
Type Description Required

extensions

extension

Dictionary object with extension-specific objects.

No

extras

extras

Application-specific data.

No

batchTable.extensions

Dictionary object with extension-specific objects.

  • Type: extension

  • Required: No

  • Additional properties are allowed.

  • Type of each property: object

batchTable.extras

Application-specific data.

Batch Table Definitions

batchTable-definitions-binaryBodyReference

An object defining the reference to a section of the binary body of the batch table where the property values are stored if not defined directly in the JSON.

Table 5. BinaryBodyReference Properties
Type Description Required

byteOffset

integer

The offset into the buffer in bytes.

✓ Yes

componentType

string

The datatype of components in the property.

✓ Yes

type

string

Specifies if the property is a scalar or vector.

✓ Yes

extensions

extension

Dictionary object with extension-specific objects.

No

extras

extras

Application-specific data.

No

  • Additional properties are allowed.

batchTable-definitions-binaryBodyReference.byteOffset

The offset into the buffer in bytes.

  • Type: integer

  • Required: ✓ Yes

  • Minimum: >= 0

batchTable-definitions-binaryBodyReference.componentType

The datatype of components in the property.

  • Type: string

  • Required: ✓ Yes

  • Allowed values:

    • "BYTE"

    • "UNSIGNED_BYTE"

    • "SHORT"

    • "UNSIGNED_SHORT"

    • "INT"

    • "UNSIGNED_INT"

    • "FLOAT"

    • "DOUBLE"

batchTable-definitions-binaryBodyReference.type

Specifies if the property is a scalar or vector.

  • Type: string

  • Required: ✓ Yes

  • Allowed values:

    • "SCALAR"

    • "VEC2"

    • "VEC3"

    • "VEC4"

batchTable-definitions-binaryBodyReference.extensions

Dictionary object with extension-specific objects.

  • Type: extension

  • Required: No

  • Additional properties are allowed.

  • Type of each property: object

batchTable-definitions-binaryBodyReference.extras

Application-specific data.

batchTable-definitions-property

A user-defined property which specifies per-feature application-specific metadata in a tile. Values either can be defined directly in the JSON as an array, or can refer to sections in the binary body with a BinaryBodyReference object.

Bounding Volume

A bounding volume that encloses a tile or its content. At least one bounding volume property is required. Bounding volumes include box, region, or sphere.

Table 6. Bounding Volume Properties
Type Description Required

box

number [12]

An array of 12 numbers that define an oriented bounding box. The first three elements define the x, y, and z values for the center of the box. The next three elements (with indices 3, 4, and 5) define the x axis direction and half-length. The next three elements (indices 6, 7, and 8) define the y axis direction and half-length. The last three elements (indices 9, 10, and 11) define the z axis direction and half-length.

No

region

number [6]

An array of six numbers that define a bounding geographic region in EPSG:4979 coordinates with the order [west, south, east, north, minimum height, maximum height]. Longitudes and latitudes are in radians. The range for latitudes is [-PI/2,PI/2]. The range for longitudes is [-PI,PI]. The value that is given as the 'south' of the region shall not be larger than the value for the 'north' of the region. The heights are in meters above (or below) the WGS84 ellipsoid. The 'minimum height' shall not be larger than the 'maximum height'.

No

sphere

number [4]

An array of four numbers that define a bounding sphere. The first three elements define the x, y, and z values for the center of the sphere. The last element (with index 3) defines the radius in meters. The radius shall not be negative.

No

extensions

extension

Dictionary object with extension-specific objects.

No

extras

extras

Application-specific data.

No

boundingVolume.box

An array of 12 numbers that define an oriented bounding box. The first three elements define the x, y, and z values for the center of the box. The next three elements (with indices 3, 4, and 5) define the x axis direction and half-length. The next three elements (indices 6, 7, and 8) define the y axis direction and half-length. The last three elements (indices 9, 10, and 11) define the z axis direction and half-length.

  • Type: number [12]

  • Required: No

boundingVolume.region

An array of six numbers that define a bounding geographic region in EPSG:4979 coordinates with the order [west, south, east, north, minimum height, maximum height]. Longitudes and latitudes are in radians. The range for latitudes is [-PI/2,PI/2]. The range for longitudes is [-PI,PI]. The value that is given as the 'south' of the region shall not be larger than the value for the 'north' of the region. The heights are in meters above (or below) the WGS84 ellipsoid. The 'minimum height' shall not be larger than the 'maximum height'.

  • Type: number [6]

  • Required: No

boundingVolume.sphere

An array of four numbers that define a bounding sphere. The first three elements define the x, y, and z values for the center of the sphere. The last element (with index 3) defines the radius in meters. The radius shall not be negative.

  • Type: number [4]

  • Required: No

boundingVolume.extensions

Dictionary object with extension-specific objects.

  • Type: extension

  • Required: No

  • Additional properties are allowed.

  • Type of each property: object

boundingVolume.extras

Application-specific data.

Buffer

A buffer is a binary blob. It is either the binary chunk of the subtree file, or an external buffer referenced by a URI.

Table 7. Buffer Properties
Type Description Required

uri

string

The URI (or IRI) of the file that contains the binary buffer data. Relative paths are relative to the file containing the buffer JSON. uri is required when using the JSON subtree format and not required when using the binary subtree format - when omitted the buffer refers to the binary chunk of the subtree file. Data URIs are not allowed.

No

byteLength

integer

The length of the buffer in bytes.

✓ Yes

name

string

The name of the buffer.

No

extensions

extension

Dictionary object with extension-specific objects.

No

extras

extras

Application-specific data.

No

buffer.uri

The URI (or IRI) of the file that contains the binary buffer data. Relative paths are relative to the file containing the buffer JSON. uri is required when using the JSON subtree format and not required when using the binary subtree format - when omitted the buffer refers to the binary chunk of the subtree file. Data URIs are not allowed.

  • Type: string

  • Required: No

  • Format: iri-reference

buffer.byteLength

The length of the buffer in bytes.

  • Type: integer

  • Required: ✓ Yes

  • Minimum: >= 1

buffer.name

The name of the buffer.

  • Type: string

  • Required: No

  • Minimum Length: >= 1

buffer.extensions

Dictionary object with extension-specific objects.

  • Type: extension

  • Required: No

  • Additional properties are allowed.

  • Type of each property: object

buffer.extras

Application-specific data.

Buffer View

A contiguous subset of a buffer

Table 8. Buffer View Properties
Type Description Required

buffer

integer

The index of the buffer.

✓ Yes

byteOffset

integer

The offset into the buffer in bytes.

✓ Yes

byteLength

integer

The total byte length of the buffer view.

✓ Yes

name

string

The name of the bufferView.

No

extensions

extension

Dictionary object with extension-specific objects.

No

extras

extras

Application-specific data.

No

bufferView.buffer

The index of the buffer.

  • Type: integer

  • Required: ✓ Yes

  • Minimum: >= 0

bufferView.byteOffset

The offset into the buffer in bytes.

  • Type: integer

  • Required: ✓ Yes

  • Minimum: >= 0

bufferView.byteLength

The total byte length of the buffer view.

  • Type: integer

  • Required: ✓ Yes

  • Minimum: >= 1

bufferView.name

The name of the bufferView.

  • Type: string

  • Required: No

  • Minimum Length: >= 1

bufferView.extensions

Dictionary object with extension-specific objects.

  • Type: extension

  • Required: No

  • Additional properties are allowed.

  • Type of each property: object

bufferView.extras

Application-specific data.

Class

A class containing a set of properties.

Table 9. Class Properties
Type Description Required

name

string

The name of the class, e.g. for display purposes.

No

description

string

The description of the class.

No

properties

object

A dictionary, where each key is a property ID and each value is an object defining the property. Property IDs shall be alphanumeric identifiers matching the regular expression ^[a-zA-Z_][a-zA-Z0-9_]*$.

No

extensions

extension

Dictionary object with extension-specific objects.

No

extras

extras

Application-specific data.

No

class.name

The name of the class, e.g. for display purposes.

  • Type: string

  • Required: No

  • Minimum Length: >= 1

class.description

The description of the class.

  • Type: string

  • Required: No

  • Minimum Length: >= 1

class.properties

A dictionary, where each key is a property ID and each value is an object defining the property. Property IDs shall be alphanumeric identifiers matching the regular expression ^[a-zA-Z_][a-zA-Z0-9_]*$.

  • Type: object

  • Required: No

  • Minimum number of properties: 1

  • Additional properties are allowed.

  • Type of each property: class.property

class.extensions

Dictionary object with extension-specific objects.

  • Type: extension

  • Required: No

  • Additional properties are allowed.

  • Type of each property: object

class.extras

Application-specific data.

Class Property

A single property of a metadata class.

Table 10. Class Property Properties
Type Description Required

name

string

The name of the property, e.g. for display purposes.

No

description

string

The description of the property.

No

type

string

The element type.

✓ Yes

componentType

string

The datatype of the element’s components. Required for SCALAR, VECN, and MATN types, and disallowed for other types.

No

enumType

string

Enum ID as declared in the enums dictionary. Required when type is ENUM. Disallowed when type is not ENUM

No

array

boolean

Whether the property is an array. When count is defined the property is a fixed-length array. Otherwise the property is a variable-length array.

No, default: false

count

integer

The number of array elements. May only be defined when array is true.

No

normalized

boolean

Specifies whether integer values are normalized. Only applicable to SCALAR, VECN, and MATN types with integer component types. For unsigned integer component types, values are normalized between [0.0, 1.0]. For signed integer component types, values are normalized between [-1.0, 1.0]. For all other component types, this property shall be false.

No, default: false

offset

definitions-definitions-numericValue

An offset to apply to property values. Only applicable to SCALAR, VECN, and MATN types when the component type is FLOAT32 or FLOAT64, or when the property is normalized. Not applicable to variable-length arrays.

No

scale

definitions-definitions-numericValue

A scale to apply to property values. Only applicable to SCALAR, VECN, and MATN types when the component type is FLOAT32 or FLOAT64, or when the property is normalized. Not applicable to variable-length arrays.

No

max

definitions-definitions-numericValue

Maximum allowed value for the property. Only applicable to SCALAR, VECN, and MATN types. This is the maximum of all property values, after the transforms based on the normalized, offset, and scale properties have been applied. Not applicable to variable-length arrays.

No

min

definitions-definitions-numericValue

Minimum allowed value for the property. Only applicable to SCALAR, VECN, and MATN types. This is the minimum of all property values, after the transforms based on the normalized, offset, and scale properties have been applied. Not applicable to variable-length arrays.

No

required

boolean

If required, the property shall be present in every entity conforming to the class. If not required, individual entities may include noData values, or the entire property may be omitted. As a result, noData has no effect on a required property. Client implementations may use required properties to make performance optimizations.

No, default: false

noData

definitions-definitions-noDataValue

A noData value represents missing data — also known as a sentinel value — wherever it appears. BOOLEAN properties may not specify noData values. This is given as the plain property value, without the transforms from the normalized, offset, and scale properties. Shall not be defined if required is true.

No

default

definitions-definitions-anyValue

A default value to use when encountering a noData value or an omitted property. The value is given in its final form, taking the effect of normalized, offset, and scale properties into account. Shall not be defined if required is true.

No

semantic

string

An identifier that describes how this property should be interpreted. The semantic cannot be used by other properties in the class.

No

extensions

extension

Dictionary object with extension-specific objects.

No

extras

extras

Application-specific data.

No

class.property.name

The name of the property, e.g. for display purposes.

  • Type: string

  • Required: No

  • Minimum Length: >= 1

class.property.description

The description of the property.

  • Type: string

  • Required: No

  • Minimum Length: >= 1

class.property.type

The element type.

  • Type: string

  • Required: ✓ Yes

  • Allowed values:

    • "SCALAR"

    • "VEC2"

    • "VEC3"

    • "VEC4"

    • "MAT2"

    • "MAT3"

    • "MAT4"

    • "STRING"

    • "BOOLEAN"

    • "ENUM"

class.property.componentType

The datatype of the element’s components. Required for SCALAR, VECN, and MATN types, and disallowed for other types.

  • Type: string

  • Required: No

  • Allowed values:

    • "INT8"

    • "UINT8"

    • "INT16"

    • "UINT16"

    • "INT32"

    • "UINT32"

    • "INT64"

    • "UINT64"

    • "FLOAT32"

    • "FLOAT64"

class.property.enumType

Enum ID as declared in the enums dictionary. Required when type is ENUM. Disallowed when type is not ENUM

  • Type: string

  • Required: No

class.property.array

Whether the property is an array. When count is defined the property is a fixed-length array. Otherwise the property is a variable-length array.

  • Type: boolean

  • Required: No, default: false

class.property.count

The number of array elements. May only be defined when array is true.

  • Type: integer

  • Required: No

  • Minimum: >= 2

class.property.normalized

Specifies whether integer values are normalized. Only applicable to SCALAR, VECN, and MATN types with integer component types. For unsigned integer component types, values are normalized between [0.0, 1.0]. For signed integer component types, values are normalized between [-1.0, 1.0]. For all other component types, this property shall be false.

  • Type: boolean

  • Required: No, default: false

class.property.offset

An offset to apply to property values. Only applicable to SCALAR, VECN, and MATN types when the component type is FLOAT32 or FLOAT64, or when the property is normalized. Not applicable to variable-length arrays.

class.property.scale

A scale to apply to property values. Only applicable to SCALAR, VECN, and MATN types when the component type is FLOAT32 or FLOAT64, or when the property is normalized. Not applicable to variable-length arrays.

class.property.max

Maximum allowed value for the property. Only applicable to SCALAR, VECN, and MATN types. This is the maximum of all property values, after the transforms based on the normalized, offset, and scale properties have been applied. Not applicable to variable-length arrays.

class.property.min

Minimum allowed value for the property. Only applicable to SCALAR, VECN, and MATN types. This is the minimum of all property values, after the transforms based on the normalized, offset, and scale properties have been applied. Not applicable to variable-length arrays.

class.property.required

If required, the property shall be present in every entity conforming to the class. If not required, individual entities may include noData values, or the entire property may be omitted. As a result, noData has no effect on a required property. Client implementations may use required properties to make performance optimizations.

  • Type: boolean

  • Required: No, default: false

class.property.noData

A noData value represents missing data — also known as a sentinel value — wherever it appears. BOOLEAN properties may not specify noData values. This is given as the plain property value, without the transforms from the normalized, offset, and scale properties. Shall not be defined if required is true.

class.property.default

A default value to use when encountering a noData value or an omitted property. The value is given in its final form, taking the effect of normalized, offset, and scale properties into account. Shall not be defined if required is true.

class.property.semantic

An identifier that describes how this property should be interpreted. The semantic cannot be used by other properties in the class.

  • Type: string

  • Required: No

  • Minimum Length: >= 1

class.property.extensions

Dictionary object with extension-specific objects.

  • Type: extension

  • Required: No

  • Additional properties are allowed.

  • Type of each property: object

class.property.extras

Application-specific data.

Content

Metadata about the tile’s content and a link to the content.

Table 11. Content Properties
Type Description Required

boundingVolume

boundingVolume

An optional bounding volume that tightly encloses tile content. tile.boundingVolume provides spatial coherence and tile.content.boundingVolume enables tight view frustum culling. When this is omitted, tile.boundingVolume is used.

No

uri

string

A uri that points to tile content. When the uri is relative, it is relative to the referring tileset JSON file.

✓ Yes

metadata

metadataEntity

Metadata that is associated with this content.

No

group

integer

The group this content belongs to. The value is an index into the array of groups that is defined for the containing tileset.

No

extensions

extension

Dictionary object with extension-specific objects.

No

extras

extras

Application-specific data.

No

content.boundingVolume

An optional bounding volume that tightly encloses tile content. tile.boundingVolume provides spatial coherence and tile.content.boundingVolume enables tight view frustum culling. When this is omitted, tile.boundingVolume is used.

content.uri

A uri that points to tile content. When the uri is relative, it is relative to the referring tileset JSON file.

  • Type: string

  • Required: ✓ Yes

content.metadata

Metadata that is associated with this content.

content.group

The group this content belongs to. The value is an index into the array of groups that is defined for the containing tileset.

  • Type: integer

  • Required: No

  • Minimum: >= 0

content.extensions

Dictionary object with extension-specific objects.

  • Type: extension

  • Required: No

  • Additional properties are allowed.

  • Type of each property: object

content.extras

Application-specific data.

Definitions

Common definitions used in schema files.

Definitions Definitions

definitions-definitions-numericArray1D

An array of numeric values

  • Type: number [1-*]

  • Minimum items: 1

  • Additional properties are allowed.

definitions-definitions-numericArray2D

An array of arrays of numeric values

definitions-definitions-booleanArray1D

An array of boolean values

  • Type: boolean [1-*]

  • Minimum items: 1

  • Additional properties are allowed.

definitions-definitions-stringArray1D

An array of string values

  • Type: string [1-*]

  • Minimum items: 1

  • Additional properties are allowed.

definitions-definitions-numericValue

For SCALAR this is a number. For VECN this is an array of N numbers. For MATN this is an array of numbers. For fixed-length arrays this is an array of count elements of the given type.

definitions-definitions-noDataValue

For SCALAR this is a number. For STRING this is a string. For ENUM this is a string that shall be a valid enum name, not an integer value. For VECN this is an array of N numbers. For MATN this is an array of numbers. For fixed-length arrays this is an array of count elements of the given type.

definitions-definitions-anyValue

For SCALAR this is a number. For STRING this is a string. For ENUM this is a string that shall be a valid enum name, not an integer value. For BOOLEAN this is a boolean. For VECN this is an array of N numbers. For MATN this is an array of numbers. For fixed-length array this is an array of count elements of the given type. For variable-length arrays this is an array of any length of the given type.

Enum

An object defining the values of an enum.

Table 12. Enum Properties
Type Description Required

name

string

The name of the enum, e.g. for display purposes.

No

description

string

The description of the enum.

No

valueType

string

The type of the integer enum value.

No, default: UINT16

values

enum.value [1-*]

An array of enum values. Duplicate names or duplicate integer values are not allowed.

✓ Yes

extensions

extension

Dictionary object with extension-specific objects.

No

extras

extras

Application-specific data.

No

enum.name

The name of the enum, e.g. for display purposes.

  • Type: string

  • Required: No

  • Minimum Length: >= 1

enum.description

The description of the enum.

  • Type: string

  • Required: No

  • Minimum Length: >= 1

enum.valueType

The type of the integer enum value.

  • Type: string

  • Required: No, default: UINT16

  • Allowed values:

    • "INT8"

    • "UINT8"

    • "INT16"

    • "UINT16"

    • "INT32"

    • "UINT32"

    • "INT64"

    • "UINT64"

enum.values

An array of enum values. Duplicate names or duplicate integer values are not allowed.

enum.extensions

Dictionary object with extension-specific objects.

  • Type: extension

  • Required: No

  • Additional properties are allowed.

  • Type of each property: object

enum.extras

Application-specific data.

Enum value

An enum value.

Table 13. Enum value Properties
Type Description Required

name

string

The name of the enum value.

✓ Yes

description

string

The description of the enum value.

No

value

integer

The integer enum value.

✓ Yes

extensions

extension

Dictionary object with extension-specific objects.

No

extras

extras

Application-specific data.

No

enum.value.name

The name of the enum value.

  • Type: string

  • Required: ✓ Yes

  • Minimum Length: >= 1

enum.value.description

The description of the enum value.

  • Type: string

  • Required: No

  • Minimum Length: >= 1

enum.value.value

The integer enum value.

  • Type: integer

  • Required: ✓ Yes

enum.value.extensions

Dictionary object with extension-specific objects.

  • Type: extension

  • Required: No

  • Additional properties are allowed.

  • Type of each property: object

enum.value.extras

Application-specific data.

Extension

Dictionary object with extension-specific objects.

  • Additional properties are allowed.

  • Type of additional properties: object

  • JSON schema: extension.schema.json

Extras

Application-specific data.

Feature Table

A set of semantics containing per-tile and per-feature values defining the position and appearance properties for features in a tile.

Table 14. Feature Table Properties
Type Description Required

extensions

extension

Dictionary object with extension-specific objects.

No

extras

extras

Application-specific data.

No

featureTable.extensions

Dictionary object with extension-specific objects.

  • Type: extension

  • Required: No

  • Additional properties are allowed.

  • Type of each property: object

featureTable.extras

Application-specific data.

Feature Table Definitions

featureTable-definitions-binaryBodyOffset

An object defining the offset into a section of the binary body of the features table where the property values are stored if not defined directly in the JSON.

Table 15. BinaryBodyOffset Properties
Type Description Required

byteOffset

integer

The offset into the buffer in bytes.

✓ Yes

extensions

extension

Dictionary object with extension-specific objects.

No

extras

extras

Application-specific data.

No

  • Additional properties are allowed.

featureTable-definitions-binaryBodyOffset.byteOffset

The offset into the buffer in bytes.

  • Type: integer

  • Required: ✓ Yes

  • Minimum: >= 0

featureTable-definitions-binaryBodyOffset.extensions

Dictionary object with extension-specific objects.

  • Type: extension

  • Required: No

  • Additional properties are allowed.

  • Type of each property: object

featureTable-definitions-binaryBodyOffset.extras

Application-specific data.

featureTable-definitions-binaryBodyReference

An object defining the reference to a section of the binary body of the features table where the property values are stored if not defined directly in the JSON.

Table 16. BinaryBodyReference Properties
Type Description Required

componentType

string

The datatype of components in the property. This is defined only if the semantic allows for overriding the implicit component type. These cases are specified in each tile format.

No

byteOffset

integer

The offset into the buffer in bytes.

✓ Yes

extensions

extension

Dictionary object with extension-specific objects.

No

extras

extras

Application-specific data.

No

  • Additional properties are allowed.

featureTable-definitions-binaryBodyReference.componentType

The datatype of components in the property. This is defined only if the semantic allows for overriding the implicit component type. These cases are specified in each tile format.

  • Type: string

  • Required: No

  • Allowed values:

    • "BYTE"

    • "UNSIGNED_BYTE"

    • "SHORT"

    • "UNSIGNED_SHORT"

    • "INT"

    • "UNSIGNED_INT"

    • "FLOAT"

    • "DOUBLE"

featureTable-definitions-binaryBodyReference.byteOffset

The offset into the buffer in bytes.

  • Type: integer

  • Required: ✓ Yes

  • Minimum: >= 0

featureTable-definitions-binaryBodyReference.extensions

Dictionary object with extension-specific objects.

  • Type: extension

  • Required: No

  • Additional properties are allowed.

  • Type of each property: object

featureTable-definitions-binaryBodyReference.extras

Application-specific data.

featureTable-definitions-property

A user-defined property which specifies application-specific metadata in a tile. Values can refer to sections in the binary body with a BinaryBodyReference object. Global values can be also be defined directly in the JSON.

featureTable-definitions-globalPropertyBoolean

An object defining a global boolean property value for all features.

  • Type: boolean

  • Additional properties are allowed.

featureTable-definitions-globalPropertyInteger

An object defining a global integer property value for all features.

featureTable-definitions-globalPropertyNumber

An object defining a global numeric property value for all features.

featureTable-definitions-globalPropertyCartesian3

An object defining a global 3-component numeric property values for all features.

featureTable-definitions-globalPropertyCartesian4

An object defining a global 4-component numeric property values for all features.

Group Metadata

An object containing metadata about a group.

Table 17. Group Metadata Properties
Type Description Required

class

string

The class that property values conform to. The value shall be a class ID declared in the classes dictionary of the metadata schema.

✓ Yes

properties

object

A dictionary, where each key corresponds to a property ID in the class' properties dictionary and each value contains the property values. The type of the value shall match the property definition: For BOOLEAN use true or false. For STRING use a JSON string. For numeric types use a JSON number. For ENUM use a valid enum name, not an integer value. For ARRAY, VECN, and MATN types use a JSON array containing values matching the componentType. Required properties shall be included in this dictionary.

No

extensions

extension

Dictionary object with extension-specific objects.

No

extras

extras

Application-specific data.

No

group.class

The class that property values conform to. The value shall be a class ID declared in the classes dictionary of the metadata schema.

  • Type: string

  • Required: ✓ Yes

group.properties

A dictionary, where each key corresponds to a property ID in the class' properties dictionary and each value contains the property values. The type of the value shall match the property definition: For BOOLEAN use true or false. For STRING use a JSON string. For numeric types use a JSON number. For ENUM use a valid enum name, not an integer value. For ARRAY, VECN, and MATN types use a JSON array containing values matching the componentType. Required properties shall be included in this dictionary.

group.extensions

Dictionary object with extension-specific objects.

  • Type: extension

  • Required: No

  • Additional properties are allowed.

  • Type of each property: object

group.extras

Application-specific data.

Instanced 3D Model Feature Table

A set of Instanced 3D Model semantics that contains values defining the position and appearance properties for instanced models in a tile.

Table 18. Instanced 3D Model Feature Table Properties
Type Description Required

POSITION

featureTable-definitions-binaryBodyReference

A BinaryBodyReference object defining the reference to a section of the binary body where the property values are stored. Details about this property are described in the 3D Tiles specification.

No

POSITION_QUANTIZED

featureTable-definitions-binaryBodyReference

A BinaryBodyReference object defining the reference to a section of the binary body where the property values are stored. Details about this property are described in the 3D Tiles specification.

No

NORMAL_UP

featureTable-definitions-binaryBodyReference

A BinaryBodyReference object defining the reference to a section of the binary body where the property values are stored. Details about this property are described in the 3D Tiles specification.

No

NORMAL_RIGHT

featureTable-definitions-binaryBodyReference

A BinaryBodyReference object defining the reference to a section of the binary body where the property values are stored. Details about this property are described in the 3D Tiles specification.

No

NORMAL_UP_OCT32P

featureTable-definitions-binaryBodyReference

A BinaryBodyReference object defining the reference to a section of the binary body where the property values are stored. Details about this property are described in the 3D Tiles specification.

No

NORMAL_RIGHT_OCT32P

featureTable-definitions-binaryBodyReference

A BinaryBodyReference object defining the reference to a section of the binary body where the property values are stored. Details about this property are described in the 3D Tiles specification.

No

SCALE

featureTable-definitions-binaryBodyReference

A BinaryBodyReference object defining the reference to a section of the binary body where the property values are stored. Details about this property are described in the 3D Tiles specification.

No

SCALE_NON_UNIFORM

featureTable-definitions-binaryBodyReference

A BinaryBodyReference object defining the reference to a section of the binary body where the property values are stored. Details about this property are described in the 3D Tiles specification.

No

BATCH_ID

featureTable-definitions-binaryBodyReference

A BinaryBodyReference object defining the reference to a section of the binary body where the property values are stored. Details about this property are described in the 3D Tiles specification.

No

INSTANCES_LENGTH

featureTable-definitions-globalPropertyInteger

A GlobalPropertyInteger object defining an integer property for all features. Details about this property are described in the 3D Tiles specification.

✓ Yes

RTC_CENTER

featureTable-definitions-globalPropertyCartesian3

A GlobalPropertyCartesian3 object defining a 3-component numeric property for all features. Details about this property are described in the 3D Tiles specification.

No

QUANTIZED_VOLUME_OFFSET

featureTable-definitions-globalPropertyCartesian3

A GlobalPropertyCartesian3 object defining a 3-component numeric property for all features. Details about this property are described in the 3D Tiles specification.

No

QUANTIZED_VOLUME_SCALE

featureTable-definitions-globalPropertyCartesian3

A GlobalPropertyCartesian3 object defining a 3-component numeric property for all features. Details about this property are described in the 3D Tiles specification.

No

EAST_NORTH_UP

featureTable-definitions-globalPropertyBoolean

A GlobalPropertyBoolean object defining a boolean property for all features. Details about this property are described in the 3D Tiles specification.

No

extensions

extension

Dictionary object with extension-specific objects.

No

extras

extras

Application-specific data.

No

i3dm.featureTable.POSITION

A BinaryBodyReference object defining the reference to a section of the binary body where the property values are stored. Details about this property are described in the 3D Tiles specification.

i3dm.featureTable.POSITION_QUANTIZED

A BinaryBodyReference object defining the reference to a section of the binary body where the property values are stored. Details about this property are described in the 3D Tiles specification.

i3dm.featureTable.NORMAL_UP

A BinaryBodyReference object defining the reference to a section of the binary body where the property values are stored. Details about this property are described in the 3D Tiles specification.

i3dm.featureTable.NORMAL_RIGHT

A BinaryBodyReference object defining the reference to a section of the binary body where the property values are stored. Details about this property are described in the 3D Tiles specification.

i3dm.featureTable.NORMAL_UP_OCT32P

A BinaryBodyReference object defining the reference to a section of the binary body where the property values are stored. Details about this property are described in the 3D Tiles specification.

i3dm.featureTable.NORMAL_RIGHT_OCT32P

A BinaryBodyReference object defining the reference to a section of the binary body where the property values are stored. Details about this property are described in the 3D Tiles specification.

i3dm.featureTable.SCALE

A BinaryBodyReference object defining the reference to a section of the binary body where the property values are stored. Details about this property are described in the 3D Tiles specification.

i3dm.featureTable.SCALE_NON_UNIFORM

A BinaryBodyReference object defining the reference to a section of the binary body where the property values are stored. Details about this property are described in the 3D Tiles specification.

i3dm.featureTable.BATCH_ID

A BinaryBodyReference object defining the reference to a section of the binary body where the property values are stored. Details about this property are described in the 3D Tiles specification.

i3dm.featureTable.INSTANCES_LENGTH

A GlobalPropertyInteger object defining an integer property for all features. Details about this property are described in the 3D Tiles specification.

i3dm.featureTable.RTC_CENTER

A GlobalPropertyCartesian3 object defining a 3-component numeric property for all features. Details about this property are described in the 3D Tiles specification.

i3dm.featureTable.QUANTIZED_VOLUME_OFFSET

A GlobalPropertyCartesian3 object defining a 3-component numeric property for all features. Details about this property are described in the 3D Tiles specification.

i3dm.featureTable.QUANTIZED_VOLUME_SCALE

A GlobalPropertyCartesian3 object defining a 3-component numeric property for all features. Details about this property are described in the 3D Tiles specification.

i3dm.featureTable.EAST_NORTH_UP

A GlobalPropertyBoolean object defining a boolean property for all features. Details about this property are described in the 3D Tiles specification.

i3dm.featureTable.extensions

Dictionary object with extension-specific objects.

  • Type: extension

  • Required: No

  • Additional properties are allowed.

  • Type of each property: object

i3dm.featureTable.extras

Application-specific data.

Metadata Entity

An object containing a reference to a class from a metadata schema, and property values that conform to the properties of that class.

Table 19. Metadata Entity Properties
Type Description Required

class

string

The class that property values conform to. The value shall be a class ID declared in the classes dictionary of the metadata schema.

✓ Yes

properties

object

A dictionary, where each key corresponds to a property ID in the class' properties dictionary and each value contains the property values. The type of the value shall match the property definition: For BOOLEAN use true or false. For STRING use a JSON string. For numeric types use a JSON number. For ENUM use a valid enum name, not an integer value. For ARRAY, VECN, and MATN types use a JSON array containing values matching the componentType. Required properties shall be included in this dictionary.

No

extensions

extension

Dictionary object with extension-specific objects.

No

extras

extras

Application-specific data.

No

metadataEntity.class

The class that property values conform to. The value shall be a class ID declared in the classes dictionary of the metadata schema.

  • Type: string

  • Required: ✓ Yes

metadataEntity.properties

A dictionary, where each key corresponds to a property ID in the class' properties dictionary and each value contains the property values. The type of the value shall match the property definition: For BOOLEAN use true or false. For STRING use a JSON string. For numeric types use a JSON number. For ENUM use a valid enum name, not an integer value. For ARRAY, VECN, and MATN types use a JSON array containing values matching the componentType. Required properties shall be included in this dictionary.

metadataEntity.extensions

Dictionary object with extension-specific objects.

  • Type: extension

  • Required: No

  • Additional properties are allowed.

  • Type of each property: object

metadataEntity.extras

Application-specific data.

Point Cloud Feature Table

A set of Point Cloud semantics that contains values defining the position and appearance properties for points in a tile.

Table 20. Point Cloud Feature Table Properties
Type Description Required

POSITION

featureTable-definitions-binaryBodyReference

A BinaryBodyReference object defining the reference to a section of the binary body where the property values are stored. Details about this property are described in the 3D Tiles specification.

No

POSITION_QUANTIZED

featureTable-definitions-binaryBodyReference

A BinaryBodyReference object defining the reference to a section of the binary body where the property values are stored. Details about this property are described in the 3D Tiles specification.

No

RGBA

featureTable-definitions-binaryBodyReference

A BinaryBodyReference object defining the reference to a section of the binary body where the property values are stored. Details about this property are described in the 3D Tiles specification.

No

RGB

featureTable-definitions-binaryBodyReference

A BinaryBodyReference object defining the reference to a section of the binary body where the property values are stored. Details about this property are described in the 3D Tiles specification.

No

RGB565

featureTable-definitions-binaryBodyReference

A BinaryBodyReference object defining the reference to a section of the binary body where the property values are stored. Details about this property are described in the 3D Tiles specification.

No

NORMAL

featureTable-definitions-binaryBodyReference

A BinaryBodyReference object defining the reference to a section of the binary body where the property values are stored. Details about this property are described in the 3D Tiles specification.

No

NORMAL_OCT16P

featureTable-definitions-binaryBodyReference

A BinaryBodyReference object defining the reference to a section of the binary body where the property values are stored. Details about this property are described in the 3D Tiles specification.

No

BATCH_ID

featureTable-definitions-binaryBodyReference

A BinaryBodyReference object defining the reference to a section of the binary body where the property values are stored. Details about this property are described in the 3D Tiles specification.

No

POINTS_LENGTH

featureTable-definitions-globalPropertyInteger

A GlobalPropertyInteger object defining an integer property for all points. Details about this property are described in the 3D Tiles specification.

✓ Yes

RTC_CENTER

featureTable-definitions-globalPropertyCartesian3

A GlobalPropertyCartesian3 object defining a 3-component numeric property for all points. Details about this property are described in the 3D Tiles specification.

No

QUANTIZED_VOLUME_OFFSET

featureTable-definitions-globalPropertyCartesian3

A GlobalPropertyCartesian3 object defining a 3-component numeric property for all points. Details about this property are described in the 3D Tiles specification.

No

QUANTIZED_VOLUME_SCALE

featureTable-definitions-globalPropertyCartesian3

A GlobalPropertyCartesian3 object defining a 3-component numeric property for all points. Details about this property are described in the 3D Tiles specification.

No

CONSTANT_RGBA

featureTable-definitions-globalPropertyCartesian4

A GlobalPropertyCartesian4 object defining a 4-component numeric property for all points. Details about this property are described in the 3D Tiles specification.

No

BATCH_LENGTH

featureTable-definitions-globalPropertyInteger

A GlobalPropertyInteger object defining an integer property for all points. Details about this property are described in the 3D Tiles specification.

No

extensions

extension

Dictionary object with extension-specific objects.

No

extras

extras

Application-specific data.

No

pnts.featureTable.POSITION

A BinaryBodyReference object defining the reference to a section of the binary body where the property values are stored. Details about this property are described in the 3D Tiles specification.

pnts.featureTable.POSITION_QUANTIZED

A BinaryBodyReference object defining the reference to a section of the binary body where the property values are stored. Details about this property are described in the 3D Tiles specification.

pnts.featureTable.RGBA

A BinaryBodyReference object defining the reference to a section of the binary body where the property values are stored. Details about this property are described in the 3D Tiles specification.

pnts.featureTable.RGB

A BinaryBodyReference object defining the reference to a section of the binary body where the property values are stored. Details about this property are described in the 3D Tiles specification.

pnts.featureTable.RGB565

A BinaryBodyReference object defining the reference to a section of the binary body where the property values are stored. Details about this property are described in the 3D Tiles specification.

pnts.featureTable.NORMAL

A BinaryBodyReference object defining the reference to a section of the binary body where the property values are stored. Details about this property are described in the 3D Tiles specification.

pnts.featureTable.NORMAL_OCT16P

A BinaryBodyReference object defining the reference to a section of the binary body where the property values are stored. Details about this property are described in the 3D Tiles specification.

pnts.featureTable.BATCH_ID

A BinaryBodyReference object defining the reference to a section of the binary body where the property values are stored. Details about this property are described in the 3D Tiles specification.

pnts.featureTable.POINTS_LENGTH

A GlobalPropertyInteger object defining an integer property for all points. Details about this property are described in the 3D Tiles specification.

pnts.featureTable.RTC_CENTER

A GlobalPropertyCartesian3 object defining a 3-component numeric property for all points. Details about this property are described in the 3D Tiles specification.

pnts.featureTable.QUANTIZED_VOLUME_OFFSET

A GlobalPropertyCartesian3 object defining a 3-component numeric property for all points. Details about this property are described in the 3D Tiles specification.

pnts.featureTable.QUANTIZED_VOLUME_SCALE

A GlobalPropertyCartesian3 object defining a 3-component numeric property for all points. Details about this property are described in the 3D Tiles specification.

pnts.featureTable.CONSTANT_RGBA

A GlobalPropertyCartesian4 object defining a 4-component numeric property for all points. Details about this property are described in the 3D Tiles specification.

pnts.featureTable.BATCH_LENGTH

A GlobalPropertyInteger object defining an integer property for all points. Details about this property are described in the 3D Tiles specification.

pnts.featureTable.extensions

Dictionary object with extension-specific objects.

  • Type: extension

  • Required: No

  • Additional properties are allowed.

  • Type of each property: object

pnts.featureTable.extras

Application-specific data.

Properties

A dictionary object of metadata about per-feature properties.

Table 21. Properties Properties
Type Description Required

maximum

number

The maximum value of this property of all the features in the tileset. The maximum value shall not be smaller than the minimum value.

✓ Yes

minimum

number

The minimum value of this property of all the features in the tileset. The maximum value shall not be smaller than the minimum value.

✓ Yes

extensions

extension

Dictionary object with extension-specific objects.

No

extras

extras

Application-specific data.

No

properties.maximum

The maximum value of this property of all the features in the tileset. The maximum value shall not be smaller than the minimum value.

  • Type: number

  • Required: ✓ Yes

properties.minimum

The minimum value of this property of all the features in the tileset. The maximum value shall not be smaller than the minimum value.

  • Type: number

  • Required: ✓ Yes

properties.extensions

Dictionary object with extension-specific objects.

  • Type: extension

  • Required: No

  • Additional properties are allowed.

  • Type of each property: object

properties.extras

Application-specific data.

Property Table

Properties conforming to a class, organized as property values stored in binary columnar arrays.

Table 22. Property Table Properties
Type Description Required

name

string

The name of the property table, e.g. for display purposes.

No

class

string

The class that property values conform to. The value shall be a class ID declared in the classes dictionary.

✓ Yes

count

integer

The number of elements in each property array.

✓ Yes

properties

object

A dictionary, where each key corresponds to a property ID in the class' properties dictionary and each value is an object describing where property values are stored. Required properties shall be included in this dictionary.

No

extensions

extension

Dictionary object with extension-specific objects.

No

extras

extras

Application-specific data.

No

propertyTable.name

The name of the property table, e.g. for display purposes.

  • Type: string

  • Required: No

  • Minimum Length: >= 1

propertyTable.class

The class that property values conform to. The value shall be a class ID declared in the classes dictionary.

  • Type: string

  • Required: ✓ Yes

propertyTable.count

The number of elements in each property array.

  • Type: integer

  • Required: ✓ Yes

  • Minimum: >= 1

propertyTable.properties

A dictionary, where each key corresponds to a property ID in the class' properties dictionary and each value is an object describing where property values are stored. Required properties shall be included in this dictionary.

  • Type: object

  • Required: No

  • Minimum number of properties: 1

  • Additional properties are allowed.

  • Type of each property: propertyTable.property

propertyTable.extensions

Dictionary object with extension-specific objects.

  • Type: extension

  • Required: No

  • Additional properties are allowed.

  • Type of each property: object

propertyTable.extras

Application-specific data.

Property Table Property

An array of binary property values. This represents one column of a property table, and contains one value of a certain property for each metadata entity.

Table 23. Property Table Property Properties
Type Description Required

values

integer

The index of the buffer view containing property values. The data type of property values is determined by the property definition: When type is BOOLEAN values are packed into a bitstream. When type is STRING values are stored as byte sequences and decoded as UTF-8 strings. When type is SCALAR, VECN, or MATN the values are stored as the provided componentType and the buffer view byteOffset shall be aligned to a multiple of the componentType size. When type is ENUM values are stored as the enum’s valueType and the buffer view byteOffset shall be aligned to a multiple of the valueType size. Each enum value in the array shall match one of the allowed values in the enum definition. arrayOffsets is required for variable-length arrays and stringOffsets is required for strings (for variable-length arrays of strings, both are required).

✓ Yes

arrayOffsets

integer

The index of the buffer view containing offsets for variable-length arrays. The number of offsets is equal to the property table count plus one. The offsets represent the start positions of each array, with the last offset representing the position after the last array. The array length is computed using the difference between the subsequent offset and the current offset. If type is STRING the offsets index into the string offsets array (stored in stringOffsets), otherwise they index into the property array (stored in values). The data type of these offsets is determined by arrayOffsetType. The buffer view byteOffset shall be aligned to a multiple of the arrayOffsetType size.

No

stringOffsets

integer

The index of the buffer view containing offsets for strings. The number of offsets is equal to the number of string elements plus one. The offsets represent the byte offsets of each string in the property array (stored in values), with the last offset representing the byte offset after the last string. The string byte length is computed using the difference between the subsequent offset and the current offset. The data type of these offsets is determined by stringOffsetType. The buffer view byteOffset shall be aligned to a multiple of the stringOffsetType size.

No

arrayOffsetType

string

The type of values in arrayOffsets.

No, default: UINT32

stringOffsetType

string

The type of values in stringOffsets.

No, default: UINT32

offset

definitions-definitions-numericValue

An offset to apply to property values. Only applicable when the component type is FLOAT32 or FLOAT64, or when the property is normalized. Overrides the class property’s offset if both are defined.

No

scale

definitions-definitions-numericValue

A scale to apply to property values. Only applicable when the component type is FLOAT32 or FLOAT64, or when the property is normalized. Overrides the class property’s scale if both are defined.

No

max

definitions-definitions-numericValue

Maximum value present in the property values. Only applicable to SCALAR, VECN, and MATN types. This is the maximum of all property values, after the transforms based on the normalized, offset, and scale properties have been applied.

No

min

definitions-definitions-numericValue

Minimum value present in the property values. Only applicable to SCALAR, VECN, and MATN types. This is the minimum of all property values, after the transforms based on the normalized, offset, and scale properties have been applied.

No

extensions

extension

Dictionary object with extension-specific objects.

No

extras

extras

Application-specific data.

No

propertyTable.property.values

The index of the buffer view containing property values. The data type of property values is determined by the property definition: When type is BOOLEAN values are packed into a bitstream. When type is STRING values are stored as byte sequences and decoded as UTF-8 strings. When type is SCALAR, VECN, or MATN the values are stored as the provided componentType and the buffer view byteOffset shall be aligned to a multiple of the componentType size. When type is ENUM values are stored as the enum’s valueType and the buffer view byteOffset shall be aligned to a multiple of the valueType size. Each enum value in the array shall match one of the allowed values in the enum definition. arrayOffsets is required for variable-length arrays and stringOffsets is required for strings (for variable-length arrays of strings, both are required).

  • Type: integer

  • Required: ✓ Yes

  • Minimum: >= 0

propertyTable.property.arrayOffsets

The index of the buffer view containing offsets for variable-length arrays. The number of offsets is equal to the property table count plus one. The offsets represent the start positions of each array, with the last offset representing the position after the last array. The array length is computed using the difference between the subsequent offset and the current offset. If type is STRING the offsets index into the string offsets array (stored in stringOffsets), otherwise they index into the property array (stored in values). The data type of these offsets is determined by arrayOffsetType. The buffer view byteOffset shall be aligned to a multiple of the arrayOffsetType size.

  • Type: integer

  • Required: No

  • Minimum: >= 0

propertyTable.property.stringOffsets

The index of the buffer view containing offsets for strings. The number of offsets is equal to the number of string elements plus one. The offsets represent the byte offsets of each string in the property array (stored in values), with the last offset representing the byte offset after the last string. The string byte length is computed using the difference between the subsequent offset and the current offset. The data type of these offsets is determined by stringOffsetType. The buffer view byteOffset shall be aligned to a multiple of the stringOffsetType size.

  • Type: integer

  • Required: No

  • Minimum: >= 0

propertyTable.property.arrayOffsetType

The type of values in arrayOffsets.

  • Type: string

  • Required: No, default: UINT32

  • Allowed values:

    • "UINT8"

    • "UINT16"

    • "UINT32"

    • "UINT64"

propertyTable.property.stringOffsetType

The type of values in stringOffsets.

  • Type: string

  • Required: No, default: UINT32

  • Allowed values:

    • "UINT8"

    • "UINT16"

    • "UINT32"

    • "UINT64"

propertyTable.property.offset

An offset to apply to property values. Only applicable when the component type is FLOAT32 or FLOAT64, or when the property is normalized. Overrides the class property’s offset if both are defined.

propertyTable.property.scale

A scale to apply to property values. Only applicable when the component type is FLOAT32 or FLOAT64, or when the property is normalized. Overrides the class property’s scale if both are defined.

propertyTable.property.max

Maximum value present in the property values. Only applicable to SCALAR, VECN, and MATN types. This is the maximum of all property values, after the transforms based on the normalized, offset, and scale properties have been applied.

propertyTable.property.min

Minimum value present in the property values. Only applicable to SCALAR, VECN, and MATN types. This is the minimum of all property values, after the transforms based on the normalized, offset, and scale properties have been applied.

propertyTable.property.extensions

Dictionary object with extension-specific objects.

  • Type: extension

  • Required: No

  • Additional properties are allowed.

  • Type of each property: object

propertyTable.property.extras

Application-specific data.

Root Property

A basis for storing extensions and extras.

Table 24. Root Property Properties
Type Description Required

extensions

extension

Dictionary object with extension-specific objects.

No

extras

extras

Application-specific data.

No

rootProperty.extensions

Dictionary object with extension-specific objects.

  • Type: extension

  • Required: No

  • Additional properties are allowed.

  • Type of each property: object

rootProperty.extras

Application-specific data.

Schema

An object defining classes and enums.

Table 25. Schema Properties
Type Description Required

id

string

Unique identifier for the schema. Schema IDs shall be alphanumeric identifiers matching the regular expression ^[a-zA-Z_][a-zA-Z0-9_]*$.

✓ Yes

name

string

The name of the schema, e.g. for display purposes.

No

description

string

The description of the schema.

No

version

string

Application-specific version of the schema.

No

classes

object

A dictionary, where each key is a class ID and each value is an object defining the class. Class IDs shall be alphanumeric identifiers matching the regular expression ^[a-zA-Z_][a-zA-Z0-9_]*$.

No

enums

object

A dictionary, where each key is an enum ID and each value is an object defining the values for the enum. Enum IDs shall be alphanumeric identifiers matching the regular expression ^[a-zA-Z_][a-zA-Z0-9_]*$.

No

extensions

extension

Dictionary object with extension-specific objects.

No

extras

extras

Application-specific data.

No

schema.id

Unique identifier for the schema. Schema IDs shall be alphanumeric identifiers matching the regular expression ^[a-zA-Z_][a-zA-Z0-9_]*$.

  • Type: string

  • Required: ✓ Yes

  • Pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$

schema.name

The name of the schema, e.g. for display purposes.

  • Type: string

  • Required: No

  • Minimum Length: >= 1

schema.description

The description of the schema.

  • Type: string

  • Required: No

  • Minimum Length: >= 1

schema.version

Application-specific version of the schema.

  • Type: string

  • Required: No

  • Minimum Length: >= 1

schema.classes

A dictionary, where each key is a class ID and each value is an object defining the class. Class IDs shall be alphanumeric identifiers matching the regular expression ^[a-zA-Z_][a-zA-Z0-9_]*$.

  • Type: object

  • Required: No

  • Minimum number of properties: 1

  • Additional properties are allowed.

  • Type of each property: class

schema.enums

A dictionary, where each key is an enum ID and each value is an object defining the values for the enum. Enum IDs shall be alphanumeric identifiers matching the regular expression ^[a-zA-Z_][a-zA-Z0-9_]*$.

  • Type: object

  • Required: No

  • Minimum number of properties: 1

  • Additional properties are allowed.

  • Type of each property: enum

schema.extensions

Dictionary object with extension-specific objects.

  • Type: extension

  • Required: No

  • Additional properties are allowed.

  • Type of each property: object

schema.extras

Application-specific data.

Statistics

Statistics about entities.

Table 26. Statistics Properties
Type Description Required

classes

object

A dictionary, where each key corresponds to a class ID in the classes dictionary of the metatata schema that was defined for the tileset that contains these statistics. Each value is an object containing statistics about entities that conform to the class.

No

extensions

extension

Dictionary object with extension-specific objects.

No

extras

extras

Application-specific data.

No

statistics.classes

A dictionary, where each key corresponds to a class ID in the classes dictionary of the metatata schema that was defined for the tileset that contains these statistics. Each value is an object containing statistics about entities that conform to the class.

  • Type: object

  • Required: No

  • Minimum number of properties: 1

  • Additional properties are allowed.

  • Type of each property: statistics.class

statistics.extensions

Dictionary object with extension-specific objects.

  • Type: extension

  • Required: No

  • Additional properties are allowed.

  • Type of each property: object

statistics.extras

Application-specific data.

Class Statistics

Statistics about entities that conform to a class that was defined in a metadata schema.

Table 27. Class Statistics Properties
Type Description Required

count

integer

The number of entities that conform to the class.

No

properties

object

A dictionary, where each key corresponds to a property ID in the class' properties dictionary and each value is an object containing statistics about property values.

No

extensions

extension

Dictionary object with extension-specific objects.

No

extras

extras

Application-specific data.

No

statistics.class.count

The number of entities that conform to the class.

  • Type: integer

  • Required: No

  • Minimum: >= 0

statistics.class.properties

A dictionary, where each key corresponds to a property ID in the class' properties dictionary and each value is an object containing statistics about property values.

  • Type: object

  • Required: No

  • Minimum number of properties: 1

  • Additional properties are allowed.

  • Type of each property: statistics.class.property

statistics.class.extensions

Dictionary object with extension-specific objects.

  • Type: extension

  • Required: No

  • Additional properties are allowed.

  • Type of each property: object

statistics.class.extras

Application-specific data.

Property Statistics

Statistics about property values.

Table 28. Property Statistics Properties
Type Description Required

min

definitions-definitions-numericValue

The minimum property value occurring in the tileset. Only applicable to SCALAR, VECN, and MATN types. This is the minimum of all property values, after the transforms based on the normalized, offset, and scale properties have been applied.

No

max

definitions-definitions-numericValue

The maximum property value occurring in the tileset. Only applicable to SCALAR, VECN, and MATN types. This is the maximum of all property values, after the transforms based on the normalized, offset, and scale properties have been applied.

No

mean

definitions-definitions-numericValue

The arithmetic mean of property values occurring in the tileset. Only applicable to SCALAR, VECN, and MATN types. This is the mean of all property values, after the transforms based on the normalized, offset, and scale properties have been applied.

No

median

definitions-definitions-numericValue

The median of property values occurring in the tileset. Only applicable to SCALAR, VECN, and MATN types. This is the median of all property values, after the transforms based on the normalized, offset, and scale properties have been applied.

No

standardDeviation

definitions-definitions-numericValue

The standard deviation of property values occurring in the tileset. Only applicable to SCALAR, VECN, and MATN types. This is the standard deviation of all property values, after the transforms based on the normalized, offset, and scale properties have been applied.

No

variance

definitions-definitions-numericValue

The variance of property values occurring in the tileset. Only applicable to SCALAR, VECN, and MATN types. This is the variance of all property values, after the transforms based on the normalized, offset, and scale properties have been applied.

No

sum

definitions-definitions-numericValue

The sum of property values occurring in the tileset. Only applicable to SCALAR, VECN, and MATN types. This is the sum of all property values, after the transforms based on the normalized, offset, and scale properties have been applied.

No

occurrences

object

A dictionary, where each key corresponds to an enum name and each value is the number of occurrences of that enum. Only applicable when type is ENUM. For fixed-length arrays, this is an array of component-wise occurrences.

No

extensions

extension

Dictionary object with extension-specific objects.

No

extras

extras

Application-specific data.

No

statistics.class.property.min

The minimum property value occurring in the tileset. Only applicable to SCALAR, VECN, and MATN types. This is the minimum of all property values, after the transforms based on the normalized, offset, and scale properties have been applied.

statistics.class.property.max

The maximum property value occurring in the tileset. Only applicable to SCALAR, VECN, and MATN types. This is the maximum of all property values, after the transforms based on the normalized, offset, and scale properties have been applied.

statistics.class.property.mean

The arithmetic mean of property values occurring in the tileset. Only applicable to SCALAR, VECN, and MATN types. This is the mean of all property values, after the transforms based on the normalized, offset, and scale properties have been applied.

statistics.class.property.median

The median of property values occurring in the tileset. Only applicable to SCALAR, VECN, and MATN types. This is the median of all property values, after the transforms based on the normalized, offset, and scale properties have been applied.

statistics.class.property.standardDeviation

The standard deviation of property values occurring in the tileset. Only applicable to SCALAR, VECN, and MATN types. This is the standard deviation of all property values, after the transforms based on the normalized, offset, and scale properties have been applied.

statistics.class.property.variance

The variance of property values occurring in the tileset. Only applicable to SCALAR, VECN, and MATN types. This is the variance of all property values, after the transforms based on the normalized, offset, and scale properties have been applied.

statistics.class.property.sum

The sum of property values occurring in the tileset. Only applicable to SCALAR, VECN, and MATN types. This is the sum of all property values, after the transforms based on the normalized, offset, and scale properties have been applied.

statistics.class.property.occurrences

A dictionary, where each key corresponds to an enum name and each value is the number of occurrences of that enum. Only applicable when type is ENUM. For fixed-length arrays, this is an array of component-wise occurrences.

  • Type: object

  • Required: No

  • Minimum number of properties: 1

  • Additional properties are allowed.

  • Type of each property: integer

statistics.class.property.extensions

Dictionary object with extension-specific objects.

  • Type: extension

  • Required: No

  • Additional properties are allowed.

  • Type of each property: object

statistics.class.property.extras

Application-specific data.

Style

A 3D Tiles style.

Table 29. Style Properties
Type Description Required

defines

object

A dictionary object of expression strings mapped to a variable name key that may be referenced throughout the style. If an expression references a defined variable, it is replaced with the evaluated result of the corresponding expression.

No

show

One of style.booleanExpression, style.conditions

A boolean expression or conditions property which determines if a feature should be shown.

No, default: true

color

One of style.colorExpression, style.conditions

A color expression or conditions property which determines the color blended with the feature’s intrinsic color.

No, default: color('#FFFFFF')

meta

style.meta

A meta object which determines the values of non-visual properties of the feature.

No

extensions

extension

Dictionary object with extension-specific objects.

No

extras

extras

Application-specific data.

No

style.defines

A dictionary object of expression strings mapped to a variable name key that may be referenced throughout the style. If an expression references a defined variable, it is replaced with the evaluated result of the corresponding expression.

  • Type: object

  • Required: No

  • Additional properties are allowed.

  • Type of each property: style.expression

style.show

A boolean expression or conditions property which determines if a feature should be shown.

style.color

A color expression or conditions property which determines the color blended with the feature’s intrinsic color.

style.meta

A meta object which determines the values of non-visual properties of the feature.

style.extensions

Dictionary object with extension-specific objects.

  • Type: extension

  • Required: No

  • Additional properties are allowed.

  • Type of each property: object

style.extras

Application-specific data.

Boolean Expression

A boolean or string with a 3D Tiles style expression that evaluates to a boolean. Details are described in the 3D Tiles Styling specification.

Color Expression

3D Tiles style expression that evaluates to a Color. Details are described in the 3D Tiles Styling specification.

Conditions

A series of conditions evaluated in order, like a series of if…​else statements that result in an expression being evaluated.

Table 30. Conditions Properties
Type Description Required

conditions

style.conditions.condition []

A series of boolean conditions evaluated in order. For the first one that evaluates to true, its value, the 'result' (which is also an expression), is evaluated and returned. Result expressions shall all be the same type. If no condition evaluates to true, the result is undefined. When conditions is undefined, null, or an empty object, the result is undefined.

No

extensions

extension

Dictionary object with extension-specific objects.

No

extras

extras

Application-specific data.

No

style.conditions.conditions

A series of boolean conditions evaluated in order. For the first one that evaluates to true, its value, the 'result' (which is also an expression), is evaluated and returned. Result expressions shall all be the same type. If no condition evaluates to true, the result is undefined. When conditions is undefined, null, or an empty object, the result is undefined.

style.conditions.extensions

Dictionary object with extension-specific objects.

  • Type: extension

  • Required: No

  • Additional properties are allowed.

  • Type of each property: object

style.conditions.extras

Application-specific data.

Condition

An expression evaluated as the result of a condition being true. An array of two expressions. If the first expression is evaluated and the result is true, then the second expression is evaluated and returned as the result of the condition.

Expression

A valid 3D Tiles style expression. Details are described in the 3D Tiles Styling specification.

Meta

A series of property names and the expression to evaluate for the value of that property.

Table 31. Meta Properties
Type Description Required

extensions

extension

Dictionary object with extension-specific objects.

No

extras

extras

Application-specific data.

No

style.meta.extensions

Dictionary object with extension-specific objects.

  • Type: extension

  • Required: No

  • Additional properties are allowed.

  • Type of each property: object

style.meta.extras

Application-specific data.

Subtree

An object describing the availability of tiles and content in a subtree, as well as availability of children subtrees. May also store metadata for available tiles and content.

Table 32. Subtree Properties
Type Description Required

buffers

buffer [1-*]

An array of buffers.

No

bufferViews

bufferView [1-*]

An array of buffer views.

No

propertyTables

propertyTable [1-*]

An array of property tables.

No

tileAvailability

availability

The availability of tiles in the subtree. The availability bitstream is a 1D boolean array where tiles are ordered by their level in the subtree and Morton index within that level. A tile’s availability is determined by a single bit, 1 meaning a tile exists at that spatial index, and 0 meaning it does not. The number of elements in the array is (N^subtreeLevels - 1)/(N - 1) where N is 4 for subdivision scheme QUADTREE and 8 for OCTREE. Availability may be stored in a buffer view or as a constant value that applies to all tiles. If a non-root tile’s availability is 1 its parent tile’s availability shall also be 1. tileAvailability.constant: 0 is disallowed, as subtrees shall have at least one tile.

✓ Yes

contentAvailability

availability [1-*]

An array of content availability objects. If the tile has a single content this array will have one element; if the tile has multiple contents - as supported by 3DTILES_multiple_contents and 3D Tiles 1.1 - this array will have multiple elements.

No

childSubtreeAvailability

availability

The availability of children subtrees. The availability bitstream is a 1D boolean array where subtrees are ordered by their Morton index in the level of the tree immediately below the bottom row of the subtree. A child subtree’s availability is determined by a single bit, 1 meaning a subtree exists at that spatial index, and 0 meaning it does not. The number of elements in the array is N^subtreeLevels where N is 4 for subdivision scheme QUADTREE and 8 for OCTREE. Availability may be stored in a buffer view or as a constant value that applies to all child subtrees. If availability is 0 for all child subtrees, then the tileset does not subdivide further.

✓ Yes

tileMetadata

integer

Index of the property table containing tile metadata. Tile metadata only exists for available tiles and is tightly packed by increasing tile index. To access individual tile metadata, implementations may create a mapping from tile indices to tile metadata indices.

No

contentMetadata

integer [1-*]

An array of indexes to property tables containing content metadata. If the tile has a single content this array will have one element; if the tile has multiple contents - as supported by 3DTILES_multiple_contents and 3D Tiles 1.1 - this array will have multiple elements. Content metadata only exists for available contents and is tightly packed by increasing tile index. To access individual content metadata, implementations may create a mapping from tile indices to content metadata indices.

No

subtreeMetadata

metadataEntity

Subtree metadata encoded in JSON.

No

extensions

extension

Dictionary object with extension-specific objects.

No

extras

extras

Application-specific data.

No

subtree.buffers

An array of buffers.

  • Type: buffer [1-*]

  • Required: No

subtree.bufferViews

An array of buffer views.

subtree.propertyTables

An array of property tables.

subtree.tileAvailability

The availability of tiles in the subtree. The availability bitstream is a 1D boolean array where tiles are ordered by their level in the subtree and Morton index within that level. A tile’s availability is determined by a single bit, 1 meaning a tile exists at that spatial index, and 0 meaning it does not. The number of elements in the array is (N^subtreeLevels - 1)/(N - 1) where N is 4 for subdivision scheme QUADTREE and 8 for OCTREE. Availability may be stored in a buffer view or as a constant value that applies to all tiles. If a non-root tile’s availability is 1 its parent tile’s availability shall also be 1. tileAvailability.constant: 0 is disallowed, as subtrees shall have at least one tile.

subtree.contentAvailability

An array of content availability objects. If the tile has a single content this array will have one element; if the tile has multiple contents - as supported by 3DTILES_multiple_contents and 3D Tiles 1.1 - this array will have multiple elements.

subtree.childSubtreeAvailability

The availability of children subtrees. The availability bitstream is a 1D boolean array where subtrees are ordered by their Morton index in the level of the tree immediately below the bottom row of the subtree. A child subtree’s availability is determined by a single bit, 1 meaning a subtree exists at that spatial index, and 0 meaning it does not. The number of elements in the array is N^subtreeLevels where N is 4 for subdivision scheme QUADTREE and 8 for OCTREE. Availability may be stored in a buffer view or as a constant value that applies to all child subtrees. If availability is 0 for all child subtrees, then the tileset does not subdivide further.

subtree.tileMetadata

Index of the property table containing tile metadata. Tile metadata only exists for available tiles and is tightly packed by increasing tile index. To access individual tile metadata, implementations may create a mapping from tile indices to tile metadata indices.

  • Type: integer

  • Required: No

  • Minimum: >= 0

subtree.contentMetadata

An array of indexes to property tables containing content metadata. If the tile has a single content this array will have one element; if the tile has multiple contents - as supported by 3DTILES_multiple_contents and 3D Tiles 1.1 - this array will have multiple elements. Content metadata only exists for available contents and is tightly packed by increasing tile index. To access individual content metadata, implementations may create a mapping from tile indices to content metadata indices.

  • Type: integer [1-*]

    • Each element in the array shall be greater than or equal to 0.

  • Required: No

subtree.subtreeMetadata

Subtree metadata encoded in JSON.

subtree.extensions

Dictionary object with extension-specific objects.

  • Type: extension

  • Required: No

  • Additional properties are allowed.

  • Type of each property: object

subtree.extras

Application-specific data.

Subtrees

An object describing the location of subtree files.

Table 33. Subtrees Properties
Type Description Required

uri

templateUri

A template URI pointing to subtree files. A subtree is a fixed-depth (defined by subtreeLevels) portion of the tree to keep memory use bounded. The URI of each file is substituted with the subtree root’s global level, x, and y. For subdivision scheme OCTREE, z shall also be given. Relative paths are relative to the tileset JSON.

✓ Yes

extensions

extension

Dictionary object with extension-specific objects.

No

extras

extras

Application-specific data.

No

subtrees.uri

A template URI pointing to subtree files. A subtree is a fixed-depth (defined by subtreeLevels) portion of the tree to keep memory use bounded. The URI of each file is substituted with the subtree root’s global level, x, and y. For subdivision scheme OCTREE, z shall also be given. Relative paths are relative to the tileset JSON.

subtrees.extensions

Dictionary object with extension-specific objects.

  • Type: extension

  • Required: No

  • Additional properties are allowed.

  • Type of each property: object

subtrees.extras

Application-specific data.

Template URI

A URI with embedded expressions that describes the resource that is associated with an implicit tile in an implicit tileset. Allowed expressions are {level}, {x}, {y}, and {z}. {level} is substituted with the level of the node, {x} is substituted with the x index of the node within the level, and {y} is substituted with the y index of the node within the level. {z} may only be given when the subdivision scheme is OCTREE, and it is substituted with the z index of the node within the level.

Tile

A tile in a 3D Tiles tileset.

Table 34. Tile Properties
Type Description Required

boundingVolume

boundingVolume

The bounding volume that encloses the tile.

✓ Yes

viewerRequestVolume

boundingVolume

Optional bounding volume that defines the volume the viewer shall be inside of before the tile’s content will be requested and before the tile will be refined based on geometricError.

No

geometricError

number

The error, in meters, introduced if this tile is rendered and its children are not. At runtime, the geometric error is used to compute screen space error (SSE), i.e., the error measured in pixels.

✓ Yes

refine

string

Specifies if additive or replacement refinement is used when traversing the tileset for rendering. This property is required for the root tile of a tileset; it is optional for all other tiles. The default is to inherit from the parent tile.

No

transform

number [16]

A floating-point 4x4 affine transformation matrix, stored in column-major order, that transforms the tile’s content—​i.e., its features as well as content.boundingVolume, boundingVolume, and viewerRequestVolume—​from the tile’s local coordinate system to the parent tile’s coordinate system, or, in the case of a root tile, from the tile’s local coordinate system to the tileset’s coordinate system. transform does not apply to any volume property when the volume is a region, defined in EPSG:4979 coordinates. transform scales the geometricError by the maximum scaling factor from the matrix.

No, default: [1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]

content

content

Metadata about the tile’s content and a link to the content. When this is omitted the tile is just used for culling. When this is defined, then contents shall be undefined.

No

contents

content [1-*]

An array of contents. When this is defined, then content shall be undefined.

No

metadata

metadataEntity

A metadata entity that is associated with this tile.

No

implicitTiling

tile.implicitTiling

An object that describes the implicit subdivision of this tile.

No

children

tile [1-*]

An array of objects that define child tiles. Each child tile content is fully enclosed by its parent tile’s bounding volume and, generally, has a geometricError less than its parent tile’s geometricError. For leaf tiles, there are no children, and this property may not be defined.

No

extensions

extension

Dictionary object with extension-specific objects.

No

extras

extras

Application-specific data.

No

tile.boundingVolume

The bounding volume that encloses the tile.

  • Type: boundingVolume

  • Required: ✓ Yes

  • Minimum number of properties: 1

tile.viewerRequestVolume

Optional bounding volume that defines the volume the viewer shall be inside of before the tile’s content will be requested and before the tile will be refined based on geometricError.

tile.geometricError

The error, in meters, introduced if this tile is rendered and its children are not. At runtime, the geometric error is used to compute screen space error (SSE), i.e., the error measured in pixels.

  • Type: number

  • Required: ✓ Yes

  • Minimum: >= 0

tile.refine

Specifies if additive or replacement refinement is used when traversing the tileset for rendering. This property is required for the root tile of a tileset; it is optional for all other tiles. The default is to inherit from the parent tile.

  • Type: string

  • Required: No

  • Allowed values:

    • "ADD"

    • "REPLACE"

tile.transform

A floating-point 4x4 affine transformation matrix, stored in column-major order, that transforms the tile’s content—​i.e., its features as well as content.boundingVolume, boundingVolume, and viewerRequestVolume—​from the tile’s local coordinate system to the parent tile’s coordinate system, or, in the case of a root tile, from the tile’s local coordinate system to the tileset’s coordinate system. transform does not apply to any volume property when the volume is a region, defined in EPSG:4979 coordinates. transform scales the geometricError by the maximum scaling factor from the matrix.

  • Type: number [16]

  • Required: No, default: [1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]

tile.content

Metadata about the tile’s content and a link to the content. When this is omitted the tile is just used for culling. When this is defined, then contents shall be undefined.

tile.contents

An array of contents. When this is defined, then content shall be undefined.

tile.metadata

A metadata entity that is associated with this tile.

tile.implicitTiling

An object that describes the implicit subdivision of this tile.

tile.children

An array of objects that define child tiles. Each child tile content is fully enclosed by its parent tile’s bounding volume and, generally, has a geometricError less than its parent tile’s geometricError. For leaf tiles, there are no children, and this property may not be defined.

  • Type: tile [1-*]

    • Each element in the array shall be unique.

  • Required: No

tile.extensions

Dictionary object with extension-specific objects.

  • Type: extension

  • Required: No

  • Additional properties are allowed.

  • Type of each property: object

tile.extras

Application-specific data.

Implicit tiling

This object allows a tile to be implicitly subdivided. Tile and content availability and metadata is stored in subtrees which are referenced externally.

Table 35. Implicit tiling Properties
Type Description Required

subdivisionScheme

string

A string describing the subdivision scheme used within the tileset.

✓ Yes

subtreeLevels

integer

The number of distinct levels in each subtree. For example, a quadtree with subtreeLevels = 2 will have subtrees with 5 nodes (one root and 4 children).

✓ Yes

availableLevels

integer

The numbers of the levels in the tree with available tiles.

✓ Yes

subtrees

subtrees

An object describing the location of subtree files.

✓ Yes

extensions

extension

Dictionary object with extension-specific objects.

No

extras

extras

Application-specific data.

No

tile.implicitTiling.subdivisionScheme

A string describing the subdivision scheme used within the tileset.

  • Type: string

  • Required: ✓ Yes

  • Allowed values:

    • "QUADTREE"

    • "OCTREE"

tile.implicitTiling.subtreeLevels

The number of distinct levels in each subtree. For example, a quadtree with subtreeLevels = 2 will have subtrees with 5 nodes (one root and 4 children).

  • Type: integer

  • Required: ✓ Yes

  • Minimum: >= 1

tile.implicitTiling.availableLevels

The numbers of the levels in the tree with available tiles.

  • Type: integer

  • Required: ✓ Yes

  • Minimum: >= 1

tile.implicitTiling.subtrees

An object describing the location of subtree files.

tile.implicitTiling.extensions

Dictionary object with extension-specific objects.

  • Type: extension

  • Required: No

  • Additional properties are allowed.

  • Type of each property: object

tile.implicitTiling.extras

Application-specific data.

Tileset

A 3D Tiles tileset.

Table 36. Tileset Properties
Type Description Required

asset

asset

Metadata about the entire tileset.

✓ Yes

properties

object

A dictionary object of metadata about per-feature properties.

No

schema

schema

An object defining the structure of metadata classes and enums. When this is defined, then schemaUri shall be undefined.

No

schemaUri

string

The URI (or IRI) of the external schema file. When this is defined, then schema shall be undefined.

No

statistics

statistics

An object containing statistics about metadata entities.

No

groups

group [1-*]

An array of groups that tile content may belong to. Each element of this array is a metadata entity that describes the group. The tile content group property is an index into this array.

No

metadata

metadataEntity

A metadata entity that is associated with this tileset.

No

geometricError

number

The error, in meters, introduced if this tileset is not rendered. At runtime, the geometric error is used to compute screen space error (SSE), i.e., the error measured in pixels.

✓ Yes

root

tile

The root tile.

✓ Yes

extensionsUsed

string [1-*]

Names of 3D Tiles extensions used somewhere in this tileset.

No

extensionsRequired

string [1-*]

Names of 3D Tiles extensions required to properly load this tileset. Each element of this array shall also be contained in extensionsUsed.

No

extensions

extension

Dictionary object with extension-specific objects.

No

extras

extras

Application-specific data.

No

tileset.asset

Metadata about the entire tileset.

  • Type: asset

  • Required: ✓ Yes

tileset.properties

A dictionary object of metadata about per-feature properties.

  • Type: object

  • Required: No

  • Additional properties are allowed.

  • Type of each property: properties

tileset.schema

An object defining the structure of metadata classes and enums. When this is defined, then schemaUri shall be undefined.

tileset.schemaUri

The URI (or IRI) of the external schema file. When this is defined, then schema shall be undefined.

  • Type: string

  • Required: No

  • Format: iri-reference

tileset.statistics

An object containing statistics about metadata entities.

tileset.groups

An array of groups that tile content may belong to. Each element of this array is a metadata entity that describes the group. The tile content group property is an index into this array.

  • Type: group [1-*]

  • Required: No

tileset.metadata

A metadata entity that is associated with this tileset.

tileset.geometricError

The error, in meters, introduced if this tileset is not rendered. At runtime, the geometric error is used to compute screen space error (SSE), i.e., the error measured in pixels.

  • Type: number

  • Required: ✓ Yes

  • Minimum: >= 0

tileset.root

The root tile.

  • Type: tile

  • Required: ✓ Yes

tileset.extensionsUsed

Names of 3D Tiles extensions used somewhere in this tileset.

  • Type: string [1-*]

    • Each element in the array shall be unique.

  • Required: No

tileset.extensionsRequired

Names of 3D Tiles extensions required to properly load this tileset. Each element of this array shall also be contained in extensionsUsed.

  • Type: string [1-*]

    • Each element in the array shall be unique.

  • Required: No

tileset.extensions

Dictionary object with extension-specific objects.

  • Type: extension

  • Required: No

  • Additional properties are allowed.

  • Type of each property: object

tileset.extras

Application-specific data.