Metadata about the entire tileset.
Asset
Properties
Type | Description | Required | |
---|---|---|---|
version |
|
The 3D Tiles version. The version defines the JSON schema for the tileset JSON and the base set of tile formats. |
✓ Yes |
tilesetVersion |
|
Application-specific version of this tileset, e.g., for when an existing tileset is updated. |
No |
extensions |
Dictionary object with extension-specific objects. |
No |
|
extras |
Application-specific data. |
No |
-
Additional properties are allowed.
-
JSON schema:
asset.schema.json
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
Application-specific version of this tileset, e.g., for when an existing tileset is updated.
-
Type:
string
-
Required: No
Dictionary object with extension-specific objects.
-
Type:
extension
-
Required: No
-
Additional properties are allowed.
-
Type of each property:
object
Application-specific data.
-
Type:
extras
-
Required: No
An object describing the availability of a set of elements.
Availability
Properties
Type | Description | Required | |
---|---|---|---|
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. |
No |
availableCount |
|
A number indicating how many 1 bits exist in the availability bitstream. |
No |
constant |
|
Integer indicating whether all of the elements are available (1) or all are unavailable (0). |
No |
extensions |
Dictionary object with extension-specific objects. |
No |
|
extras |
Application-specific data. |
No |
-
Additional properties are allowed.
-
JSON schema:
availability.schema.json
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
A number indicating how many 1 bits exist in the availability bitstream.
-
Type:
integer
-
Required: No
-
Minimum:
>= 0
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
-
Dictionary object with extension-specific objects.
-
Type:
extension
-
Required: No
-
Additional properties are allowed.
-
Type of each property:
object
Application-specific data.
-
Type:
extras
-
Required: No
A set of Batched 3D Model semantics that contain additional information about features in a tile.
Batched 3D Model Feature Table
Properties
Type | Description | Required | |
---|---|---|---|
BATCH_LENGTH |
A |
✓ Yes |
|
RTC_CENTER |
A |
No |
|
extensions |
Dictionary object with extension-specific objects. |
No |
|
extras |
Application-specific data. |
No |
-
Additional properties are allowed.
-
JSON schema:
b3dm.featureTable.schema.json
A GlobalPropertyInteger
object defining an integer property for all features. Details about this property are described in the 3D Tiles specification.
-
Required: ✓ Yes
A GlobalPropertyCartesian3
object defining a 3-component numeric property for all features. Details about this property are described in the 3D Tiles specification.
-
Required: No
Dictionary object with extension-specific objects.
-
Type:
extension
-
Required: No
-
Additional properties are allowed.
-
Type of each property:
object
Application-specific data.
-
Type:
extras
-
Required: No
A set of properties defining application-specific metadata for features in a tile.
Batch Table
Properties
Type | Description | Required | |
---|---|---|---|
extensions |
Dictionary object with extension-specific objects. |
No |
|
extras |
Application-specific data. |
No |
-
Additional properties are allowed.
-
Type of additional properties:
batchTable-definitions-property
-
JSON schema:
batchTable.schema.json
Dictionary object with extension-specific objects.
-
Type:
extension
-
Required: No
-
Additional properties are allowed.
-
Type of each property:
object
Application-specific data.
-
Type:
extras
-
Required: No
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.
-
Type:
rootProperty
BinaryBodyReference
Properties
Type | Description | Required | |
---|---|---|---|
byteOffset |
|
The offset into the buffer in bytes. |
✓ Yes |
componentType |
|
The datatype of components in the property. |
✓ Yes |
type |
|
Specifies if the property is a scalar or vector. |
✓ Yes |
extensions |
Dictionary object with extension-specific objects. |
No |
|
extras |
Application-specific data. |
No |
-
Additional properties are allowed.
The offset into the buffer in bytes.
-
Type:
integer
-
Required: ✓ Yes
-
Minimum:
>= 0
The datatype of components in the property.
-
Type:
string
-
Required: ✓ Yes
-
Allowed values:
-
"BYTE"
-
"UNSIGNED_BYTE"
-
"SHORT"
-
"UNSIGNED_SHORT"
-
"INT"
-
"UNSIGNED_INT"
-
"FLOAT"
-
"DOUBLE"
-
Specifies if the property is a scalar or vector.
-
Type:
string
-
Required: ✓ Yes
-
Allowed values:
-
"SCALAR"
-
"VEC2"
-
"VEC3"
-
"VEC4"
-
Dictionary object with extension-specific objects.
-
Type:
extension
-
Required: No
-
Additional properties are allowed.
-
Type of each property:
object
Application-specific data.
-
Type:
extras
-
Required: No
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.
-
Type: One of
batchTable-definitions-binaryBodyReference
,array
-
Additional properties are allowed.
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
.
Bounding Volume
Properties
Type | Description | Required | |
---|---|---|---|
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. |
No |
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'. |
No |
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. |
No |
extensions |
Dictionary object with extension-specific objects. |
No |
|
extras |
Application-specific data. |
No |
-
Additional properties are allowed.
-
JSON schema:
boundingVolume.schema.json
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
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
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
Dictionary object with extension-specific objects.
-
Type:
extension
-
Required: No
-
Additional properties are allowed.
-
Type of each property:
object
Application-specific data.
-
Type:
extras
-
Required: No
A buffer is a binary blob. It is either the binary chunk of the subtree file, or an external buffer referenced by a URI.
Buffer
Properties
Type | Description | Required | |
---|---|---|---|
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. |
No |
byteLength |
|
The length of the buffer in bytes. |
✓ Yes |
name |
|
The name of the buffer. |
No |
extensions |
Dictionary object with extension-specific objects. |
No |
|
extras |
Application-specific data. |
No |
-
Additional properties are allowed.
-
JSON schema:
buffer.schema.json
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
Dictionary object with extension-specific objects.
-
Type:
extension
-
Required: No
-
Additional properties are allowed.
-
Type of each property:
object
Application-specific data.
-
Type:
extras
-
Required: No
A contiguous subset of a buffer
Buffer View
Properties
Type | Description | Required | |
---|---|---|---|
buffer |
|
The index of the buffer. |
✓ Yes |
byteOffset |
|
The offset into the buffer in bytes. |
✓ Yes |
byteLength |
|
The total byte length of the buffer view. |
✓ Yes |
name |
|
The name of the |
No |
extensions |
Dictionary object with extension-specific objects. |
No |
|
extras |
Application-specific data. |
No |
-
Additional properties are allowed.
-
JSON schema:
bufferView.schema.json
The offset into the buffer in bytes.
-
Type:
integer
-
Required: ✓ Yes
-
Minimum:
>= 0
The total byte length of the buffer view.
-
Type:
integer
-
Required: ✓ Yes
-
Minimum:
>= 1
Dictionary object with extension-specific objects.
-
Type:
extension
-
Required: No
-
Additional properties are allowed.
-
Type of each property:
object
Application-specific data.
-
Type:
extras
-
Required: No
A class containing a set of properties.
Class
Properties
Type | Description | Required | |
---|---|---|---|
name |
|
The name of the class, e.g. for display purposes. |
No |
description |
|
The description of the class. |
No |
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 |
No |
extensions |
Dictionary object with extension-specific objects. |
No |
|
extras |
Application-specific data. |
No |
-
Additional properties are allowed.
-
JSON schema:
class.schema.json
The name of the class, e.g. for display purposes.
-
Type:
string
-
Required: No
-
Minimum Length:
>= 1
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
Dictionary object with extension-specific objects.
-
Type:
extension
-
Required: No
-
Additional properties are allowed.
-
Type of each property:
object
Application-specific data.
-
Type:
extras
-
Required: No
A single property of a metadata class.
Class Property
Properties
Type | Description | Required | |
---|---|---|---|
name |
|
The name of the property, e.g. for display purposes. |
No |
description |
|
The description of the property. |
No |
type |
|
The element type. |
✓ Yes |
componentType |
|
The datatype of the element’s components. Required for |
No |
enumType |
|
Enum ID as declared in the |
No |
array |
|
Whether the property is an array. When |
No, default: |
count |
|
The number of array elements. May only be defined when |
No |
normalized |
|
Specifies whether integer values are normalized. Only applicable to |
No, default: |
offset |
An offset to apply to property values. Only applicable to |
No |
|
scale |
A scale to apply to property values. Only applicable to |
No |
|
max |
Maximum allowed value for the property. Only applicable to |
No |
|
min |
Minimum allowed value for the property. Only applicable to |
No |
|
required |
|
If required, the property shall be present in every entity conforming to the class. If not required, individual entities may include |
No, default: |
noData |
A |
No |
|
default |
A default value to use when encountering a |
No |
|
semantic |
|
An identifier that describes how this property should be interpreted. The semantic cannot be used by other properties in the class. |
No |
extensions |
Dictionary object with extension-specific objects. |
No |
|
extras |
Application-specific data. |
No |
-
Additional properties are allowed.
-
JSON schema:
class.property.schema.json
The name of the property, e.g. for display purposes.
-
Type:
string
-
Required: No
-
Minimum Length:
>= 1
The description of the property.
-
Type:
string
-
Required: No
-
Minimum Length:
>= 1
The element type.
-
Type:
string
-
Required: ✓ Yes
-
Allowed values:
-
"SCALAR"
-
"VEC2"
-
"VEC3"
-
"VEC4"
-
"MAT2"
-
"MAT3"
-
"MAT4"
-
"STRING"
-
"BOOLEAN"
-
"ENUM"
-
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"
-
Enum ID as declared in the enums
dictionary. Required when type
is ENUM
. Disallowed when type
is not ENUM
-
Type:
string
-
Required: No
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
The number of array elements. May only be defined when array
is true
.
-
Type:
integer
-
Required: No
-
Minimum:
>= 2
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
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.
-
Required: No
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.
-
Required: No
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.
-
Required: No
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.
-
Required: No
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
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.
-
Required: No
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.
-
Required: No
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
Dictionary object with extension-specific objects.
-
Type:
extension
-
Required: No
-
Additional properties are allowed.
-
Type of each property:
object
Application-specific data.
-
Type:
extras
-
Required: No
Metadata about the tile’s content and a link to the content.
Content
Properties
Type | Description | Required | |
---|---|---|---|
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 |
|
A uri that points to tile content. When the uri is relative, it is relative to the referring tileset JSON file. |
✓ Yes |
metadata |
Metadata that is associated with this content. |
No |
|
group |
|
The group this content belongs to. The value is an index into the array of |
No |
extensions |
Dictionary object with extension-specific objects. |
No |
|
extras |
Application-specific data. |
No |
-
Additional properties are allowed.
-
JSON schema:
content.schema.json
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.
-
Type:
boundingVolume
-
Required: No
-
Minimum number of properties:
1
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
Metadata that is associated with this content.
-
Type:
metadataEntity
-
Required: No
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
Dictionary object with extension-specific objects.
-
Type:
extension
-
Required: No
-
Additional properties are allowed.
-
Type of each property:
object
Application-specific data.
-
Type:
extras
-
Required: No
Common definitions used in schema files.
-
Additional properties are allowed.
-
JSON schema:
definitions.schema.json
An array of numeric values
-
Type:
number
[1-*]
-
Minimum items: 1
-
Additional properties are allowed.
An array of arrays of numeric values
-
Type:
definitions-definitions-numericArray1D
[1-*]
-
Minimum items: 1
-
Additional properties are allowed.
An array of boolean values
-
Type:
boolean
[1-*]
-
Minimum items: 1
-
Additional properties are allowed.
An array of string values
-
Type:
string
[1-*]
-
Minimum items: 1
-
Additional properties are allowed.
For SCALAR
this is a number. For VECN
this is an array of N
numbers. For MATN
this is an array of N²
numbers. For fixed-length arrays this is an array of count
elements of the given type
.
-
Type: One of
number
,definitions-definitions-numericArray1D
,definitions-definitions-numericArray2D
-
Additional properties are allowed.
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 N²
numbers. For fixed-length arrays this is an array of count
elements of the given type
.
-
Type: One of
definitions-definitions-numericValue
,string
,definitions-definitions-stringArray1D
-
Additional properties are allowed.
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 N²
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
.
-
Type: One of
definitions-definitions-numericValue
,string
,definitions-definitions-stringArray1D
,boolean
,definitions-definitions-booleanArray1D
-
Additional properties are allowed.
An object defining the values of an enum.
Enum
Properties
Type | Description | Required | |
---|---|---|---|
name |
|
The name of the enum, e.g. for display purposes. |
No |
description |
|
The description of the enum. |
No |
valueType |
|
The type of the integer enum value. |
No, default: |
values |
|
An array of enum values. Duplicate names or duplicate integer values are not allowed. |
✓ Yes |
extensions |
Dictionary object with extension-specific objects. |
No |
|
extras |
Application-specific data. |
No |
-
Additional properties are allowed.
-
JSON schema:
enum.schema.json
The name of the enum, e.g. for display purposes.
-
Type:
string
-
Required: No
-
Minimum Length:
>= 1
The type of the integer enum value.
-
Type:
string
-
Required: No, default:
UINT16
-
Allowed values:
-
"INT8"
-
"UINT8"
-
"INT16"
-
"UINT16"
-
"INT32"
-
"UINT32"
-
"INT64"
-
"UINT64"
-
An array of enum values. Duplicate names or duplicate integer values are not allowed.
-
Type:
enum.value
[1-*]
-
Required: ✓ Yes
Dictionary object with extension-specific objects.
-
Type:
extension
-
Required: No
-
Additional properties are allowed.
-
Type of each property:
object
Application-specific data.
-
Type:
extras
-
Required: No
An enum value.
Enum value
Properties
Type | Description | Required | |
---|---|---|---|
name |
|
The name of the enum value. |
✓ Yes |
description |
|
The description of the enum value. |
No |
value |
|
The integer enum value. |
✓ Yes |
extensions |
Dictionary object with extension-specific objects. |
No |
|
extras |
Application-specific data. |
No |
-
Additional properties are allowed.
-
JSON schema:
enum.value.schema.json
The description of the enum value.
-
Type:
string
-
Required: No
-
Minimum Length:
>= 1
Dictionary object with extension-specific objects.
-
Type:
extension
-
Required: No
-
Additional properties are allowed.
-
Type of each property:
object
Application-specific data.
-
Type:
extras
-
Required: No
Dictionary object with extension-specific objects.
-
Additional properties are allowed.
-
Type of additional properties:
object
-
JSON schema:
extension.schema.json
Application-specific data.
-
Additional properties are allowed.
-
JSON schema:
extras.schema.json
A set of semantics containing per-tile and per-feature values defining the position and appearance properties for features in a tile.
Feature Table
Properties
Type | Description | Required | |
---|---|---|---|
extensions |
Dictionary object with extension-specific objects. |
No |
|
extras |
Application-specific data. |
No |
-
Additional properties are allowed.
-
Type of additional properties:
featureTable-definitions-property
-
JSON schema:
featureTable.schema.json
Dictionary object with extension-specific objects.
-
Type:
extension
-
Required: No
-
Additional properties are allowed.
-
Type of each property:
object
Application-specific data.
-
Type:
extras
-
Required: No
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.
-
Type:
rootProperty
BinaryBodyOffset
Properties
Type | Description | Required | |
---|---|---|---|
byteOffset |
|
The offset into the buffer in bytes. |
✓ Yes |
extensions |
Dictionary object with extension-specific objects. |
No |
|
extras |
Application-specific data. |
No |
-
Additional properties are allowed.
The offset into the buffer in bytes.
-
Type:
integer
-
Required: ✓ Yes
-
Minimum:
>= 0
Dictionary object with extension-specific objects.
-
Type:
extension
-
Required: No
-
Additional properties are allowed.
-
Type of each property:
object
Application-specific data.
-
Type:
extras
-
Required: No
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.
BinaryBodyReference
Properties
Type | Description | Required | |
---|---|---|---|
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. |
No |
byteOffset |
|
The offset into the buffer in bytes. |
✓ Yes |
extensions |
Dictionary object with extension-specific objects. |
No |
|
extras |
Application-specific data. |
No |
-
Additional properties are allowed.
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"
-
The offset into the buffer in bytes.
-
Type:
integer
-
Required: ✓ Yes
-
Minimum:
>= 0
Dictionary object with extension-specific objects.
-
Type:
extension
-
Required: No
-
Additional properties are allowed.
-
Type of each property:
object
Application-specific data.
-
Type:
extras
-
Required: No
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.
-
Type: One of
featureTable-definitions-binaryBodyReference
,featureTable-definitions-globalPropertyBoolean
,featureTable-definitions-globalPropertyInteger
,featureTable-definitions-globalPropertyNumber
,featureTable-definitions-globalPropertyCartesian3
,featureTable-definitions-globalPropertyCartesian4
-
Additional properties are allowed.
An object defining a global boolean property value for all features.
-
Type:
boolean
-
Additional properties are allowed.
An object defining a global integer property value for all features.
-
Type: One of
featureTable-definitions-binaryBodyOffset
,integer
-
Additional properties are allowed.
An object defining a global numeric property value for all features.
-
Type: One of
featureTable-definitions-binaryBodyOffset
,number
-
Additional properties are allowed.
An object defining a global 3-component numeric property values for all features.
-
Type: One of
featureTable-definitions-binaryBodyOffset
,number
[3]
-
Additional properties are allowed.
An object defining a global 4-component numeric property values for all features.
-
Type: One of
featureTable-definitions-binaryBodyOffset
,number
[4]
-
Additional properties are allowed.
An object containing metadata about a group.
Group Metadata
Properties
Type | Description | Required | |
---|---|---|---|
class |
|
The class that property values conform to. The value shall be a class ID declared in the |
✓ Yes |
properties |
|
A dictionary, where each key corresponds to a property ID in the class' |
No |
extensions |
Dictionary object with extension-specific objects. |
No |
|
extras |
Application-specific data. |
No |
-
Additional properties are allowed.
-
JSON schema:
group.schema.json
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
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.
-
Type:
object
-
Required: No
-
Minimum number of properties:
1
-
Additional properties are allowed.
-
Type of each property:
definitions-definitions-anyValue
Dictionary object with extension-specific objects.
-
Type:
extension
-
Required: No
-
Additional properties are allowed.
-
Type of each property:
object
Application-specific data.
-
Type:
extras
-
Required: No
A set of Instanced 3D Model semantics that contains values defining the position and appearance properties for instanced models in a tile.
Instanced 3D Model Feature Table
Properties
Type | Description | Required | |
---|---|---|---|
POSITION |
A |
No |
|
POSITION_QUANTIZED |
A |
No |
|
NORMAL_UP |
A |
No |
|
NORMAL_RIGHT |
A |
No |
|
NORMAL_UP_OCT32P |
A |
No |
|
NORMAL_RIGHT_OCT32P |
A |
No |
|
SCALE |
A |
No |
|
SCALE_NON_UNIFORM |
A |
No |
|
BATCH_ID |
A |
No |
|
INSTANCES_LENGTH |
A |
✓ Yes |
|
RTC_CENTER |
A |
No |
|
QUANTIZED_VOLUME_OFFSET |
A |
No |
|
QUANTIZED_VOLUME_SCALE |
A |
No |
|
EAST_NORTH_UP |
A |
No |
|
extensions |
Dictionary object with extension-specific objects. |
No |
|
extras |
Application-specific data. |
No |
-
Additional properties are allowed.
-
JSON schema:
i3dm.featureTable.schema.json
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.
-
Required: No
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.
-
Required: No
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.
-
Required: No
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.
-
Required: No
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.
-
Required: No
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.
-
Required: No
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.
-
Required: No
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.
-
Required: No
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.
-
Required: No
A GlobalPropertyInteger
object defining an integer property for all features. Details about this property are described in the 3D Tiles specification.
-
Required: ✓ Yes
A GlobalPropertyCartesian3
object defining a 3-component numeric property for all features. Details about this property are described in the 3D Tiles specification.
-
Required: No
A GlobalPropertyCartesian3
object defining a 3-component numeric property for all features. Details about this property are described in the 3D Tiles specification.
-
Required: No
A GlobalPropertyCartesian3
object defining a 3-component numeric property for all features. Details about this property are described in the 3D Tiles specification.
-
Required: No
A GlobalPropertyBoolean
object defining a boolean property for all features. Details about this property are described in the 3D Tiles specification.
-
Required: No
Dictionary object with extension-specific objects.
-
Type:
extension
-
Required: No
-
Additional properties are allowed.
-
Type of each property:
object
Application-specific data.
-
Type:
extras
-
Required: No
An object containing a reference to a class from a metadata schema, and property values that conform to the properties of that class.
Metadata Entity
Properties
Type | Description | Required | |
---|---|---|---|
class |
|
The class that property values conform to. The value shall be a class ID declared in the |
✓ Yes |
properties |
|
A dictionary, where each key corresponds to a property ID in the class' |
No |
extensions |
Dictionary object with extension-specific objects. |
No |
|
extras |
Application-specific data. |
No |
-
Additional properties are allowed.
-
JSON schema:
metadataEntity.schema.json
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
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.
-
Type:
object
-
Required: No
-
Minimum number of properties:
1
-
Additional properties are allowed.
-
Type of each property:
definitions-definitions-anyValue
Dictionary object with extension-specific objects.
-
Type:
extension
-
Required: No
-
Additional properties are allowed.
-
Type of each property:
object
Application-specific data.
-
Type:
extras
-
Required: No
A set of Point Cloud semantics that contains values defining the position and appearance properties for points in a tile.
Point Cloud Feature Table
Properties
Type | Description | Required | |
---|---|---|---|
POSITION |
A |
No |
|
POSITION_QUANTIZED |
A |
No |
|
RGBA |
A |
No |
|
RGB |
A |
No |
|
RGB565 |
A |
No |
|
NORMAL |
A |
No |
|
NORMAL_OCT16P |
A |
No |
|
BATCH_ID |
A |
No |
|
POINTS_LENGTH |
A |
✓ Yes |
|
RTC_CENTER |
A |
No |
|
QUANTIZED_VOLUME_OFFSET |
A |
No |
|
QUANTIZED_VOLUME_SCALE |
A |
No |
|
CONSTANT_RGBA |
A |
No |
|
BATCH_LENGTH |
A |
No |
|
extensions |
Dictionary object with extension-specific objects. |
No |
|
extras |
Application-specific data. |
No |
-
Additional properties are allowed.
-
JSON schema:
pnts.featureTable.schema.json
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.
-
Required: No
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.
-
Required: No
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.
-
Required: No
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.
-
Required: No
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.
-
Required: No
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.
-
Required: No
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.
-
Required: No
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.
-
Required: No
A GlobalPropertyInteger
object defining an integer property for all points. Details about this property are described in the 3D Tiles specification.
-
Required: ✓ Yes
A GlobalPropertyCartesian3
object defining a 3-component numeric property for all points. Details about this property are described in the 3D Tiles specification.
-
Required: No
A GlobalPropertyCartesian3
object defining a 3-component numeric property for all points. Details about this property are described in the 3D Tiles specification.
-
Required: No
A GlobalPropertyCartesian3
object defining a 3-component numeric property for all points. Details about this property are described in the 3D Tiles specification.
-
Required: No
A GlobalPropertyCartesian4
object defining a 4-component numeric property for all points. Details about this property are described in the 3D Tiles specification.
-
Required: No
A GlobalPropertyInteger
object defining an integer property for all points. Details about this property are described in the 3D Tiles specification.
-
Required: No
Dictionary object with extension-specific objects.
-
Type:
extension
-
Required: No
-
Additional properties are allowed.
-
Type of each property:
object
Application-specific data.
-
Type:
extras
-
Required: No
A dictionary object of metadata about per-feature properties.
Properties
Properties
Type | Description | Required | |
---|---|---|---|
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. |
✓ Yes |
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. |
✓ Yes |
extensions |
Dictionary object with extension-specific objects. |
No |
|
extras |
Application-specific data. |
No |
-
Additional properties are allowed.
-
JSON schema:
properties.schema.json
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
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
Dictionary object with extension-specific objects.
-
Type:
extension
-
Required: No
-
Additional properties are allowed.
-
Type of each property:
object
Application-specific data.
-
Type:
extras
-
Required: No
Properties conforming to a class, organized as property values stored in binary columnar arrays.
Property Table
Properties
Type | Description | Required | |
---|---|---|---|
name |
|
The name of the property table, e.g. for display purposes. |
No |
class |
|
The class that property values conform to. The value shall be a class ID declared in the |
✓ Yes |
count |
|
The number of elements in each property array. |
✓ Yes |
properties |
|
A dictionary, where each key corresponds to a property ID in the class' |
No |
extensions |
Dictionary object with extension-specific objects. |
No |
|
extras |
Application-specific data. |
No |
-
Additional properties are allowed.
-
JSON schema:
propertyTable.schema.json
The name of the property table, e.g. for display purposes.
-
Type:
string
-
Required: No
-
Minimum Length:
>= 1
The class that property values conform to. The value shall be a class ID declared in the classes
dictionary.
-
Type:
string
-
Required: ✓ Yes
The number of elements in each property array.
-
Type:
integer
-
Required: ✓ Yes
-
Minimum:
>= 1
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
Dictionary object with extension-specific objects.
-
Type:
extension
-
Required: No
-
Additional properties are allowed.
-
Type of each property:
object
Application-specific data.
-
Type:
extras
-
Required: No
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.
Property Table Property
Properties
Type | Description | Required | |
---|---|---|---|
values |
|
The index of the buffer view containing property values. The data type of property values is determined by the property definition: When |
✓ Yes |
arrayOffsets |
|
The index of the buffer view containing offsets for variable-length arrays. The number of offsets is equal to the property table |
No |
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 |
No |
arrayOffsetType |
|
The type of values in |
No, default: |
stringOffsetType |
|
The type of values in |
No, default: |
offset |
An offset to apply to property values. Only applicable when the component type is |
No |
|
scale |
A scale to apply to property values. Only applicable when the component type is |
No |
|
max |
Maximum value present in the property values. Only applicable to |
No |
|
min |
Minimum value present in the property values. Only applicable to |
No |
|
extensions |
Dictionary object with extension-specific objects. |
No |
|
extras |
Application-specific data. |
No |
-
Additional properties are allowed.
-
JSON schema:
propertyTable.property.schema.json
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
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
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
The type of values in arrayOffsets
.
-
Type:
string
-
Required: No, default:
UINT32
-
Allowed values:
-
"UINT8"
-
"UINT16"
-
"UINT32"
-
"UINT64"
-
The type of values in stringOffsets
.
-
Type:
string
-
Required: No, default:
UINT32
-
Allowed values:
-
"UINT8"
-
"UINT16"
-
"UINT32"
-
"UINT64"
-
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.
-
Required: No
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.
-
Required: No
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.
-
Required: No
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.
-
Required: No
Dictionary object with extension-specific objects.
-
Type:
extension
-
Required: No
-
Additional properties are allowed.
-
Type of each property:
object
Application-specific data.
-
Type:
extras
-
Required: No
A basis for storing extensions and extras.
Root Property
Properties
Type | Description | Required | |
---|---|---|---|
extensions |
Dictionary object with extension-specific objects. |
No |
|
extras |
Application-specific data. |
No |
-
Additional properties are allowed.
-
JSON schema:
rootProperty.schema.json
Dictionary object with extension-specific objects.
-
Type:
extension
-
Required: No
-
Additional properties are allowed.
-
Type of each property:
object
Application-specific data.
-
Type:
extras
-
Required: No
An object defining classes and enums.
Schema
Properties
Type | Description | Required | |
---|---|---|---|
id |
|
Unique identifier for the schema. Schema IDs shall be alphanumeric identifiers matching the regular expression |
✓ Yes |
name |
|
The name of the schema, e.g. for display purposes. |
No |
description |
|
The description of the schema. |
No |
version |
|
Application-specific version of the schema. |
No |
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 |
No |
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 |
No |
extensions |
Dictionary object with extension-specific objects. |
No |
|
extras |
Application-specific data. |
No |
-
Additional properties are allowed.
-
JSON schema:
schema.schema.json
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_]*$
The name of the schema, e.g. for display purposes.
-
Type:
string
-
Required: No
-
Minimum Length:
>= 1
Application-specific version of the schema.
-
Type:
string
-
Required: No
-
Minimum Length:
>= 1
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
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
Dictionary object with extension-specific objects.
-
Type:
extension
-
Required: No
-
Additional properties are allowed.
-
Type of each property:
object
Application-specific data.
-
Type:
extras
-
Required: No
Statistics about entities.
Statistics
Properties
Type | Description | Required | |
---|---|---|---|
classes |
|
A dictionary, where each key corresponds to a class ID in the |
No |
extensions |
Dictionary object with extension-specific objects. |
No |
|
extras |
Application-specific data. |
No |
-
Additional properties are allowed.
-
JSON schema:
statistics.schema.json
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
Dictionary object with extension-specific objects.
-
Type:
extension
-
Required: No
-
Additional properties are allowed.
-
Type of each property:
object
Application-specific data.
-
Type:
extras
-
Required: No
Statistics about entities that conform to a class that was defined in a metadata schema.
Class Statistics
Properties
Type | Description | Required | |
---|---|---|---|
count |
|
The number of entities that conform to the class. |
No |
properties |
|
A dictionary, where each key corresponds to a property ID in the class' |
No |
extensions |
Dictionary object with extension-specific objects. |
No |
|
extras |
Application-specific data. |
No |
-
Additional properties are allowed.
-
JSON schema:
statistics.class.schema.json
The number of entities that conform to the class.
-
Type:
integer
-
Required: No
-
Minimum:
>= 0
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
Dictionary object with extension-specific objects.
-
Type:
extension
-
Required: No
-
Additional properties are allowed.
-
Type of each property:
object
Application-specific data.
-
Type:
extras
-
Required: No
Statistics about property values.
Property Statistics
Properties
Type | Description | Required | |
---|---|---|---|
min |
The minimum property value occurring in the tileset. Only applicable to |
No |
|
max |
The maximum property value occurring in the tileset. Only applicable to |
No |
|
mean |
The arithmetic mean of property values occurring in the tileset. Only applicable to |
No |
|
median |
The median of property values occurring in the tileset. Only applicable to |
No |
|
standardDeviation |
The standard deviation of property values occurring in the tileset. Only applicable to |
No |
|
variance |
The variance of property values occurring in the tileset. Only applicable to |
No |
|
sum |
The sum of property values occurring in the tileset. Only applicable to |
No |
|
occurrences |
|
A dictionary, where each key corresponds to an enum |
No |
extensions |
Dictionary object with extension-specific objects. |
No |
|
extras |
Application-specific data. |
No |
-
Additional properties are allowed.
-
JSON schema:
statistics.class.property.schema.json
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.
-
Required: No
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.
-
Required: No
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.
-
Required: No
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.
-
Required: No
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.
-
Required: No
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.
-
Required: No
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.
-
Required: No
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
Dictionary object with extension-specific objects.
-
Type:
extension
-
Required: No
-
Additional properties are allowed.
-
Type of each property:
object
Application-specific data.
-
Type:
extras
-
Required: No
A 3D Tiles style.
Style
Properties
Type | Description | Required | |
---|---|---|---|
defines |
|
A dictionary object of |
No |
show |
A |
No, default: |
|
color |
A |
No, default: |
|
meta |
A |
No |
|
extensions |
Dictionary object with extension-specific objects. |
No |
|
extras |
Application-specific data. |
No |
-
Additional properties are allowed.
-
JSON schema:
style.schema.json
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
A boolean expression
or conditions
property which determines if a feature should be shown.
-
Type: One of
style.booleanExpression
,style.conditions
-
Required: No, default:
true
A color expression
or conditions
property which determines the color blended with the feature’s intrinsic color.
-
Type: One of
style.colorExpression
,style.conditions
-
Required: No, default:
color('#FFFFFF')
A meta
object which determines the values of non-visual properties of the feature.
-
Type:
style.meta
-
Required: No
-
Additional properties are allowed.
-
Type of each property:
style.expression
Dictionary object with extension-specific objects.
-
Type:
extension
-
Required: No
-
Additional properties are allowed.
-
Type of each property:
object
Application-specific data.
-
Type:
extras
-
Required: No
A boolean or string with a 3D Tiles style expression that evaluates to a boolean. Details are described in the 3D Tiles Styling specification.
-
Additional properties are allowed.
-
JSON schema:
style.booleanExpression.schema.json
3D Tiles style expression
that evaluates to a Color. Details are described in the 3D Tiles Styling specification.
-
Additional properties are allowed.
-
JSON schema:
style.colorExpression.schema.json
A series of conditions evaluated in order, like a series of if…else statements that result in an expression being evaluated.
Conditions
Properties
Type | Description | Required | |
---|---|---|---|
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 |
No |
|
extensions |
Dictionary object with extension-specific objects. |
No |
|
extras |
Application-specific data. |
No |
-
Additional properties are allowed.
-
JSON schema:
style.conditions.schema.json
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
.
-
Type:
style.conditions.condition
[]
-
Required: No
Dictionary object with extension-specific objects.
-
Type:
extension
-
Required: No
-
Additional properties are allowed.
-
Type of each property:
object
Application-specific data.
-
Type:
extras
-
Required: No
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.
-
Additional properties are allowed.
-
JSON schema:
style.conditions.condition.schema.json
A valid 3D Tiles style expression. Details are described in the 3D Tiles Styling specification.
-
Additional properties are allowed.
-
JSON schema:
style.expression.schema.json
A series of property names and the expression
to evaluate for the value of that property.
Meta
Properties
Type | Description | Required | |
---|---|---|---|
extensions |
Dictionary object with extension-specific objects. |
No |
|
extras |
Application-specific data. |
No |
-
Additional properties are allowed.
-
Type of additional properties:
style.expression
-
JSON schema:
style.meta.schema.json
Dictionary object with extension-specific objects.
-
Type:
extension
-
Required: No
-
Additional properties are allowed.
-
Type of each property:
object
Application-specific data.
-
Type:
extras
-
Required: No
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.
Subtree
Properties
Type | Description | Required | |
---|---|---|---|
buffers |
|
An array of buffers. |
No |
bufferViews |
|
An array of buffer views. |
No |
propertyTables |
|
An array of property tables. |
No |
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 |
✓ Yes |
|
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. |
No |
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 |
✓ Yes |
|
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. |
No |
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. |
No |
subtreeMetadata |
Subtree metadata encoded in JSON. |
No |
|
extensions |
Dictionary object with extension-specific objects. |
No |
|
extras |
Application-specific data. |
No |
-
Additional properties are allowed.
-
JSON schema:
subtree.schema.json
An array of buffers.
-
Type:
buffer
[1-*]
-
Required: No
An array of buffer views.
-
Type:
bufferView
[1-*]
-
Required: No
An array of property tables.
-
Type:
propertyTable
[1-*]
-
Required: No
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.
-
Type:
availability
-
Required: ✓ Yes
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.
-
Type:
availability
[1-*]
-
Required: No
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.
-
Type:
availability
-
Required: ✓ Yes
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
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 metadata encoded in JSON.
-
Type:
metadataEntity
-
Required: No
Dictionary object with extension-specific objects.
-
Type:
extension
-
Required: No
-
Additional properties are allowed.
-
Type of each property:
object
Application-specific data.
-
Type:
extras
-
Required: No
An object describing the location of subtree files.
Subtrees
Properties
Type | Description | Required | |
---|---|---|---|
uri |
A template URI pointing to subtree files. A subtree is a fixed-depth (defined by |
✓ Yes |
|
extensions |
Dictionary object with extension-specific objects. |
No |
|
extras |
Application-specific data. |
No |
-
Additional properties are allowed.
-
JSON schema:
subtrees.schema.json
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.
-
Type:
templateUri
-
Required: ✓ Yes
Dictionary object with extension-specific objects.
-
Type:
extension
-
Required: No
-
Additional properties are allowed.
-
Type of each property:
object
Application-specific data.
-
Type:
extras
-
Required: No
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.
-
Additional properties are allowed.
-
JSON schema:
templateUri.schema.json
A tile in a 3D Tiles tileset.
Tile
Properties
Type | Description | Required | |
---|---|---|---|
boundingVolume |
The bounding volume that encloses the tile. |
✓ Yes |
|
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. |
No |
|
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. |
✓ Yes |
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. |
No |
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. |
No, default: |
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 |
No |
|
contents |
|
An array of contents. When this is defined, then |
No |
metadata |
A metadata entity that is associated with this tile. |
No |
|
implicitTiling |
An object that describes the implicit subdivision of this tile. |
No |
|
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. |
No |
extensions |
Dictionary object with extension-specific objects. |
No |
|
extras |
Application-specific data. |
No |
-
Additional properties are allowed.
-
JSON schema:
tile.schema.json
The bounding volume that encloses the tile.
-
Type:
boundingVolume
-
Required: ✓ Yes
-
Minimum number of properties:
1
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.
-
Type:
boundingVolume
-
Required: No
-
Minimum number of properties:
1
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
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"
-
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]
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.
-
Type:
content
-
Required: No
An array of contents. When this is defined, then content
shall be undefined.
-
Type:
content
[1-*]
-
Required: No
A metadata entity that is associated with this tile.
-
Type:
metadataEntity
-
Required: No
An object that describes the implicit subdivision of this tile.
-
Type:
tile.implicitTiling
-
Required: No
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
Dictionary object with extension-specific objects.
-
Type:
extension
-
Required: No
-
Additional properties are allowed.
-
Type of each property:
object
Application-specific data.
-
Type:
extras
-
Required: No
This object allows a tile to be implicitly subdivided. Tile and content availability and metadata is stored in subtrees which are referenced externally.
Implicit tiling
Properties
Type | Description | Required | |
---|---|---|---|
subdivisionScheme |
|
A string describing the subdivision scheme used within the tileset. |
✓ Yes |
subtreeLevels |
|
The number of distinct levels in each subtree. For example, a quadtree with |
✓ Yes |
availableLevels |
|
The numbers of the levels in the tree with available tiles. |
✓ Yes |
subtrees |
An object describing the location of subtree files. |
✓ Yes |
|
extensions |
Dictionary object with extension-specific objects. |
No |
|
extras |
Application-specific data. |
No |
-
Additional properties are allowed.
-
JSON schema:
tile.implicitTiling.schema.json
A string describing the subdivision scheme used within the tileset.
-
Type:
string
-
Required: ✓ Yes
-
Allowed values:
-
"QUADTREE"
-
"OCTREE"
-
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
The numbers of the levels in the tree with available tiles.
-
Type:
integer
-
Required: ✓ Yes
-
Minimum:
>= 1
An object describing the location of subtree files.
-
Type:
subtrees
-
Required: ✓ Yes
Dictionary object with extension-specific objects.
-
Type:
extension
-
Required: No
-
Additional properties are allowed.
-
Type of each property:
object
Application-specific data.
-
Type:
extras
-
Required: No
A 3D Tiles tileset.
Tileset
Properties
Type | Description | Required | |
---|---|---|---|
asset |
Metadata about the entire tileset. |
✓ Yes |
|
properties |
|
A dictionary object of metadata about per-feature properties. |
No |
schema |
An object defining the structure of metadata classes and enums. When this is defined, then |
No |
|
schemaUri |
|
The URI (or IRI) of the external schema file. When this is defined, then |
No |
statistics |
An object containing statistics about metadata entities. |
No |
|
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 |
No |
metadata |
A metadata entity that is associated with this tileset. |
No |
|
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. |
✓ Yes |
root |
The root tile. |
✓ Yes |
|
extensionsUsed |
|
Names of 3D Tiles extensions used somewhere in this tileset. |
No |
extensionsRequired |
|
Names of 3D Tiles extensions required to properly load this tileset. Each element of this array shall also be contained in |
No |
extensions |
Dictionary object with extension-specific objects. |
No |
|
extras |
Application-specific data. |
No |
-
Additional properties are allowed.
-
JSON schema:
tileset.schema.json
Metadata about the entire tileset.
-
Type:
asset
-
Required: ✓ Yes
A dictionary object of metadata about per-feature properties.
-
Type:
object
-
Required: No
-
Additional properties are allowed.
-
Type of each property:
properties
An object defining the structure of metadata classes and enums. When this is defined, then schemaUri
shall be undefined.
-
Type:
schema
-
Required: No
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
An object containing statistics about metadata entities.
-
Type:
statistics
-
Required: No
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
A metadata entity that is associated with this tileset.
-
Type:
metadataEntity
-
Required: No
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
The root tile.
-
Type:
tile
-
Required: ✓ Yes
Names of 3D Tiles extensions used somewhere in this tileset.
-
Type:
string
[1-*]
-
Each element in the array shall be unique.
-
-
Required: No
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
Dictionary object with extension-specific objects.
-
Type:
extension
-
Required: No
-
Additional properties are allowed.
-
Type of each property:
object
Application-specific data.
-
Type:
extras
-
Required: No