Hi,
I have some questions about how to make a CityGML more efficient.
Context: I have about 1.8m pipelines and cables. I want to visualise these as 3D cylinder/pipes (not actual ‘FMEPipeGeometry’), regardless of the ‘is it necesary to do this’. All features also have attributes like diameter and such. I want to write this to CityDB and CityGML. This results in huge filesize (somwhere like 15gb or 20gb).
What I did: My thought process was it would be more efficient to use relative geoetries (a circle) that I extrude/scale/offset/etc to the proper location using the transformation matrix. Of course I cut the original geometry into pairs of 2 vertices. I wanted to reaggregate this to 1 feature once I had the relative geometry up and working. This all worked just fine until I discovered that in CityGML schema the cardinality is 0-1 on features with relative geometry. This means I cannot gather all separate bits of the cables again, giving me an even more absurd amount of features. I also want to keep the attributes, meaning each bit of cable would have to get these attributes. A lot more unneccessary data. Sizewise it seems to be better to forget about instancing and make each object its unique geometry.
The question: what can I try to make my CityGML more efficient? Except for switching to CityJSON which seems to reduce filesize by 6x, haha. I can generalize the geometries a little to reduce the amount of vertices. But I thought maybe there are possibilities to still use each relative geometry and in each of these geometries (of 2vertices) refer to relative attributes if that exists? So i dont have doubled attributes.
Its not really a specific issue that needs to be solved, I just want to ask the question to improve my understanding/knowledge of CityGML/FME.
Thanks in advance.