Hi Everyone,
I’m new to FME. Currently, I use FME to convert IFC4 LOD 300 to CityGML 2.0 LOD 4. It happened that a long railing can make the size of one CityGML feature exceed 1 GB, and it’s challenging to import it into 3DCityDB. I have to divide the railing into pieces so that each CityGML feature won’t exceed 200 MB. As shown, the railing has 1270 parts of MultiSurface. I’m thinking of splitting it into 1270 CityGML objects.

First, I tried the “Deaggregator” transformer. But when it is written to CityGML with other feature types, the divided geometry cannot be viewed. The file size is small, so I believe the divided geometry wasn’t written into the CityGML file. However, if I only convert the divided geometry into the CityGML file. The file size is 1.4GB, and it can be viewed in FME Data Inspector. Here is the screen capture of my workbench.

I have no idea what was wrong. I was thinking it could be due to the geometry structure being changed. Originally, it was Geometry->MultiSurface (1270 parts)->CompositeSurface. After that, it was Geometry->CompositeSurface. The level of “MultiSurface” was gone. Does anybody know how to maintain the same structure?
Besides, maybe “GeometryPartExtractor” can work as well but I don’t know how to extract the “CompositeSurface” level by part number. For example, I copy this railing 1270 times, the first one will keep Geometry->MultiSurface (1 parts)->Part 0: CompositeSurface (6 parts). The rest can be done in the same manner. The last one (No. 1270) should be Geometry->MultiSurface (1 parts)->Part 0: CompositeSurface (1102970 parts). What should I write in Geometry Xquery of “GeometryPartExtractor”?
Thanks in advance.
Regards,
Qubbie
