Package com.luciad.formats.ogc3dtiles
Class Ogc3DTilesModelDecoder
java.lang.Object
com.luciad.formats.ogc3dtiles.Ogc3DTilesModelDecoder
This class can be used to create an
ITileSet3DModel
implementation that can read OGC 3D Tiles data.
See Ogc3DTilesModelDecoder#decode
for more details.
-
Nested Class Summary
Nested Classes -
Method Summary
Modifier and TypeMethodDescriptionstatic ITileSet3DModel
An OGC 3D Tiles model connects to a 3D tile service to retrieve tiles for aTileSet3DLayer
.static ITileSet3DModel
decode
(String source, Ogc3DTilesModelDecoder.Options options) An OGC 3D Tiles model connects to a 3D tile service to retrieve tiles for aTileSet3DLayer
.
-
Method Details
-
decode
An OGC 3D Tiles model connects to a 3D tile service to retrieve tiles for aTileSet3DLayer
.- Parameters:
source
- the OGC 3D tiles endpoint url or the path to the entry point file- Returns:
- the decoded tile set 3D model for the OGC 3D Tiles data.
- Throws:
IOException
- when decoding the OGC 3D Tiles data fails.- See Also:
-
decode
@NotNull public static ITileSet3DModel decode(@NotNull String source, @NotNull Ogc3DTilesModelDecoder.Options options) throws IOException An OGC 3D Tiles model connects to a 3D tile service to retrieve tiles for aTileSet3DLayer
.- Input files
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. - Model reference
- Supported versions
- Decoding from the
tileset.json
file entry point, with full metadata support, including property values and ranges. - Decoding from the
tileset.json
file entry point, when it is describing an implicit tile structure, making use of subtrees. - B3DM/GLB/GLTF payload for the visualization of 3D meshes.
- Both glTF 1.0 and glTF 2.0 in the B3DM payload.
- Draco compressed meshes in the glTF data.
- JPG/PNG/WebP images in the glTF data.
- The following glTF extensions: KHR_texture_transform, KHR_mesh_quantization, EXT_meshopt_compression and EXT_mesh_features.
- glTF models referencing multiple textures.
- PNTS payload for the visualization of point clouds, including Draco compression.
- Additive and Replace refinement for
tileset.json
. - Styling and filtering of point cloud data sets with full expression language support for dynamic, GPU-based styling and filtering of point clouds.
- Quality management to trade off between visual quality and performance, through the quality factor setting in the API.
- Limitations
- Instanced 3D Model (I3DM or glTF with EXT_mesh_gpu_instancing) tiles are not supported.
- Composite Tile Model (CMPT or multiple-node glTF or multiple contents in OGC 3D Tiles 1.1) tiles are not supported.
- B3DM does not support animations.
- Embedded binary textures are supported, but externally referenced textures are not.
- glTF materials extensions are not supported.
- Declarative Styling in
tileset.json
is not supported directly, but can be achieved using expressions, based onStyleExpressionFactory
. - Complex, hierarchical batch table properties are not supported.
- KTX2/CRN/WEBP images in the glTF data.
- PBR shading properties are picked up, but not used.
- Metadata for subtrees (implicit tiling) is not supported.
- Metadata in glTF (EXT_structural_metadata) is not supported.
- glTF as a replacement for PNTS is not supported.
- Performance considerations
- Available attributes for styling
style expressions
that make use ofattributes
. 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
orroot.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 } }
- Example: decoding and visualizing OGC 3D Tiles data
- Parameters:
source
- the OGC 3D tiles endpoint url or the path to the entry point fileoptions
- options for decoding OGC 3D Tiles data, for example an optional custom loader implementation to fetch the OGC 3D Tiles resources.- Returns:
- the decoded tile set 3D model for the OGC 3D Tiles data.
- Throws:
IOException
- when decoding the OGC 3D Tiles data fails.
-