LuciadCPillar 2024.0.02
|
This class can be used to create an ITileSet3DModel implementation that can read OGC 3D Tiles data. More...
#include <luciad/formats/ogc3dtiles/Ogc3DTilesModelDecoder.h>
Classes | |
class | Options |
Options for decoding OGC 3D Tiles data. More... | |
Public Member Functions | |
Ogc3DTilesModelDecoder ()=delete | |
~Ogc3DTilesModelDecoder ()=delete | |
Static Public Member Functions | |
static luciad::expected< std::shared_ptr< ITileSet3DModel >, ErrorInfo > | decode (const std::string &source) |
An OGC 3D Tiles model connects to a 3D tile service to retrieve tiles for a TileSet3DLayer . More... | |
static luciad::expected< std::shared_ptr< ITileSet3DModel >, ErrorInfo > | decode (const std::string &source, const Options &options) |
An OGC 3D Tiles model connects to a 3D tile service to retrieve tiles for a TileSet3DLayer . More... | |
This class can be used to create an ITileSet3DModel implementation that can read OGC 3D Tiles data.
See Ogc3DTilesModelDecoder::decode
for more details.
|
delete |
|
delete |
|
static |
An OGC 3D Tiles model connects to a 3D tile service to retrieve tiles for a TileSet3DLayer
.
source | the OGC 3D tiles endpoint url or the path to the entry point file |
tileset.json
.
|
static |
An OGC 3D Tiles model connects to a 3D tile service to retrieve tiles for a TileSet3DLayer
.
File | Entry point | Description |
---|---|---|
tileset.json/root.json | x | File containing the root tile metadata as well as links to the sub-tiles/content. |
*.json | Files containing sub-tile metadata as well as links to its sub-tiles/content. | |
*.b3dm | File containing Batched 3D Model data. See the B3DM documentation for more information about this file. | |
*.pnts | File containing batched Point Cloud data. See the PNTS documentation for more information about this file. |
The decoder assumes a Geocentric reference system.
The current OGC 3D Tiles model supports the OGC 3D Tiles 1.0 specification. The OGC 3D Tiles 1.1 specification is partially supported. It explicitly supports:
tileset.json
file entry point, with full metadata support, including property values and ranges.tileset.json
file entry point, when it is describing an implicit tile structure, making use of subtrees.tileset.json
.tileset.json
is not supported directly, but can be achieved using expressions, based on StyleExpressionFactory
.Since OGC 3DTiles relies on a tree structure to determine which tile to load. This means the way this tree is built can impact performance. An ideal tree has enough level of details to avoid loading highly details at an early stage while loading those when fully zoomed-in.
OGC 3D tiles point clouds data can be styled using style expressions
that make use of attributes
. An attribute represents additional metadata for each of the points in the point cloud. Typical attributes are intensity, color, height, etc...
When attributes are available, they can be discovered by manually inspecting the top-level tileset.json
or root.json file
. That file can contain a section called "properties". It's a list of attribute names, with (optionally) range indications.
This is an example of the attributes that you can find in this file:
"properties" : { "Intensity" : { "minimum" : 0.0, "maximum" : 65535.0 }, "Classification" : { "minimum" : 2.0, "maximum" : 4.0 }, "ReturnNumber" : { "minimum" : 1.0, "maximum" : 7.0 }, "Height" : { "minimum" : 29.02975082397461, "maximum" : 116.85025024414062 } }
Additional properties can be discovered by manually inspecting the data itself. More concretely, b3dm files contain a header section that describe these properties. This is an example of the attributes that you can find in a b3dm file:
{ "fid": { "componentType": "INT", "type": "SCALAR", "byteOffset": 0 }, "height" : { "componentType" : "FLOAT", "type" : "SCALAR", "byteOffset" : 24 } }
This article provides more information and example code.
source | the OGC 3D tiles endpoint url or the path to the entry point file |
options | options for decoding OGC 3D Tiles data, for example an optional custom loader implementation to fetch the OGC 3D Tiles resources. |
tileset.json
.