Hi @drones_n_maps: thanks for your comment! I would suggest posting a New Idea on the Ideas Forum for greater visibility.
@deanatsafe any chance this will make it into the AIXM5 reader?
Hi @phiber, sorry I don't know about that specifically. I suspect that it should work in the same kind of way. But again I would try reading a test file where this is correctly implemented and work backwards - but perhaps @deanatsafe has some more information as to the xlinks and if it extends to ADE's for CityGML as using xlinks does not appear to be an option in the general GML writer.
thanks for your reply and many thanks for your input - I finally got it to work. Still I'm wondering if the 2019 version will also create thermalBoundaries with the (formally specified in the docs) energy_relatesTo{}xlink.href attribute? Do you have any experiences in this direction or should I better just be happy with what can finally be achieved?
Kind regards!
Hi @phiber,
Great question - it's a little tricky and to get it right - what worked for me was to actually see how FME read in the data from a correct building and work backwards.
There is a lot of GeometryProperies which cause headaches. Essentially each Wall, Ground, Roof surface making up the solid needs to be reference in the GeometryProperties of the solid (see below for what works for me on output).
Hello again everyone,
since the CityGML writer in FME 2019 received an update and can now use a xlink_href trait in order to write geometry references, which is exactly what I needed earlier when I origanlly posted this Question. I played around with it a Little bit but couldn't figure out the correct procedure to produce a valid file.
Can someone provide me with an Explanation or demo workbench (ideally Trimble SketchUp2CityGML) in which this is demonstrated how to create a Solid geometry with Xlinks refering the BoundarySurfaces? Or Maybe a good Explanation will also do the trick.
Im just not sure how to create the solid and what goes into the Building writer and what should go into the Writers for the surfaces?
Many thanks in Advance!Kind regards,
Philip
It looks like this This is now supported in the FME 2019.0 beta! Thanks @DeanAtSafe! I'm gonna give is some testing.
Many thanks to both of you @virtualcitymatt and @DeanAtSafe !
It's good to know, that xlink support is officially on the way, as it is such an integral part of CityGML as well as its ADEs. Also FME is about the best available and versatile tool for implementing different kinds of data in CityGML. I will try to achieve some results with the suggestions you provided and keep you updated!
At the moment there are 2 approaches - you can either try to set the geometry properties and see if they are written out correctly by the CityGML writer as Matt suggested. The other approach is that for a few versions now for the GML writer (not CityGML) we changed fields of data type = xml_geometry to accept xml as well as geometry. That means if you create a field with the same name as the xml_geometry field, and you remove the feature geometry, you can use a combination of GMLFeatureComposer, GeometryExtractor and XMLTemplater to customize your geometries before you write them. You could try this using the GML writer with the CityGML app schemas for one or 2 feature types. But this is rather involved, low level GML/XML work, and wouldnt support textures, so I expect it would be a lot easier to just wait for xlink geometry support coming soon in FME 2019.
If you are writing out any geometries with the solid (the building) this could be where the duplication comes from. Have you used a GeometryRemover before the buildings? Would that work? Sorry without seeing the workspace itself I can't really tell if what I said is valid.