Hi. I have trouble using the csgbuilder to form a unified solid(IFMECSG). In my database, every building has so many small parts and I need to union them. Every building should be a unique(one) building. I want to write them later to Citygml as building. The writer does not accept a multiSolid, so I need to do the union through csgbuilder. But the problem ist that this transformer do the union just for one small part and reject all the remaining parts. I also used the group by parameter but the result is the same. Can you please help me?
You could try using the SolidDissolver. The SolidDissolver works by creating a 3D Bounding box around all the solids and then Clipping the 3DBox to match the shape of the solids. I have to say though that my experience with this tool is not great and it doesn't work with textures.
Perhaps you could share an example of your data
Thanks @virtualcitymatt for your Reply. I have tried SolidDissolver before, but the result is a multisolid or Aggregate which can not be written after that as a Building in Citygml writer. My Problem is actually writing a Multi solid as Building.
Thanks @virtualcitymatt for your Reply. I have tried SolidDissolver before, but the result is a multisolid or Aggregate which can not be written after that as a Building in Citygml writer. My Problem is actually writing a Multi solid as Building.
Hmmm, what happens if you then run it though a deaggregator. Do you end up with a lot of features?
If there are only a few you could treat these as BuildingPart features. Use the building gml_id as the gml_parent_id for the building parts. It's not ideal but still valid CityGML
In this case, the number of Building parts will be alot and I think that it is not a good idea to use Deaggregator, because it will deaggregate the Buildings completely and at the end I have some IDs that are not unique, so it could not write as different Building parts.
In this case, the number of Building parts will be alot and I think that it is not a good idea to use Deaggregator, because it will deaggregate the Buildings completely and at the end I have some IDs that are not unique, so it could not write as different Building parts.
I dug a bit more into the SolidDissolver and extracted the important bits for you. This workspace should act as a bit of a guide. Give it a test. Also just ignore the Rejected feature(s) from the Clipper here. I think this must be an FME bug. The features coming out of the inside port are what you want.
As long as your features are not textured this should work pretty well
Thank you very much @virtualcitymatt . That was very helpful. Logically at the end, we should have a uniquie solid like the result of your workflow, but in my data base, every Building is a Multi solid (2 or 3 parts). I assume it is an FME bug.
Thank you very much @virtualcitymatt . That was very helpful. Logically at the end, we should have a uniquie solid like the result of your workflow, but in my data base, every Building is a Multi solid (2 or 3 parts). I assume it is an FME bug.
Hmm, interesting, are you able to share any of the data?
Hi @virtualcitymatt .
It seems like the Image and then I want to conver this Multi Surface to Roof, wall and Ground surfaces. Is it possible?