Skip to main content
Solved

Set surface as gml:OrientableSurface and reverse orientation

  • August 28, 2020
  • 2 replies
  • 92 views

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

Best answer by deanatsafe

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

This post is closed to further activity.
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.

2 replies

deanatsafe
Safer
Forum|alt.badge.img+6
  • Safer
  • Best Answer
  • September 10, 2020

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


  • Author
  • September 10, 2020

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