This is documentation of an archived release.
For documentation on the current version, please check Knowledge Base.

This is an old revision of the document!


Cesium 3DTiles

Importing Cesium 3DTiles

For importing the Cesium 3DTiles format one additional file, next to the .JSON file which describes the structure of the tiles a .3DTiles file needs to be created. Next to the XXX.JSON file create an XXX.3Dtiles file which has the same naming as the JSON file.

Import or drag and drop this file into Orbit will visualize the Cesium 3DTiles. In the desktop Content manager, the Cesium 3DTiles can only be visualized in the MapGL component.

At import into Orbit, an XXX.ini and XXX.ord file will be created next to the XXX.3dtiles file. The XXX.ini file consists of scaling and translation values. The scale is by default set to 1 and translation is set to 0 in all three directions (x,y, and z). Note that these files are obligated to be present next to the XXX.3dtiles file to be able to use the files in Orbit 3DM Publisher or 3D Mapping Cloud.

Geometric error

A 3D Tiles dataset consists of multiple nodes (data groups) organized into a 3D spatial tree structure. The root node of this tree defines the top level entry point for visualizing the tile dataset. When zooming in, the root node is checked to see if it needs to split to increase the level of detail shown on screen. This check is delicate: split a node too late and you see low quality data on screen. But split a node too soon and you spend too much time loading data that has no visual impact. It is a classic speed versus quality problem.

The parameter that controls the splitting of a node is called the “geometric error” and each node in the tree has a specific value for it. If the geometric error is large the node splits early, even from far away. The most detailled nodes (leafs) of the tree have a very small geometric error, the root node has the largest one.

Each vender of software products that create 3D Tile datasets has their own way to calculate the geometric error. Some prefer rather large values, some rather low. To adjust for this variation of values the 3D Tile renderer can scale the geometric error of the nodes. Finding the right scale factor requires some experience. One way to avoid loading too much data is starting with a low scale factor (like 0.5) that avoids splitting and increasing it to add more visual quality as needed (to 1.5 for example). Avoid the temptation for perfection: going from good to excellent quality can easily double the amount of data streaming.

The value of the scale factor can be set in the “XXX.ini” file where “XXX.3dtiles” defines the main file of the dataset. Open the ini file and add (or update) the following line:

geometric.error.scale.factor=0.50

The default value of the scale factor is 1.0.

For example, some scale factors and the effect on the data streaming (megabytes) for a certain view (GenMap,20200117)

Scale Factor Render Datasize (MB) Download Datasize (MB) Quality
0.10 8.0 22.3 poor
0.25 24.7 54.9 good
0.30 37.4 71.9 good
0.40 45.8 109.0 very good
0.50 51.2 141.1 very good
1.00 60.3 218.0 excellent

The chosen scale factor was 0.40 for this dataset.

One approach might be to open the 3D tiles dataset with the desktop viewer and zoom to a specific position. Then drag-and-drop the tileset while changing the scale factor using notepad. Write down the render and load data sizes for each setting.

 
Last modified:: 2020/06/16 08:14