I have a CAD file that I want to convert to CityGML LOD2 with Xlink using a provided template. To automatically generate unique surface IDs using SurfID_@UUID(), I need to first deagregate the CAD file into individual surfaces. If I don't do this, I get errors about non-unique IDs. However, separating the surfaces in this way causes the roof, walls, and ground surfaces of the building to be split into multiple surfaces and IDs. I would prefer to have each incoming surface represented by a single GML ID, but I've tried several options and haven't been successful. I'm not sure if I'm missing something or if there's another approach I could try. Could anyone please be so kind take a look to the tample and smaple CAD file.
I have a small issue with the FME template in creating LOD2 Buildings with Xlinks. I would really appreciate if anyone can help me with this.
Best answer by virtualcitymatt
There can be a distinction between a feature and geometry. For example a Building and a Wall can share geometry. So a building with gmlid "building_1" can be made up of all the surfaces and a Wall feature with gmlid wall_1 might be made up of several geoemetries.
Here the geometries and the features have separate gmlid's.
So you can create a unique ID for each Face and then create a NEW gmlid for the wall which is made up of several faces. You just need to re-aggregate the Walls, Roof etc back into the Composite surfaces you want. You can then give them new ids (e.g., Wall_@UUID(), Roof_@UUID(), Ground@UUID() )
You can also group your installations as you like (FME will just create ID's automatically where it needs to)
It may be an old question, an answered question, an implemented idea, or a notification-only post.
Please check post dates before relying on any information in a question or answer.
For follow-up or related questions, please post a new question or idea.
If there is a genuine update to be made, please contact us and request that the post is reopened.

