Skip to main content

Hi,

I'm using FME to convert a CityGML file into B3DM for visualization in CesiumJS. However, when I visualize the B3DM file, it seems to have an endlessly recursive structure. Based on the B3DM documentation, my understanding is that each tile should have a feature table (with the list of features), a batch table (with tile metadata), and the binary glTF of the tile. However, when printing out the tile contents in the console, this is what I see. Has anyone experienced this before? Or have any idea how to make sense of it? My end goal is to be able to select features based on their geographical location.

Any help would be appreciated.

Thanks!

Aditya

Hi @gunea,

Would you mind sharing your workspace with us? It might help to determine where the feature nesting is coming from.


Hi @DaveAtSafe, thanks for your reply. Here is my workspace:

delft-citygml2b3dm.fmw


Hi @gunea,

OK, that workspace is a straight translation, with no manipulation, so we should look at the source data as well. In your workspace, please set enable Writers - Redirect to Data Inspector, then run the workspace again.

In the Data Inspector, click on the Building feature, then examine its geometry hierarchy in the Feature Information window. If it an Aggregate of an Aggregate of an Aggreagate, etc. then it seems FME is reproducing the geometry hierarchy in the Cesium output. If so, you can simplify the geometry with a GeometryRefiner or Deaggregator transformer before writing to Cesium.


Ok, I looked at its geometry hierarchy and it does not seem highly nested to me - it seems like a regular aggregate of polygons with associated boundaries.


Reply