Skip to main content
Hi,

 

 

I need all building footprint should be in same height. Suppose any one edge in different height means how can i get this?
Hi Bino,

 

 

if you just want to set a z- value, then you could use the 3DForcer...

 

 

Maybe that helps you in the first step...

 

 

Best regards,

 

Stefan
Hi,

 

 

if you need a list of all the Z-values for a feature, you can use the CoordinateConcatenator. It will let you choose e.g. only Z-values and put them in a delimited string.

 

 

As an idea, you could then convert the string to a list using an AttributeSplitter. Using a ListSummer and a ListElementCounter you could easily calculate the mean Z-value of each feature, which you could pass to a 3DForder (as Stefan suggests).

 

 

David
Hi Bino,

 

 

I think David's idea is very effective to calculate z average of vertices.

 

Just be aware that the first and last element of the list (result of the AttributeSplitter) indicate the same vertex, since the series of vertices of a polygon is closed. You should consider this point when calculating average.

 

 

average = (sum - first_element_value) / (number_of_elements - 1)

 

 

The ListIndexcer transformer can be used to get the first element value of the list.

 

Takashi
Hi,

 

 

I am not clear if you need to use the hights available to you ( David's method) or just set a new Z value.

 

In case of the later just remove the Z values (2DForcer) and set a new Z with the 3DForcer.
In case of the later (Itay mentioned), just using 3DForcer is OK as Stefan suggested ;-)

 

 

"If the feature was already three-dimensional, its previous elevations are wiped out and replaced with the value held in the specified attribute." -- 3DForcer, FME Transformers
Nice one Takashi, didnt catch that ! learnt something new about FME today

Reply