Solved

3DTiles - Level of Detail

  • 26 July 2017
  • 3 replies
  • 20 views

I'm using the 3DTiles writer to export our entire city model in order to use it in Cesium.

In 3D TIles, there is the possibility to have different evel of details in order to improve the viewing performances.

Is there any plan at Safe to implement this feature?

Thanks for your answer.

icon

Best answer by daveatsafe 27 July 2017, 19:18

View original

3 replies

Userlevel 2
Badge +17

Hi @vincentstreigna

You can use the cesium_priority attribute on the feature to control the level of detail.

This attribute can be used to change the relative placement of features within the tile hierarchy.

Features with a higher priority value will be closer to the top of the tree, meaning they will be rendered from higher zoom levels than features with a lower value.

The value of this attribute can be any numeric value. If a feature has no priority value, it will be assigned a value of 0.

For example, when creating a cityscape you can use the following cesium_priority values:

  • 4 - landmark buildings
  • 3 - tall buildings
  • 2 - lower buildings
  • 1 - houses

As your user zooms in they will see the landmarks first, then the taller buildings, then the lower ones.

Specific how to operate it?

Hello @daveatsafe,

Sorry to be responding to this thread 2 years later, but is there any progress on this? I think it is related to that suggestion:

https://knowledge.safe.com/content/idea/60377/improve-the-generation-of-3dtiles-tiles-generated.html

From my tests, it looks like FME will just "cluster" the features, 300 features max per tile, which can lead to huge bd3m files (up to 50Mb) and the browser will try to instantly load all the dataset (which can be hundreds of Mb) and struggle.

The idea of using "cesium_priority" sound good but I was wondering if anyone successfully used it on an actual dataset? Say I have a CityGML Reader as input, how do I produce different Level of Details (versions for LOD/cesium_priority 0, 1, 2, 3 and 4) from this CityGML? Can FME transform the input data to make a simplified/low-definition (textures) version of it?

It would be great to have a starter example to work with or know which FME Transformers could help creating this.

Thanks!

Fabien

Reply