3D Tiles

specdraftimplproposal

Publish geographic data as 3D Tiles.

Scope

The building block 3D Tiles enables publishing of 3D Tiles (1.0 or 1.1) from a 3D Tiles Provider.

The 3D Tiles can be inspected in a web browser using an integrated Cesium client.

Conformance Classes

3D Tiles implements support for the draft specification OGC API - 3D GeoVolumesopen in new window.

Operations

ResourcePathMethodsMedia TypesDescription
3D Tiles Tileset
collections/{collectionId}/3dtiles
GET
Access a 3D Tiles 1.0 or 1.1 tileset.
3D Tiles Files
collections/{collectionId}/3dtiles/{subPath:.*}
GET
Access a file in a 3D Tiles tileset.

Path Parameters

NameResourcesDescription
collectionId
3D Tiles Tileset, Subtree, Content
The identifier of the feature collection.
subPath
3D Tiles file
The file name.

Query Parameters

NameResourcesDescription
f
3D Tiles Tileset
Select the output format of the response. If no value is provided, the standard HTTP rules apply, i.e., the "Accept" header will be used to determine the format.

Configuration

Options

NameDefaultDescriptionTypeSince
buildingBlock
Always TILES3D.
string
v2.0
enabled
false
Enable the building block?
boolean
v2.0
tileProvider
null
Specifies the data source for the tiles, see Tile Providers.
string
v4.6
tileProviderTileset
__all__ | {collectionId}
Specifies the tileset from the tile provider that should be used. The default is __all__ for dataset tiles and {collectionId} for collection tiles.
string
v4.6
firstLevelWithContent
0
Deprecated (from v5.0 on you have to use 3D Tiles Provider entities) The first level of the tileset which will contain buildings. The value will depend on the spatial extent of the dataset, i.e., at what level of the implicit tiling scheme large buildings can be displayed.
number
v3.4
maxLevel
0
Deprecated (from v5.0 on you have to use 3D Tiles Provider entities) The last level of the tileset which will contain buildings. The value will depend on the spatial extent of the dataset, i.e., at what level of the implicit tiling scheme small buildings can be displayed in detail.
number
v3.4
contentFilters
[]
Deprecated (from v5.0 on you have to use 3D Tiles Provider entities) A CQL2 text filter expression for each level between the firstLevelWithContent and the maxLevel to select the buildings to include in the tile on that level. Since the refinement strategyopen in new window is always ADD, specify disjoint filter expressions, so that each building will be included on exactly one level.
array
v3.4
tileFilters
[ ... ]
Deprecated (from v5.0 on you have to use 3D Tiles Provider entities) A CQL2 text filter expression for each level between the firstLevelWithContent and the maxLevel to select the buildings to include in the tile on that level or in any of the child tiles. This filter expression is the same as all the contentFilters on this or higher levels combined with an OR. This is also the default value. However, depending on the filter expressions, this may lead to inefficient tile filters and to improve performance the tile filters can also be specified explicitly.
array
v3.4
geometricErrorRoot
0
Deprecated (from v5.0 on you have to use 3D Tiles Provider entities) The error, in meters, introduced if a tile at level 0 (root) is rendered and its children at level 1 are not. At runtime, the geometric error is used to compute screen space error (SSE), i.e., the error measured in pixels.
number
v3.4
subtreeLevels
3
Deprecated (from v5.0 on you have to use 3D Tiles Provider entities) The number of levels in each Subtree.
number
v3.4
seeding
{}
Deprecated (from v5.0 on you have to use 3D Tiles Provider entities) Controls how and when tiles are precomputed, see Seeding options in the tile provider "Features".
object
v3.4
clampToEllipsoid
false
Deprecated (from v5.0 on you have to use 3D Tiles Provider entities) If set to true, each building will be translated vertically so that the bottom of the building is on the WGS 84 ellipsoid. Use this option, if the data is intended to be rendered without a terrain model.
boolean
v3.4
ionAccessToken
null
If the 3D Tiles should be rendered in the integrated Cesium client using the terrain model from Cesium Ion, specify the access token to use in requests.
string
v3.4
maptilerApiKey
null
If the 3D Tiles should be rendered in the integrated Cesium client using the terrain model from MapTiler, specify the api key to use in requests.
string
v3.4
customTerrainProviderUri
null
If the 3D Tiles should be rendered in the integrated Cesium client using an external Terrain Provider, specify the URI of the provider.
string
v3.4
terrainHeightDifference
0
If the terrain does not match the height values in the data, this option can be used to translate the buildings vertically in the integrated Cesium client.
number
v3.4
style
DEFAULT
A style in the style repository of the collection to be used in maps with 3D Tiles. With DEFAULT the defaultStyle from the HTML building block is used. With NONE the default 3D Tiles style is used. The style must be available in the 3D Tiles Styling format. If no style is found, 'NONE' is used.
string
v2.0

This building block does not require or support any additional configuration files.

Examples

API


- buildingBlock: TILES3D
  enabled: true
  tileProvider: example-3dtiles

3D Tiles Provider


id: example-3dtiles
providerType: 3DTILE
providerSubType: FEATURES
seeding:
  runOnStartup: true
  purge: false
tilesets:
  building:
    id: building
    geometricErrorRoot: 8192
    clampToEllipsoid: true
    subtreeLevels: 3
    contentLevels:
      min: 5
      max: 9
    contentFilters:
    - diameter3d("bbox")>200
    - diameter3d("bbox")<=200 and diameter3d("bbox")>100
    - diameter3d("bbox")<=100 and diameter3d("bbox")>40
    - diameter3d("bbox")<=40 and diameter3d("bbox")>18
    - diameter3d("bbox")<=18
    tileFilters:
    - true
    - diameter3d("bbox")<=200
    - diameter3d("bbox")<=100
    - diameter3d("bbox")<=40
    - diameter3d("bbox")<=18