Skip to main content

Hello everyone,

 

I'm working with the citygml model and to implement the buildings module I used the xlink_href tool. It's all right for surfaces that are not shared between buildings. For those that are shared, i need to set the surface in one of the buildings as gml: OrientableSurface and reverse the orientation. This is necessary for the surface to be drawn in the citygml viewers in both buildings. I tried to use the Orientor but it didn't work and I also tried to create an orientation attribute and set it as a trait with the GeometryPropertySetter also without success. Would anyone know how to do this?

At the moment my output is as in figure1 and I would like it to be as in figure2 (I edited it manually just to illustrate).

orientable_surface_not_ok orientable_surface_ok

Thank you in advance for your help.

 

Mcdonnell

Hi Mcdonnell,

 

Thanks for the question and example. I can confirm that we do in fact support writing xlink_href referenced geometry with orientable surfaces with our citygml writer. For more on how to do this see the "CityGML Options

> Use xlink_href Traits for Geometry References" section at:

 

https://docs.safe.com/fme/html/FME_Desktop_Documentation/FME_ReadersWriters/citygml/CITYGML_writer.htm

 

If you expand this section you will see a discussion about this:

 

"Including the gml_geometry_reversed boolean trait with a Yes value along with the xlink_href trait causes the writer to output an OrientableSurface with a base surface geometry reference. "

 

Please let us know if you need help getting this to work. Note that if you have some example data with xlink_href orientable surface geometry, you could try reading this in to see how exactly FME structures the geometry and traits which might make it easier to understand how to compose similar output for the writer.

 

Here's another great resource to help you with writing CityGML:

https://docs.safe.com/fme/html/FME_Desktop_Documentation/FME_ReadersWriters/citygml/Tutorial/writing_citygml_from_fme.htm

 

Regards,

Dean


Hi Mcdonnell,

 

Thanks for the question and example. I can confirm that we do in fact support writing xlink_href referenced geometry with orientable surfaces with our citygml writer. For more on how to do this see the "CityGML Options

> Use xlink_href Traits for Geometry References" section at:

 

https://docs.safe.com/fme/html/FME_Desktop_Documentation/FME_ReadersWriters/citygml/CITYGML_writer.htm

 

If you expand this section you will see a discussion about this:

 

"Including the gml_geometry_reversed boolean trait with a Yes value along with the xlink_href trait causes the writer to output an OrientableSurface with a base surface geometry reference. "

 

Please let us know if you need help getting this to work. Note that if you have some example data with xlink_href orientable surface geometry, you could try reading this in to see how exactly FME structures the geometry and traits which might make it easier to understand how to compose similar output for the writer.

 

Here's another great resource to help you with writing CityGML:

https://docs.safe.com/fme/html/FME_Desktop_Documentation/FME_ReadersWriters/citygml/Tutorial/writing_citygml_from_fme.htm

 

Regards,

Dean

Many thanks for the reply.

 

Sometimes we look for the solution all over the internet while the answer is in the first source of consultation that we should be looking for. Just select the gml_geometry_reversed attribute together with the xlink_href in the GeometryPropertySetter. I tested it and everything worked out. Problem solved!

 

Mcdonnell


Reply