Level of detail in 3d tiles.

How to get the level of detail of the tileset loaded.I tried reading the properties of the tileset but unable to find any.I tried converting a gml to 3dtileset using cesium ion.I have the level of detail value in the GML file.But im unable to find the lod value in the tileset properties,is there any data loss while converting gml to tileset. How can i get the level of detail value from the tileset.

By default, when converting CityGML to 3D Tiles ion will use the maximum LOD in the provided data, which means you’re always seeing the highest level of detail, so no data loss.

The CLI tools that run on ion’s backend do allow this to be configurable. Look for the citygml.levelOfDetail option on this page:

But this is not currently an option on the ion platform. Do you need a specific LOD for your use case?

In my use case i need the value of the level of detail.But in the batch table im getting lat,long,height.But i want to add level of detail value to the batch table,Is that possible? can it be achieved using CLI tools.What is the argument to pass to push level of detail value to the batch table.

Just to be clear, there are two different “levels of detail” here. CityGML has its own levels of detail. When converting to 3D Tiles with ion, only one level of detail is chosen from the original CityGML. The --citygml.levelOfDetail flag allows you to choose which level of detail is used.

3D Tiles will have its own levels of detail, which could be any amount depending on how big the tileset is or how complicated the geometry is. You can check if a given tile is the maximum level of detail (a leaf tile) by checking if it has any children:

tile.children.length === 0 //This is the highest level of detail, a leaf tile
tile.children.length !== 0 //This is not the highest level of detail


You could compute what specific level in the tree this tile is by checking its parent, and then recursively going up the parent chain and counting how many parents there are.