Skip to main content

Hello,

I just started learning FME. I have a data set with different surfaces (roof surfaces), which differ in one attribute, among other things. Two of the areas (left and right roof area) always belong together. Based on the size of the difference, I want to classify the roof accordingly into a roof shape. The areas that belong together always have a common ID (roof ID) and the number of areas (=roof areas) that belong to this ID (=roof). The partially differing attribute is the pitch of the roof.

In my opinion, one possibility would be to round the values to full 5° and then compare them. Since the value for each roof can still be different, I would have to iteratively query each degree number afterwards, which would not really be efficient. Is there another more efficient way to do this comparison and perform a roof classification?

For example, I could imagine that I subtract the one roof pitch on the left from the one on the right. If the value is in the range 0-5, then it is roof type B (see example picture). If the difference is greater, then the roof is assigned to type A. My problem now is, how can I convert this into FME, that I only subtract the two values of the roof pitch of a roof from each other?

 

Thanks a lot

 

 

 

 

Hi Alfons,

You're already thinking in the right direction.

You could try using a Testfilter. If value is between 0-5, the attributes are selected that match.

 

The outcome is directly usable.

It is also possible to use a Tester. If the value is between 0-5, it comes out the passed-port.

 

I couldn't find your example picture, so if it doesn't work, maybe try to upload it again for more context.

Goodluck!


Reply